aws-sdk-s3control 1.47.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be9cc5fc7abd5c6f15ca35f4bede07c93029c8de0177749070cd97a6e3419ed0
4
- data.tar.gz: e2b515c9b921a1a8183549cf48bdf7d0f26b33361764de4183cc8e170b5a3b5c
3
+ metadata.gz: 0b85e57e77d22356a25a8e2400e7e68e81a572ce9cdfd9c3b09306dc99f65f79
4
+ data.tar.gz: f58a5b3b3e4837e371c81d3692ecb76dd02e2ca63a63d7f3884061d71909bcd4
5
5
  SHA512:
6
- metadata.gz: 23d0713a7db9da6a6cb2895b2d8c5a414d01749a1e1e08d62b735685e93f218f1186dc1cd1b64fc3a3209cce835bd6424616f999151b3d8ef3f3a4e781ae638a
7
- data.tar.gz: 0c86df3538976a952de01b94522af3bf401e38adee67a21860fa239b159ba02dd3e6f63bc677dee2fb46f939cf59c10945f88f15b3ff119b4c3b6f4178ff4d4f
6
+ metadata.gz: 4f29575d63435a591b5a84796a24397f187ae4c7982f4fbd6b045699fc984230a15cfd606fd9d741686e75216f7557ad5cff915ec9abb7cf1cafede35e7bc391
7
+ data.tar.gz: a821bf167e0c130bb4ee52079046f9c813d2ca80c69fcf3bd90de35b341bce16e50e1786d07ad3106bb49c59b218dc6bc3d2f3621e3f1c4a398cb80db26b400e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.48.0 (2022-02-08)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for S3 Batch Replication. Batch Replication lets you replicate existing objects, already replicated objects to new destinations, and objects that previously failed to replicate. Customers will receive object-level visibility of progress and a detailed completion report.
8
+
4
9
  1.47.0 (2022-02-03)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.48.0
@@ -726,7 +726,7 @@ module Aws::S3Control
726
726
  #
727
727
  #
728
728
  #
729
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
729
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html
730
730
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
731
731
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
732
732
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
@@ -760,7 +760,7 @@ module Aws::S3Control
760
760
  # **A suitable default value is auto-generated.** You should normally
761
761
  # not need to pass this option.**
762
762
  #
763
- # @option params [required, Types::JobManifest] :manifest
763
+ # @option params [Types::JobManifest] :manifest
764
764
  # Configuration parameters for the manifest.
765
765
  #
766
766
  # @option params [String] :description
@@ -781,6 +781,11 @@ module Aws::S3Control
781
781
  # A set of tags to associate with the S3 Batch Operations job. This is
782
782
  # an optional parameter.
783
783
  #
784
+ # @option params [Types::JobManifestGenerator] :manifest_generator
785
+ # The attribute container for the ManifestGenerator details. Jobs must
786
+ # be created with either a manifest file or a ManifestGenerator, but not
787
+ # both.
788
+ #
784
789
  # @return [Types::CreateJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
785
790
  #
786
791
  # * {Types::CreateJobResult#job_id #job_id} => String
@@ -832,7 +837,7 @@ module Aws::S3Control
832
837
  # ],
833
838
  # redirect_location: "NonEmptyMaxLength2048String",
834
839
  # requester_pays: false,
835
- # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
840
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
836
841
  # un_modified_since_constraint: Time.now,
837
842
  # sse_aws_kms_key_id: "KmsKeyArnString",
838
843
  # target_key_prefix: "NonEmptyMaxLength1024String",
@@ -888,6 +893,8 @@ module Aws::S3Control
888
893
  # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
889
894
  # },
890
895
  # },
896
+ # s3_replicate_object: {
897
+ # },
891
898
  # },
892
899
  # report: { # required
893
900
  # bucket: "S3BucketArnString",
@@ -897,7 +904,7 @@ module Aws::S3Control
897
904
  # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
898
905
  # },
899
906
  # client_request_token: "NonEmptyMaxLength64String", # required
900
- # manifest: { # required
907
+ # manifest: {
901
908
  # spec: { # required
902
909
  # format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
903
910
  # fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
@@ -917,6 +924,32 @@ module Aws::S3Control
917
924
  # value: "TagValueString", # required
918
925
  # },
919
926
  # ],
927
+ # manifest_generator: {
928
+ # s3_job_manifest_generator: {
929
+ # expected_bucket_owner: "AccountId",
930
+ # source_bucket: "S3BucketArnString", # required
931
+ # manifest_output_location: {
932
+ # expected_manifest_bucket_owner: "AccountId",
933
+ # bucket: "S3BucketArnString", # required
934
+ # manifest_prefix: "ManifestPrefixString",
935
+ # manifest_encryption: {
936
+ # sses3: {
937
+ # },
938
+ # ssekms: {
939
+ # key_id: "KmsKeyArnString", # required
940
+ # },
941
+ # },
942
+ # manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
943
+ # },
944
+ # filter: {
945
+ # eligible_for_replication: false,
946
+ # created_after: Time.now,
947
+ # created_before: Time.now,
948
+ # object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
949
+ # },
950
+ # enable_manifest_output: false, # required
951
+ # },
952
+ # },
920
953
  # })
921
954
  #
922
955
  # @example Response structure
@@ -1797,7 +1830,7 @@ module Aws::S3Control
1797
1830
  #
1798
1831
  #
1799
1832
  #
1800
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
1833
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html
1801
1834
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
1802
1835
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
1803
1836
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
@@ -1861,7 +1894,7 @@ module Aws::S3Control
1861
1894
  # resp.job.operation.s3_put_object_copy.new_object_tagging[0].value #=> String
1862
1895
  # resp.job.operation.s3_put_object_copy.redirect_location #=> String
1863
1896
  # resp.job.operation.s3_put_object_copy.requester_pays #=> Boolean
1864
- # resp.job.operation.s3_put_object_copy.storage_class #=> String, one of "STANDARD", "STANDARD_IA", "ONEZONE_IA", "GLACIER", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
1897
+ # resp.job.operation.s3_put_object_copy.storage_class #=> String, one of "STANDARD", "STANDARD_IA", "ONEZONE_IA", "GLACIER", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "GLACIER_IR"
1865
1898
  # resp.job.operation.s3_put_object_copy.un_modified_since_constraint #=> Time
1866
1899
  # resp.job.operation.s3_put_object_copy.sse_aws_kms_key_id #=> String
1867
1900
  # resp.job.operation.s3_put_object_copy.target_key_prefix #=> String
@@ -1890,6 +1923,7 @@ module Aws::S3Control
1890
1923
  # resp.job.progress_summary.total_number_of_tasks #=> Integer
1891
1924
  # resp.job.progress_summary.number_of_tasks_succeeded #=> Integer
1892
1925
  # resp.job.progress_summary.number_of_tasks_failed #=> Integer
1926
+ # resp.job.progress_summary.timers.elapsed_time_in_active_seconds #=> Integer
1893
1927
  # resp.job.status_update_reason #=> String
1894
1928
  # resp.job.failure_reasons #=> Array
1895
1929
  # resp.job.failure_reasons[0].failure_code #=> String
@@ -1904,6 +1938,23 @@ module Aws::S3Control
1904
1938
  # resp.job.role_arn #=> String
1905
1939
  # resp.job.suspended_date #=> Time
1906
1940
  # resp.job.suspended_cause #=> String
1941
+ # resp.job.manifest_generator.s3_job_manifest_generator.expected_bucket_owner #=> String
1942
+ # resp.job.manifest_generator.s3_job_manifest_generator.source_bucket #=> String
1943
+ # resp.job.manifest_generator.s3_job_manifest_generator.manifest_output_location.expected_manifest_bucket_owner #=> String
1944
+ # resp.job.manifest_generator.s3_job_manifest_generator.manifest_output_location.bucket #=> String
1945
+ # resp.job.manifest_generator.s3_job_manifest_generator.manifest_output_location.manifest_prefix #=> String
1946
+ # resp.job.manifest_generator.s3_job_manifest_generator.manifest_output_location.manifest_encryption.ssekms.key_id #=> String
1947
+ # resp.job.manifest_generator.s3_job_manifest_generator.manifest_output_location.manifest_format #=> String, one of "S3InventoryReport_CSV_20211130"
1948
+ # resp.job.manifest_generator.s3_job_manifest_generator.filter.eligible_for_replication #=> Boolean
1949
+ # resp.job.manifest_generator.s3_job_manifest_generator.filter.created_after #=> Time
1950
+ # resp.job.manifest_generator.s3_job_manifest_generator.filter.created_before #=> Time
1951
+ # resp.job.manifest_generator.s3_job_manifest_generator.filter.object_replication_statuses #=> Array
1952
+ # resp.job.manifest_generator.s3_job_manifest_generator.filter.object_replication_statuses[0] #=> String, one of "COMPLETED", "FAILED", "REPLICA", "NONE"
1953
+ # resp.job.manifest_generator.s3_job_manifest_generator.enable_manifest_output #=> Boolean
1954
+ # resp.job.generated_manifest_descriptor.format #=> String, one of "S3InventoryReport_CSV_20211130"
1955
+ # resp.job.generated_manifest_descriptor.location.object_arn #=> String
1956
+ # resp.job.generated_manifest_descriptor.location.object_version_id #=> String
1957
+ # resp.job.generated_manifest_descriptor.location.etag #=> String
1907
1958
  #
1908
1959
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob AWS API Documentation
1909
1960
  #
@@ -3277,10 +3328,9 @@ module Aws::S3Control
3277
3328
  req.send_request(options)
3278
3329
  end
3279
3330
 
3280
- # Returns a list of the access points associated with the Object Lambda
3281
- # Access Point. You can retrieve up to 1000 access points per call. If
3282
- # there are more than 1,000 access points (or the number specified in
3283
- # `maxResults`, whichever is less), the response will include a
3331
+ # Returns some or all (up to 1,000) access points associated with the
3332
+ # Object Lambda Access Point per call. If there are more access points
3333
+ # than what can be returned in one call, the response will include a
3284
3334
  # continuation token that you can use to list the additional access
3285
3335
  # points.
3286
3336
  #
@@ -3311,9 +3361,10 @@ module Aws::S3Control
3311
3361
  #
3312
3362
  # @option params [Integer] :max_results
3313
3363
  # The maximum number of access points that you want to include in the
3314
- # list. If there are more than this number of access points, then the
3315
- # response will include a continuation token in the `NextToken` field
3316
- # that you can use to retrieve the next page of access points.
3364
+ # list. The response may contain fewer access points but will never
3365
+ # contain more. If there are more than this number of access points,
3366
+ # then the response will include a continuation token in the `NextToken`
3367
+ # field that you can use to retrieve the next page of access points.
3317
3368
  #
3318
3369
  # @return [Types::ListAccessPointsForObjectLambdaResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3319
3370
  #
@@ -3365,7 +3416,7 @@ module Aws::S3Control
3365
3416
  #
3366
3417
  #
3367
3418
  #
3368
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
3419
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html
3369
3420
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
3370
3421
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
3371
3422
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html
@@ -3412,7 +3463,7 @@ module Aws::S3Control
3412
3463
  # resp.jobs #=> Array
3413
3464
  # resp.jobs[0].job_id #=> String
3414
3465
  # resp.jobs[0].description #=> String
3415
- # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3DeleteObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention"
3466
+ # resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3DeleteObjectTagging", "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention", "S3ReplicateObject"
3416
3467
  # resp.jobs[0].priority #=> Integer
3417
3468
  # resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
3418
3469
  # resp.jobs[0].creation_time #=> Time
@@ -3420,6 +3471,7 @@ module Aws::S3Control
3420
3471
  # resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
3421
3472
  # resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
3422
3473
  # resp.jobs[0].progress_summary.number_of_tasks_failed #=> Integer
3474
+ # resp.jobs[0].progress_summary.timers.elapsed_time_in_active_seconds #=> Integer
3423
3475
  #
3424
3476
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs AWS API Documentation
3425
3477
  #
@@ -4320,8 +4372,9 @@ module Aws::S3Control
4320
4372
  end
4321
4373
 
4322
4374
  # Creates or modifies the `PublicAccessBlock` configuration for an
4323
- # Amazon Web Services account. For more information, see [ Using Amazon
4324
- # S3 block public access][1].
4375
+ # Amazon Web Services account. For this operation, users must have the
4376
+ # `s3:PutBucketPublicAccessBlock` permission. For more information, see
4377
+ # [ Using Amazon S3 block public access][1].
4325
4378
  #
4326
4379
  # Related actions include:
4327
4380
  #
@@ -4549,7 +4602,7 @@ module Aws::S3Control
4549
4602
  #
4550
4603
  #
4551
4604
  #
4552
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
4605
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html
4553
4606
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
4554
4607
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
4555
4608
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
@@ -4611,7 +4664,7 @@ module Aws::S3Control
4611
4664
  #
4612
4665
  #
4613
4666
  #
4614
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html
4667
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html
4615
4668
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html
4616
4669
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html
4617
4670
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html
@@ -4674,7 +4727,7 @@ module Aws::S3Control
4674
4727
  params: params,
4675
4728
  config: config)
4676
4729
  context[:gem_name] = 'aws-sdk-s3control'
4677
- context[:gem_version] = '1.47.0'
4730
+ context[:gem_version] = '1.48.0'
4678
4731
  Seahorse::Client::Request.new(handlers, context)
4679
4732
  end
4680
4733
 
@@ -92,6 +92,8 @@ module Aws::S3Control
92
92
  ExpiredObjectDeleteMarker = Shapes::BooleanShape.new(name: 'ExpiredObjectDeleteMarker')
93
93
  Format = Shapes::StringShape.new(name: 'Format')
94
94
  FunctionArnString = Shapes::StringShape.new(name: 'FunctionArnString')
95
+ GeneratedManifestEncryption = Shapes::StructureShape.new(name: 'GeneratedManifestEncryption')
96
+ GeneratedManifestFormat = Shapes::StringShape.new(name: 'GeneratedManifestFormat')
95
97
  GetAccessPointConfigurationForObjectLambdaRequest = Shapes::StructureShape.new(name: 'GetAccessPointConfigurationForObjectLambdaRequest')
96
98
  GetAccessPointConfigurationForObjectLambdaResult = Shapes::StructureShape.new(name: 'GetAccessPointConfigurationForObjectLambdaResult')
97
99
  GetAccessPointForObjectLambdaRequest = Shapes::StructureShape.new(name: 'GetAccessPointForObjectLambdaRequest')
@@ -156,6 +158,8 @@ module Aws::S3Control
156
158
  JobManifestFieldList = Shapes::ListShape.new(name: 'JobManifestFieldList')
157
159
  JobManifestFieldName = Shapes::StringShape.new(name: 'JobManifestFieldName')
158
160
  JobManifestFormat = Shapes::StringShape.new(name: 'JobManifestFormat')
161
+ JobManifestGenerator = Shapes::UnionShape.new(name: 'JobManifestGenerator')
162
+ JobManifestGeneratorFilter = Shapes::StructureShape.new(name: 'JobManifestGeneratorFilter')
159
163
  JobManifestLocation = Shapes::StructureShape.new(name: 'JobManifestLocation')
160
164
  JobManifestSpec = Shapes::StructureShape.new(name: 'JobManifestSpec')
161
165
  JobNumberOfTasksFailed = Shapes::IntegerShape.new(name: 'JobNumberOfTasksFailed')
@@ -171,6 +175,8 @@ module Aws::S3Control
171
175
  JobStatusList = Shapes::ListShape.new(name: 'JobStatusList')
172
176
  JobStatusUpdateReason = Shapes::StringShape.new(name: 'JobStatusUpdateReason')
173
177
  JobTerminationDate = Shapes::TimestampShape.new(name: 'JobTerminationDate')
178
+ JobTimeInStateSeconds = Shapes::IntegerShape.new(name: 'JobTimeInStateSeconds')
179
+ JobTimers = Shapes::StructureShape.new(name: 'JobTimers')
174
180
  JobTotalNumberOfTasks = Shapes::IntegerShape.new(name: 'JobTotalNumberOfTasks')
175
181
  KmsKeyArnString = Shapes::StringShape.new(name: 'KmsKeyArnString')
176
182
  LambdaInvokeOperation = Shapes::StructureShape.new(name: 'LambdaInvokeOperation')
@@ -194,6 +200,7 @@ module Aws::S3Control
194
200
  ListStorageLensConfigurationsRequest = Shapes::StructureShape.new(name: 'ListStorageLensConfigurationsRequest')
195
201
  ListStorageLensConfigurationsResult = Shapes::StructureShape.new(name: 'ListStorageLensConfigurationsResult')
196
202
  Location = Shapes::StringShape.new(name: 'Location')
203
+ ManifestPrefixString = Shapes::StringShape.new(name: 'ManifestPrefixString')
197
204
  MaxLength1024String = Shapes::StringShape.new(name: 'MaxLength1024String')
198
205
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
199
206
  MinStorageBytesPercentage = Shapes::FloatShape.new(name: 'MinStorageBytesPercentage')
@@ -218,6 +225,7 @@ module Aws::S3Control
218
225
  NoncurrentVersionTransition = Shapes::StructureShape.new(name: 'NoncurrentVersionTransition')
219
226
  NoncurrentVersionTransitionList = Shapes::ListShape.new(name: 'NoncurrentVersionTransitionList')
220
227
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
228
+ ObjectCreationTime = Shapes::TimestampShape.new(name: 'ObjectCreationTime')
221
229
  ObjectLambdaAccessPoint = Shapes::StructureShape.new(name: 'ObjectLambdaAccessPoint')
222
230
  ObjectLambdaAccessPointArn = Shapes::StringShape.new(name: 'ObjectLambdaAccessPointArn')
223
231
  ObjectLambdaAccessPointList = Shapes::ListShape.new(name: 'ObjectLambdaAccessPointList')
@@ -266,6 +274,8 @@ module Aws::S3Control
266
274
  RegionalBucket = Shapes::StructureShape.new(name: 'RegionalBucket')
267
275
  RegionalBucketList = Shapes::ListShape.new(name: 'RegionalBucketList')
268
276
  Regions = Shapes::ListShape.new(name: 'Regions')
277
+ ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
278
+ ReplicationStatusFilterList = Shapes::ListShape.new(name: 'ReplicationStatusFilterList')
269
279
  ReportPrefixString = Shapes::StringShape.new(name: 'ReportPrefixString')
270
280
  RequestedJobStatus = Shapes::StringShape.new(name: 'RequestedJobStatus')
271
281
  S3AWSRegion = Shapes::StringShape.new(name: 'S3AWSRegion')
@@ -279,13 +289,16 @@ module Aws::S3Control
279
289
  S3CopyObjectOperation = Shapes::StructureShape.new(name: 'S3CopyObjectOperation')
280
290
  S3DeleteObjectTaggingOperation = Shapes::StructureShape.new(name: 'S3DeleteObjectTaggingOperation')
281
291
  S3ExpirationInDays = Shapes::IntegerShape.new(name: 'S3ExpirationInDays')
292
+ S3GeneratedManifestDescriptor = Shapes::StructureShape.new(name: 'S3GeneratedManifestDescriptor')
282
293
  S3GlacierJobTier = Shapes::StringShape.new(name: 'S3GlacierJobTier')
283
294
  S3Grant = Shapes::StructureShape.new(name: 'S3Grant')
284
295
  S3GrantList = Shapes::ListShape.new(name: 'S3GrantList')
285
296
  S3Grantee = Shapes::StructureShape.new(name: 'S3Grantee')
286
297
  S3GranteeTypeIdentifier = Shapes::StringShape.new(name: 'S3GranteeTypeIdentifier')
287
298
  S3InitiateRestoreObjectOperation = Shapes::StructureShape.new(name: 'S3InitiateRestoreObjectOperation')
299
+ S3JobManifestGenerator = Shapes::StructureShape.new(name: 'S3JobManifestGenerator')
288
300
  S3KeyArnString = Shapes::StringShape.new(name: 'S3KeyArnString')
301
+ S3ManifestOutputLocation = Shapes::StructureShape.new(name: 'S3ManifestOutputLocation')
289
302
  S3MetadataDirective = Shapes::StringShape.new(name: 'S3MetadataDirective')
290
303
  S3ObjectLockLegalHold = Shapes::StructureShape.new(name: 'S3ObjectLockLegalHold')
291
304
  S3ObjectLockLegalHoldStatus = Shapes::StringShape.new(name: 'S3ObjectLockLegalHoldStatus')
@@ -296,6 +309,7 @@ module Aws::S3Control
296
309
  S3ObjectVersionId = Shapes::StringShape.new(name: 'S3ObjectVersionId')
297
310
  S3Permission = Shapes::StringShape.new(name: 'S3Permission')
298
311
  S3RegionalBucketArn = Shapes::StringShape.new(name: 'S3RegionalBucketArn')
312
+ S3ReplicateObjectOperation = Shapes::StructureShape.new(name: 'S3ReplicateObjectOperation')
299
313
  S3Retention = Shapes::StructureShape.new(name: 'S3Retention')
300
314
  S3SSEAlgorithm = Shapes::StringShape.new(name: 'S3SSEAlgorithm')
301
315
  S3SetObjectAclOperation = Shapes::StructureShape.new(name: 'S3SetObjectAclOperation')
@@ -307,8 +321,10 @@ module Aws::S3Control
307
321
  S3TagSet = Shapes::ListShape.new(name: 'S3TagSet')
308
322
  S3UserMetadata = Shapes::MapShape.new(name: 'S3UserMetadata')
309
323
  SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
324
+ SSEKMSEncryption = Shapes::StructureShape.new(name: 'SSEKMSEncryption')
310
325
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
311
326
  SSES3 = Shapes::StructureShape.new(name: 'SSES3')
327
+ SSES3Encryption = Shapes::StructureShape.new(name: 'SSES3Encryption')
312
328
  SelectionCriteria = Shapes::StructureShape.new(name: 'SelectionCriteria')
313
329
  Setting = Shapes::BooleanShape.new(name: 'Setting')
314
330
  StorageLensArn = Shapes::StringShape.new(name: 'StorageLensArn')
@@ -448,11 +464,12 @@ module Aws::S3Control
448
464
  CreateJobRequest.add_member(:operation, Shapes::ShapeRef.new(shape: JobOperation, required: true, location_name: "Operation"))
449
465
  CreateJobRequest.add_member(:report, Shapes::ShapeRef.new(shape: JobReport, required: true, location_name: "Report"))
450
466
  CreateJobRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: NonEmptyMaxLength64String, required: true, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
451
- CreateJobRequest.add_member(:manifest, Shapes::ShapeRef.new(shape: JobManifest, required: true, location_name: "Manifest"))
467
+ CreateJobRequest.add_member(:manifest, Shapes::ShapeRef.new(shape: JobManifest, location_name: "Manifest"))
452
468
  CreateJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyMaxLength256String, location_name: "Description"))
453
469
  CreateJobRequest.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, required: true, location_name: "Priority", metadata: {"box"=>true}))
454
470
  CreateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "RoleArn"))
455
471
  CreateJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: S3TagSet, location_name: "Tags"))
472
+ CreateJobRequest.add_member(:manifest_generator, Shapes::ShapeRef.new(shape: JobManifestGenerator, location_name: "ManifestGenerator"))
456
473
  CreateJobRequest.struct_class = Types::CreateJobRequest
457
474
 
458
475
  CreateJobResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
@@ -557,6 +574,10 @@ module Aws::S3Control
557
574
  Exclude.add_member(:regions, Shapes::ShapeRef.new(shape: Regions, location_name: "Regions"))
558
575
  Exclude.struct_class = Types::Exclude
559
576
 
577
+ GeneratedManifestEncryption.add_member(:sses3, Shapes::ShapeRef.new(shape: SSES3Encryption, location_name: "SSE-S3"))
578
+ GeneratedManifestEncryption.add_member(:ssekms, Shapes::ShapeRef.new(shape: SSEKMSEncryption, location_name: "SSE-KMS"))
579
+ GeneratedManifestEncryption.struct_class = Types::GeneratedManifestEncryption
580
+
560
581
  GetAccessPointConfigurationForObjectLambdaRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id", metadata: {"hostLabel"=>true, "hostLabelName"=>"AccountId"}))
561
582
  GetAccessPointConfigurationForObjectLambdaRequest.add_member(:name, Shapes::ShapeRef.new(shape: ObjectLambdaAccessPointName, required: true, location: "uri", location_name: "name"))
562
583
  GetAccessPointConfigurationForObjectLambdaRequest.struct_class = Types::GetAccessPointConfigurationForObjectLambdaRequest
@@ -731,6 +752,8 @@ module Aws::S3Control
731
752
  JobDescriptor.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn", metadata: {"box"=>true}))
732
753
  JobDescriptor.add_member(:suspended_date, Shapes::ShapeRef.new(shape: SuspendedDate, location_name: "SuspendedDate", metadata: {"box"=>true}))
733
754
  JobDescriptor.add_member(:suspended_cause, Shapes::ShapeRef.new(shape: SuspendedCause, location_name: "SuspendedCause", metadata: {"box"=>true}))
755
+ JobDescriptor.add_member(:manifest_generator, Shapes::ShapeRef.new(shape: JobManifestGenerator, location_name: "ManifestGenerator"))
756
+ JobDescriptor.add_member(:generated_manifest_descriptor, Shapes::ShapeRef.new(shape: S3GeneratedManifestDescriptor, location_name: "GeneratedManifestDescriptor"))
734
757
  JobDescriptor.struct_class = Types::JobDescriptor
735
758
 
736
759
  JobFailure.add_member(:failure_code, Shapes::ShapeRef.new(shape: JobFailureCode, location_name: "FailureCode"))
@@ -757,6 +780,18 @@ module Aws::S3Control
757
780
 
758
781
  JobManifestFieldList.member = Shapes::ShapeRef.new(shape: JobManifestFieldName)
759
782
 
783
+ JobManifestGenerator.add_member(:s3_job_manifest_generator, Shapes::ShapeRef.new(shape: S3JobManifestGenerator, location_name: "S3JobManifestGenerator"))
784
+ JobManifestGenerator.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
785
+ JobManifestGenerator.add_member_subclass(:s3_job_manifest_generator, Types::JobManifestGenerator::S3JobManifestGenerator)
786
+ JobManifestGenerator.add_member_subclass(:unknown, Types::JobManifestGenerator::Unknown)
787
+ JobManifestGenerator.struct_class = Types::JobManifestGenerator
788
+
789
+ JobManifestGeneratorFilter.add_member(:eligible_for_replication, Shapes::ShapeRef.new(shape: Boolean, location_name: "EligibleForReplication", metadata: {"box"=>true}))
790
+ JobManifestGeneratorFilter.add_member(:created_after, Shapes::ShapeRef.new(shape: ObjectCreationTime, location_name: "CreatedAfter"))
791
+ JobManifestGeneratorFilter.add_member(:created_before, Shapes::ShapeRef.new(shape: ObjectCreationTime, location_name: "CreatedBefore"))
792
+ JobManifestGeneratorFilter.add_member(:object_replication_statuses, Shapes::ShapeRef.new(shape: ReplicationStatusFilterList, location_name: "ObjectReplicationStatuses"))
793
+ JobManifestGeneratorFilter.struct_class = Types::JobManifestGeneratorFilter
794
+
760
795
  JobManifestLocation.add_member(:object_arn, Shapes::ShapeRef.new(shape: S3KeyArnString, required: true, location_name: "ObjectArn"))
761
796
  JobManifestLocation.add_member(:object_version_id, Shapes::ShapeRef.new(shape: S3ObjectVersionId, location_name: "ObjectVersionId", metadata: {"box"=>true}))
762
797
  JobManifestLocation.add_member(:etag, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, required: true, location_name: "ETag"))
@@ -774,11 +809,13 @@ module Aws::S3Control
774
809
  JobOperation.add_member(:s3_initiate_restore_object, Shapes::ShapeRef.new(shape: S3InitiateRestoreObjectOperation, location_name: "S3InitiateRestoreObject", metadata: {"box"=>true}))
775
810
  JobOperation.add_member(:s3_put_object_legal_hold, Shapes::ShapeRef.new(shape: S3SetObjectLegalHoldOperation, location_name: "S3PutObjectLegalHold", metadata: {"box"=>true}))
776
811
  JobOperation.add_member(:s3_put_object_retention, Shapes::ShapeRef.new(shape: S3SetObjectRetentionOperation, location_name: "S3PutObjectRetention", metadata: {"box"=>true}))
812
+ JobOperation.add_member(:s3_replicate_object, Shapes::ShapeRef.new(shape: S3ReplicateObjectOperation, location_name: "S3ReplicateObject", metadata: {"box"=>true}))
777
813
  JobOperation.struct_class = Types::JobOperation
778
814
 
779
815
  JobProgressSummary.add_member(:total_number_of_tasks, Shapes::ShapeRef.new(shape: JobTotalNumberOfTasks, location_name: "TotalNumberOfTasks", metadata: {"box"=>true}))
780
816
  JobProgressSummary.add_member(:number_of_tasks_succeeded, Shapes::ShapeRef.new(shape: JobNumberOfTasksSucceeded, location_name: "NumberOfTasksSucceeded", metadata: {"box"=>true}))
781
817
  JobProgressSummary.add_member(:number_of_tasks_failed, Shapes::ShapeRef.new(shape: JobNumberOfTasksFailed, location_name: "NumberOfTasksFailed", metadata: {"box"=>true}))
818
+ JobProgressSummary.add_member(:timers, Shapes::ShapeRef.new(shape: JobTimers, location_name: "Timers"))
782
819
  JobProgressSummary.struct_class = Types::JobProgressSummary
783
820
 
784
821
  JobReport.add_member(:bucket, Shapes::ShapeRef.new(shape: S3BucketArnString, location_name: "Bucket", metadata: {"box"=>true}))
@@ -793,6 +830,9 @@ module Aws::S3Control
793
830
 
794
831
  JobStatusList.member = Shapes::ShapeRef.new(shape: JobStatus)
795
832
 
833
+ JobTimers.add_member(:elapsed_time_in_active_seconds, Shapes::ShapeRef.new(shape: JobTimeInStateSeconds, location_name: "ElapsedTimeInActiveSeconds", metadata: {"box"=>true}))
834
+ JobTimers.struct_class = Types::JobTimers
835
+
796
836
  LambdaInvokeOperation.add_member(:function_arn, Shapes::ShapeRef.new(shape: FunctionArnString, location_name: "FunctionArn"))
797
837
  LambdaInvokeOperation.struct_class = Types::LambdaInvokeOperation
798
838
 
@@ -1067,6 +1107,8 @@ module Aws::S3Control
1067
1107
 
1068
1108
  Regions.member = Shapes::ShapeRef.new(shape: S3AWSRegion, location_name: "Region")
1069
1109
 
1110
+ ReplicationStatusFilterList.member = Shapes::ShapeRef.new(shape: ReplicationStatus)
1111
+
1070
1112
  S3AccessControlList.add_member(:owner, Shapes::ShapeRef.new(shape: S3ObjectOwner, required: true, location_name: "Owner"))
1071
1113
  S3AccessControlList.add_member(:grants, Shapes::ShapeRef.new(shape: S3GrantList, location_name: "Grants"))
1072
1114
  S3AccessControlList.struct_class = Types::S3AccessControlList
@@ -1104,6 +1146,10 @@ module Aws::S3Control
1104
1146
 
1105
1147
  S3DeleteObjectTaggingOperation.struct_class = Types::S3DeleteObjectTaggingOperation
1106
1148
 
1149
+ S3GeneratedManifestDescriptor.add_member(:format, Shapes::ShapeRef.new(shape: GeneratedManifestFormat, location_name: "Format"))
1150
+ S3GeneratedManifestDescriptor.add_member(:location, Shapes::ShapeRef.new(shape: JobManifestLocation, location_name: "Location"))
1151
+ S3GeneratedManifestDescriptor.struct_class = Types::S3GeneratedManifestDescriptor
1152
+
1107
1153
  S3Grant.add_member(:grantee, Shapes::ShapeRef.new(shape: S3Grantee, location_name: "Grantee"))
1108
1154
  S3Grant.add_member(:permission, Shapes::ShapeRef.new(shape: S3Permission, location_name: "Permission"))
1109
1155
  S3Grant.struct_class = Types::S3Grant
@@ -1119,6 +1165,20 @@ module Aws::S3Control
1119
1165
  S3InitiateRestoreObjectOperation.add_member(:glacier_job_tier, Shapes::ShapeRef.new(shape: S3GlacierJobTier, location_name: "GlacierJobTier"))
1120
1166
  S3InitiateRestoreObjectOperation.struct_class = Types::S3InitiateRestoreObjectOperation
1121
1167
 
1168
+ S3JobManifestGenerator.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location_name: "ExpectedBucketOwner"))
1169
+ S3JobManifestGenerator.add_member(:source_bucket, Shapes::ShapeRef.new(shape: S3BucketArnString, required: true, location_name: "SourceBucket"))
1170
+ S3JobManifestGenerator.add_member(:manifest_output_location, Shapes::ShapeRef.new(shape: S3ManifestOutputLocation, location_name: "ManifestOutputLocation"))
1171
+ S3JobManifestGenerator.add_member(:filter, Shapes::ShapeRef.new(shape: JobManifestGeneratorFilter, location_name: "Filter"))
1172
+ S3JobManifestGenerator.add_member(:enable_manifest_output, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "EnableManifestOutput"))
1173
+ S3JobManifestGenerator.struct_class = Types::S3JobManifestGenerator
1174
+
1175
+ S3ManifestOutputLocation.add_member(:expected_manifest_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location_name: "ExpectedManifestBucketOwner"))
1176
+ S3ManifestOutputLocation.add_member(:bucket, Shapes::ShapeRef.new(shape: S3BucketArnString, required: true, location_name: "Bucket"))
1177
+ S3ManifestOutputLocation.add_member(:manifest_prefix, Shapes::ShapeRef.new(shape: ManifestPrefixString, location_name: "ManifestPrefix"))
1178
+ S3ManifestOutputLocation.add_member(:manifest_encryption, Shapes::ShapeRef.new(shape: GeneratedManifestEncryption, location_name: "ManifestEncryption"))
1179
+ S3ManifestOutputLocation.add_member(:manifest_format, Shapes::ShapeRef.new(shape: GeneratedManifestFormat, required: true, location_name: "ManifestFormat"))
1180
+ S3ManifestOutputLocation.struct_class = Types::S3ManifestOutputLocation
1181
+
1122
1182
  S3ObjectLockLegalHold.add_member(:status, Shapes::ShapeRef.new(shape: S3ObjectLockLegalHoldStatus, required: true, location_name: "Status"))
1123
1183
  S3ObjectLockLegalHold.struct_class = Types::S3ObjectLockLegalHold
1124
1184
 
@@ -1139,6 +1199,8 @@ module Aws::S3Control
1139
1199
  S3ObjectOwner.add_member(:display_name, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "DisplayName"))
1140
1200
  S3ObjectOwner.struct_class = Types::S3ObjectOwner
1141
1201
 
1202
+ S3ReplicateObjectOperation.struct_class = Types::S3ReplicateObjectOperation
1203
+
1142
1204
  S3Retention.add_member(:retain_until_date, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "RetainUntilDate"))
1143
1205
  S3Retention.add_member(:mode, Shapes::ShapeRef.new(shape: S3ObjectLockRetentionMode, location_name: "Mode"))
1144
1206
  S3Retention.struct_class = Types::S3Retention
@@ -1168,8 +1230,13 @@ module Aws::S3Control
1168
1230
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
1169
1231
  SSEKMS.struct_class = Types::SSEKMS
1170
1232
 
1233
+ SSEKMSEncryption.add_member(:key_id, Shapes::ShapeRef.new(shape: KmsKeyArnString, required: true, location_name: "KeyId"))
1234
+ SSEKMSEncryption.struct_class = Types::SSEKMSEncryption
1235
+
1171
1236
  SSES3.struct_class = Types::SSES3
1172
1237
 
1238
+ SSES3Encryption.struct_class = Types::SSES3Encryption
1239
+
1173
1240
  SelectionCriteria.add_member(:delimiter, Shapes::ShapeRef.new(shape: StorageLensPrefixLevelDelimiter, location_name: "Delimiter"))
1174
1241
  SelectionCriteria.add_member(:max_depth, Shapes::ShapeRef.new(shape: StorageLensPrefixLevelMaxDepth, location_name: "MaxDepth"))
1175
1242
  SelectionCriteria.add_member(:min_storage_bytes_percentage, Shapes::ShapeRef.new(shape: MinStorageBytesPercentage, location_name: "MinStorageBytesPercentage"))
@@ -777,7 +777,7 @@ module Aws::S3Control
777
777
  # ],
778
778
  # redirect_location: "NonEmptyMaxLength2048String",
779
779
  # requester_pays: false,
780
- # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
780
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
781
781
  # un_modified_since_constraint: Time.now,
782
782
  # sse_aws_kms_key_id: "KmsKeyArnString",
783
783
  # target_key_prefix: "NonEmptyMaxLength1024String",
@@ -833,6 +833,8 @@ module Aws::S3Control
833
833
  # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
834
834
  # },
835
835
  # },
836
+ # s3_replicate_object: {
837
+ # },
836
838
  # },
837
839
  # report: { # required
838
840
  # bucket: "S3BucketArnString",
@@ -842,7 +844,7 @@ module Aws::S3Control
842
844
  # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
843
845
  # },
844
846
  # client_request_token: "NonEmptyMaxLength64String", # required
845
- # manifest: { # required
847
+ # manifest: {
846
848
  # spec: { # required
847
849
  # format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
848
850
  # fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
@@ -862,6 +864,32 @@ module Aws::S3Control
862
864
  # value: "TagValueString", # required
863
865
  # },
864
866
  # ],
867
+ # manifest_generator: {
868
+ # s3_job_manifest_generator: {
869
+ # expected_bucket_owner: "AccountId",
870
+ # source_bucket: "S3BucketArnString", # required
871
+ # manifest_output_location: {
872
+ # expected_manifest_bucket_owner: "AccountId",
873
+ # bucket: "S3BucketArnString", # required
874
+ # manifest_prefix: "ManifestPrefixString",
875
+ # manifest_encryption: {
876
+ # sses3: {
877
+ # },
878
+ # ssekms: {
879
+ # key_id: "KmsKeyArnString", # required
880
+ # },
881
+ # },
882
+ # manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
883
+ # },
884
+ # filter: {
885
+ # eligible_for_replication: false,
886
+ # created_after: Time.now,
887
+ # created_before: Time.now,
888
+ # object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
889
+ # },
890
+ # enable_manifest_output: false, # required
891
+ # },
892
+ # },
865
893
  # }
866
894
  #
867
895
  # @!attribute [rw] account_id
@@ -923,6 +951,12 @@ module Aws::S3Control
923
951
  # an optional parameter.
924
952
  # @return [Array<Types::S3Tag>]
925
953
  #
954
+ # @!attribute [rw] manifest_generator
955
+ # The attribute container for the ManifestGenerator details. Jobs must
956
+ # be created with either a manifest file or a ManifestGenerator, but
957
+ # not both.
958
+ # @return [Types::JobManifestGenerator]
959
+ #
926
960
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
927
961
  #
928
962
  class CreateJobRequest < Struct.new(
@@ -935,7 +969,8 @@ module Aws::S3Control
935
969
  :description,
936
970
  :priority,
937
971
  :role_arn,
938
- :tags)
972
+ :tags,
973
+ :manifest_generator)
939
974
  SENSITIVE = []
940
975
  include Aws::Structure
941
976
  end
@@ -1681,6 +1716,38 @@ module Aws::S3Control
1681
1716
  include Aws::Structure
1682
1717
  end
1683
1718
 
1719
+ # The encryption configuration to use when storing the generated
1720
+ # manifest.
1721
+ #
1722
+ # @note When making an API call, you may pass GeneratedManifestEncryption
1723
+ # data as a hash:
1724
+ #
1725
+ # {
1726
+ # sses3: {
1727
+ # },
1728
+ # ssekms: {
1729
+ # key_id: "KmsKeyArnString", # required
1730
+ # },
1731
+ # }
1732
+ #
1733
+ # @!attribute [rw] sses3
1734
+ # Specifies the use of SSE-S3 to encrypt generated manifest objects.
1735
+ # @return [Types::SSES3Encryption]
1736
+ #
1737
+ # @!attribute [rw] ssekms
1738
+ # Configuration details on how SSE-KMS is used to encrypt generated
1739
+ # manifest objects.
1740
+ # @return [Types::SSEKMSEncryption]
1741
+ #
1742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GeneratedManifestEncryption AWS API Documentation
1743
+ #
1744
+ class GeneratedManifestEncryption < Struct.new(
1745
+ :sses3,
1746
+ :ssekms)
1747
+ SENSITIVE = []
1748
+ include Aws::Structure
1749
+ end
1750
+
1684
1751
  # @note When making an API call, you may pass GetAccessPointConfigurationForObjectLambdaRequest
1685
1752
  # data as a hash:
1686
1753
  #
@@ -2715,6 +2782,16 @@ module Aws::S3Control
2715
2782
  # automatically exits the `Suspended` state.
2716
2783
  # @return [String]
2717
2784
  #
2785
+ # @!attribute [rw] manifest_generator
2786
+ # The manifest generator that was used to generate a job manifest for
2787
+ # this job.
2788
+ # @return [Types::JobManifestGenerator]
2789
+ #
2790
+ # @!attribute [rw] generated_manifest_descriptor
2791
+ # The attribute of the JobDescriptor containing details about the
2792
+ # job's generated manifest.
2793
+ # @return [Types::S3GeneratedManifestDescriptor]
2794
+ #
2718
2795
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobDescriptor AWS API Documentation
2719
2796
  #
2720
2797
  class JobDescriptor < Struct.new(
@@ -2734,7 +2811,9 @@ module Aws::S3Control
2734
2811
  :termination_date,
2735
2812
  :role_arn,
2736
2813
  :suspended_date,
2737
- :suspended_cause)
2814
+ :suspended_cause,
2815
+ :manifest_generator,
2816
+ :generated_manifest_descriptor)
2738
2817
  SENSITIVE = []
2739
2818
  include Aws::Structure
2740
2819
  end
@@ -2851,6 +2930,73 @@ module Aws::S3Control
2851
2930
  include Aws::Structure
2852
2931
  end
2853
2932
 
2933
+ # Configures the type of the job's ManifestGenerator.
2934
+ #
2935
+ # @note JobManifestGenerator is a union - when making an API calls you must set exactly one of the members.
2936
+ #
2937
+ # @note JobManifestGenerator is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of JobManifestGenerator corresponding to the set member.
2938
+ #
2939
+ # @!attribute [rw] s3_job_manifest_generator
2940
+ # The S3 job ManifestGenerator's configuration details.
2941
+ # @return [Types::S3JobManifestGenerator]
2942
+ #
2943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestGenerator AWS API Documentation
2944
+ #
2945
+ class JobManifestGenerator < Struct.new(
2946
+ :s3_job_manifest_generator,
2947
+ :unknown)
2948
+ SENSITIVE = []
2949
+ include Aws::Structure
2950
+ include Aws::Structure::Union
2951
+
2952
+ class S3JobManifestGenerator < JobManifestGenerator; end
2953
+ class Unknown < JobManifestGenerator; end
2954
+ end
2955
+
2956
+ # The filter used to describe a set of objects for the job's manifest.
2957
+ #
2958
+ # @note When making an API call, you may pass JobManifestGeneratorFilter
2959
+ # data as a hash:
2960
+ #
2961
+ # {
2962
+ # eligible_for_replication: false,
2963
+ # created_after: Time.now,
2964
+ # created_before: Time.now,
2965
+ # object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
2966
+ # }
2967
+ #
2968
+ # @!attribute [rw] eligible_for_replication
2969
+ # Include objects in the generated manifest only if they are eligible
2970
+ # for replication according to the Replication configuration on the
2971
+ # source bucket.
2972
+ # @return [Boolean]
2973
+ #
2974
+ # @!attribute [rw] created_after
2975
+ # If provided, the generated manifest should include only source
2976
+ # bucket objects that were created after this time.
2977
+ # @return [Time]
2978
+ #
2979
+ # @!attribute [rw] created_before
2980
+ # If provided, the generated manifest should include only source
2981
+ # bucket objects that were created before this time.
2982
+ # @return [Time]
2983
+ #
2984
+ # @!attribute [rw] object_replication_statuses
2985
+ # If provided, the generated manifest should include only source
2986
+ # bucket objects that have one of the specified Replication statuses.
2987
+ # @return [Array<String>]
2988
+ #
2989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestGeneratorFilter AWS API Documentation
2990
+ #
2991
+ class JobManifestGeneratorFilter < Struct.new(
2992
+ :eligible_for_replication,
2993
+ :created_after,
2994
+ :created_before,
2995
+ :object_replication_statuses)
2996
+ SENSITIVE = []
2997
+ include Aws::Structure
2998
+ end
2999
+
2854
3000
  # Contains the information required to locate a manifest object.
2855
3001
  #
2856
3002
  # @note When making an API call, you may pass JobManifestLocation
@@ -2977,7 +3123,7 @@ module Aws::S3Control
2977
3123
  # ],
2978
3124
  # redirect_location: "NonEmptyMaxLength2048String",
2979
3125
  # requester_pays: false,
2980
- # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
3126
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
2981
3127
  # un_modified_since_constraint: Time.now,
2982
3128
  # sse_aws_kms_key_id: "KmsKeyArnString",
2983
3129
  # target_key_prefix: "NonEmptyMaxLength1024String",
@@ -3033,6 +3179,8 @@ module Aws::S3Control
3033
3179
  # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
3034
3180
  # },
3035
3181
  # },
3182
+ # s3_replicate_object: {
3183
+ # },
3036
3184
  # }
3037
3185
  #
3038
3186
  # @!attribute [rw] lambda_invoke
@@ -3089,6 +3237,11 @@ module Aws::S3Control
3089
3237
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
3090
3238
  # @return [Types::S3SetObjectRetentionOperation]
3091
3239
  #
3240
+ # @!attribute [rw] s3_replicate_object
3241
+ # Directs the specified job to invoke `ReplicateObject` on every
3242
+ # object in the job's manifest.
3243
+ # @return [Types::S3ReplicateObjectOperation]
3244
+ #
3092
3245
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
3093
3246
  #
3094
3247
  class JobOperation < Struct.new(
@@ -3099,7 +3252,8 @@ module Aws::S3Control
3099
3252
  :s3_delete_object_tagging,
3100
3253
  :s3_initiate_restore_object,
3101
3254
  :s3_put_object_legal_hold,
3102
- :s3_put_object_retention)
3255
+ :s3_put_object_retention,
3256
+ :s3_replicate_object)
3103
3257
  SENSITIVE = []
3104
3258
  include Aws::Structure
3105
3259
  end
@@ -3117,12 +3271,17 @@ module Aws::S3Control
3117
3271
  # @!attribute [rw] number_of_tasks_failed
3118
3272
  # @return [Integer]
3119
3273
  #
3274
+ # @!attribute [rw] timers
3275
+ # The JobTimers attribute of a job's progress summary.
3276
+ # @return [Types::JobTimers]
3277
+ #
3120
3278
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobProgressSummary AWS API Documentation
3121
3279
  #
3122
3280
  class JobProgressSummary < Struct.new(
3123
3281
  :total_number_of_tasks,
3124
3282
  :number_of_tasks_succeeded,
3125
- :number_of_tasks_failed)
3283
+ :number_of_tasks_failed,
3284
+ :timers)
3126
3285
  SENSITIVE = []
3127
3286
  include Aws::Structure
3128
3287
  end
@@ -3188,6 +3347,21 @@ module Aws::S3Control
3188
3347
  include Aws::Structure
3189
3348
  end
3190
3349
 
3350
+ # Provides timing details for the job.
3351
+ #
3352
+ # @!attribute [rw] elapsed_time_in_active_seconds
3353
+ # Indicates the elapsed time in seconds the job has been in the Active
3354
+ # job state.
3355
+ # @return [Integer]
3356
+ #
3357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobTimers AWS API Documentation
3358
+ #
3359
+ class JobTimers < Struct.new(
3360
+ :elapsed_time_in_active_seconds)
3361
+ SENSITIVE = []
3362
+ include Aws::Structure
3363
+ end
3364
+
3191
3365
  # Contains the configuration parameters for a `Lambda Invoke` operation.
3192
3366
  #
3193
3367
  # @note When making an API call, you may pass LambdaInvokeOperation
@@ -3547,9 +3721,11 @@ module Aws::S3Control
3547
3721
  #
3548
3722
  # @!attribute [rw] max_results
3549
3723
  # The maximum number of access points that you want to include in the
3550
- # list. If there are more than this number of access points, then the
3551
- # response will include a continuation token in the `NextToken` field
3552
- # that you can use to retrieve the next page of access points.
3724
+ # list. The response may contain fewer access points but will never
3725
+ # contain more. If there are more than this number of access points,
3726
+ # then the response will include a continuation token in the
3727
+ # `NextToken` field that you can use to retrieve the next page of
3728
+ # access points.
3553
3729
  # @return [Integer]
3554
3730
  #
3555
3731
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambdaRequest AWS API Documentation
@@ -5331,7 +5507,7 @@ module Aws::S3Control
5331
5507
  # ],
5332
5508
  # redirect_location: "NonEmptyMaxLength2048String",
5333
5509
  # requester_pays: false,
5334
- # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
5510
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
5335
5511
  # un_modified_since_constraint: Time.now,
5336
5512
  # sse_aws_kms_key_id: "KmsKeyArnString",
5337
5513
  # target_key_prefix: "NonEmptyMaxLength1024String",
@@ -5361,6 +5537,10 @@ module Aws::S3Control
5361
5537
  # @return [Time]
5362
5538
  #
5363
5539
  # @!attribute [rw] new_object_metadata
5540
+ # If you don't provide this parameter, Amazon S3 copies all the
5541
+ # metadata from the original objects. If you specify an empty set, the
5542
+ # new objects will have no tags. Otherwise, Amazon S3 assigns the
5543
+ # supplied tags to the new objects.
5364
5544
  # @return [Types::S3ObjectMetadata]
5365
5545
  #
5366
5546
  # @!attribute [rw] new_object_tagging
@@ -5450,6 +5630,27 @@ module Aws::S3Control
5450
5630
  #
5451
5631
  class S3DeleteObjectTaggingOperation < Aws::EmptyStructure; end
5452
5632
 
5633
+ # Describes the specified job's generated manifest. Batch Operations
5634
+ # jobs created with a ManifestGenerator populate details of this
5635
+ # descriptor after execution of the ManifestGenerator.
5636
+ #
5637
+ # @!attribute [rw] format
5638
+ # The format of the generated manifest.
5639
+ # @return [String]
5640
+ #
5641
+ # @!attribute [rw] location
5642
+ # Contains the information required to locate a manifest object.
5643
+ # @return [Types::JobManifestLocation]
5644
+ #
5645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3GeneratedManifestDescriptor AWS API Documentation
5646
+ #
5647
+ class S3GeneratedManifestDescriptor < Struct.new(
5648
+ :format,
5649
+ :location)
5650
+ SENSITIVE = []
5651
+ include Aws::Structure
5652
+ end
5653
+
5453
5654
  # @note When making an API call, you may pass S3Grant
5454
5655
  # data as a hash:
5455
5656
  #
@@ -5523,11 +5724,10 @@ module Aws::S3Control
5523
5724
  # }
5524
5725
  #
5525
5726
  # @!attribute [rw] expiration_in_days
5526
- # This argument specifies how long the S3 Glacier Flexible Retrieval
5527
- # or S3 Glacier Deep Archive object remains available in Amazon S3. S3
5528
- # Initiate Restore Object jobs that target S3 Glacier Flexible
5529
- # Retrieval and S3 Glacier Deep Archive objects require
5530
- # `ExpirationInDays` set to 1 or greater.
5727
+ # This argument specifies how long the S3 Glacier or S3 Glacier Deep
5728
+ # Archive object remains available in Amazon S3. S3 Initiate Restore
5729
+ # Object jobs that target S3 Glacier and S3 Glacier Deep Archive
5730
+ # objects require `ExpirationInDays` set to 1 or greater.
5531
5731
  #
5532
5732
  # Conversely, do *not* set `ExpirationInDays` when creating S3
5533
5733
  # Initiate Restore Object jobs that target S3 Intelligent-Tiering
@@ -5536,8 +5736,8 @@ module Aws::S3Control
5536
5736
  # expiry, so specifying `ExpirationInDays` results in restore request
5537
5737
  # failure.
5538
5738
  #
5539
- # S3 Batch Operations jobs can operate either on S3 Glacier Flexible
5540
- # Retrieval and S3 Glacier Deep Archive storage class objects or on S3
5739
+ # S3 Batch Operations jobs can operate either on S3 Glacier and S3
5740
+ # Glacier Deep Archive storage class objects or on S3
5541
5741
  # Intelligent-Tiering Archive Access and Deep Archive Access storage
5542
5742
  # tier objects, but not both types in the same job. If you need to
5543
5743
  # restore objects of both types you *must* create separate Batch
@@ -5558,6 +5758,128 @@ module Aws::S3Control
5558
5758
  include Aws::Structure
5559
5759
  end
5560
5760
 
5761
+ # The container for the service that will create the S3 manifest.
5762
+ #
5763
+ # @note When making an API call, you may pass S3JobManifestGenerator
5764
+ # data as a hash:
5765
+ #
5766
+ # {
5767
+ # expected_bucket_owner: "AccountId",
5768
+ # source_bucket: "S3BucketArnString", # required
5769
+ # manifest_output_location: {
5770
+ # expected_manifest_bucket_owner: "AccountId",
5771
+ # bucket: "S3BucketArnString", # required
5772
+ # manifest_prefix: "ManifestPrefixString",
5773
+ # manifest_encryption: {
5774
+ # sses3: {
5775
+ # },
5776
+ # ssekms: {
5777
+ # key_id: "KmsKeyArnString", # required
5778
+ # },
5779
+ # },
5780
+ # manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
5781
+ # },
5782
+ # filter: {
5783
+ # eligible_for_replication: false,
5784
+ # created_after: Time.now,
5785
+ # created_before: Time.now,
5786
+ # object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
5787
+ # },
5788
+ # enable_manifest_output: false, # required
5789
+ # }
5790
+ #
5791
+ # @!attribute [rw] expected_bucket_owner
5792
+ # The Amazon Web Services account ID that owns the bucket the
5793
+ # generated manifest is written to. If provided the generated manifest
5794
+ # bucket's owner Amazon Web Services account ID must match this
5795
+ # value, else the job fails.
5796
+ # @return [String]
5797
+ #
5798
+ # @!attribute [rw] source_bucket
5799
+ # The source bucket used by the ManifestGenerator.
5800
+ # @return [String]
5801
+ #
5802
+ # @!attribute [rw] manifest_output_location
5803
+ # Specifies the location the generated manifest will be written to.
5804
+ # @return [Types::S3ManifestOutputLocation]
5805
+ #
5806
+ # @!attribute [rw] filter
5807
+ # Specifies rules the S3JobManifestGenerator should use to use to
5808
+ # decide whether an object in the source bucket should or should not
5809
+ # be included in the generated job manifest.
5810
+ # @return [Types::JobManifestGeneratorFilter]
5811
+ #
5812
+ # @!attribute [rw] enable_manifest_output
5813
+ # Determines whether or not to write the job's generated manifest to
5814
+ # a bucket.
5815
+ # @return [Boolean]
5816
+ #
5817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3JobManifestGenerator AWS API Documentation
5818
+ #
5819
+ class S3JobManifestGenerator < Struct.new(
5820
+ :expected_bucket_owner,
5821
+ :source_bucket,
5822
+ :manifest_output_location,
5823
+ :filter,
5824
+ :enable_manifest_output)
5825
+ SENSITIVE = []
5826
+ include Aws::Structure
5827
+ end
5828
+
5829
+ # Location details for where the generated manifest should be written.
5830
+ #
5831
+ # @note When making an API call, you may pass S3ManifestOutputLocation
5832
+ # data as a hash:
5833
+ #
5834
+ # {
5835
+ # expected_manifest_bucket_owner: "AccountId",
5836
+ # bucket: "S3BucketArnString", # required
5837
+ # manifest_prefix: "ManifestPrefixString",
5838
+ # manifest_encryption: {
5839
+ # sses3: {
5840
+ # },
5841
+ # ssekms: {
5842
+ # key_id: "KmsKeyArnString", # required
5843
+ # },
5844
+ # },
5845
+ # manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
5846
+ # }
5847
+ #
5848
+ # @!attribute [rw] expected_manifest_bucket_owner
5849
+ # The Account ID that owns the bucket the generated manifest is
5850
+ # written to.
5851
+ # @return [String]
5852
+ #
5853
+ # @!attribute [rw] bucket
5854
+ # The bucket ARN the generated manifest should be written to.
5855
+ # @return [String]
5856
+ #
5857
+ # @!attribute [rw] manifest_prefix
5858
+ # Prefix identifying one or more objects to which the manifest
5859
+ # applies.
5860
+ # @return [String]
5861
+ #
5862
+ # @!attribute [rw] manifest_encryption
5863
+ # Specifies what encryption should be used when the generated manifest
5864
+ # objects are written.
5865
+ # @return [Types::GeneratedManifestEncryption]
5866
+ #
5867
+ # @!attribute [rw] manifest_format
5868
+ # The format of the generated manifest.
5869
+ # @return [String]
5870
+ #
5871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ManifestOutputLocation AWS API Documentation
5872
+ #
5873
+ class S3ManifestOutputLocation < Struct.new(
5874
+ :expected_manifest_bucket_owner,
5875
+ :bucket,
5876
+ :manifest_prefix,
5877
+ :manifest_encryption,
5878
+ :manifest_format)
5879
+ SENSITIVE = []
5880
+ include Aws::Structure
5881
+ end
5882
+
5561
5883
  # Whether S3 Object Lock legal hold will be applied to objects in an S3
5562
5884
  # Batch Operations job.
5563
5885
  #
@@ -5674,6 +5996,15 @@ module Aws::S3Control
5674
5996
  include Aws::Structure
5675
5997
  end
5676
5998
 
5999
+ # Directs the specified job to invoke `ReplicateObject` on every object
6000
+ # in the job's manifest.
6001
+ #
6002
+ # @api private
6003
+ #
6004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ReplicateObjectOperation AWS API Documentation
6005
+ #
6006
+ class S3ReplicateObjectOperation < Aws::EmptyStructure; end
6007
+
5677
6008
  # Contains the S3 Object Lock retention mode to be applied to all
5678
6009
  # objects in the S3 Batch Operations job. If you don't provide `Mode`
5679
6010
  # and `RetainUntilDate` data types in your operation, you will remove
@@ -5913,12 +6244,45 @@ module Aws::S3Control
5913
6244
  include Aws::Structure
5914
6245
  end
5915
6246
 
6247
+ # Configuration for the use of SSE-KMS to encrypt generated manifest
6248
+ # objects.
6249
+ #
6250
+ # @note When making an API call, you may pass SSEKMSEncryption
6251
+ # data as a hash:
6252
+ #
6253
+ # {
6254
+ # key_id: "KmsKeyArnString", # required
6255
+ # }
6256
+ #
6257
+ # @!attribute [rw] key_id
6258
+ # Specifies the ID of the Amazon Web Services Key Management Service
6259
+ # (Amazon Web Services KMS) symmetric customer managed key to use for
6260
+ # encrypting generated manifest objects.
6261
+ # @return [String]
6262
+ #
6263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSEKMSEncryption AWS API Documentation
6264
+ #
6265
+ class SSEKMSEncryption < Struct.new(
6266
+ :key_id)
6267
+ SENSITIVE = []
6268
+ include Aws::Structure
6269
+ end
6270
+
5916
6271
  # @api private
5917
6272
  #
5918
6273
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3 AWS API Documentation
5919
6274
  #
5920
6275
  class SSES3 < Aws::EmptyStructure; end
5921
6276
 
6277
+ # Configuration for the use of SSE-S3 to encrypt generated manifest
6278
+ # objects.
6279
+ #
6280
+ # @api private
6281
+ #
6282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3Encryption AWS API Documentation
6283
+ #
6284
+ class SSES3Encryption < Aws::EmptyStructure; end
6285
+
5922
6286
  # @note When making an API call, you may pass SelectionCriteria
5923
6287
  # data as a hash:
5924
6288
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-s3control/customizations'
48
48
  # @!group service
49
49
  module Aws::S3Control
50
50
 
51
- GEM_VERSION = '1.47.0'
51
+ GEM_VERSION = '1.48.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3control
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.47.0
4
+ version: 1.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-03 00:00:00.000000000 Z
11
+ date: 2022-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sigv4