aws-sdk-s3control 1.13.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,38 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3Control
9
+
10
+ # When S3Control returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::S3Control::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all S3Control errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::S3Control::Errors::ServiceError
18
+ # # rescues all S3Control API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {BadRequestException}
29
+ # * {IdempotencyException}
30
+ # * {InternalServiceException}
31
+ # * {InvalidNextTokenException}
32
+ # * {InvalidRequestException}
33
+ # * {JobStatusException}
34
+ # * {NoSuchPublicAccessBlockConfiguration}
35
+ # * {NotFoundException}
36
+ # * {TooManyRequestsException}
37
+ # * {TooManyTagsException}
38
+ #
39
+ # Additionally, error classes are dynamically generated for service errors based on the error code
40
+ # if they are not defined above.
9
41
  module Errors
10
42
 
11
43
  extend Aws::Errors::DynamicErrors
@@ -23,7 +55,6 @@ module Aws::S3Control
23
55
  def message
24
56
  @message || @data[:message]
25
57
  end
26
-
27
58
  end
28
59
 
29
60
  class IdempotencyException < ServiceError
@@ -39,7 +70,6 @@ module Aws::S3Control
39
70
  def message
40
71
  @message || @data[:message]
41
72
  end
42
-
43
73
  end
44
74
 
45
75
  class InternalServiceException < ServiceError
@@ -55,7 +85,6 @@ module Aws::S3Control
55
85
  def message
56
86
  @message || @data[:message]
57
87
  end
58
-
59
88
  end
60
89
 
61
90
  class InvalidNextTokenException < ServiceError
@@ -71,7 +100,6 @@ module Aws::S3Control
71
100
  def message
72
101
  @message || @data[:message]
73
102
  end
74
-
75
103
  end
76
104
 
77
105
  class InvalidRequestException < ServiceError
@@ -87,7 +115,6 @@ module Aws::S3Control
87
115
  def message
88
116
  @message || @data[:message]
89
117
  end
90
-
91
118
  end
92
119
 
93
120
  class JobStatusException < ServiceError
@@ -103,7 +130,6 @@ module Aws::S3Control
103
130
  def message
104
131
  @message || @data[:message]
105
132
  end
106
-
107
133
  end
108
134
 
109
135
  class NoSuchPublicAccessBlockConfiguration < ServiceError
@@ -119,7 +145,6 @@ module Aws::S3Control
119
145
  def message
120
146
  @message || @data[:message]
121
147
  end
122
-
123
148
  end
124
149
 
125
150
  class NotFoundException < ServiceError
@@ -135,7 +160,6 @@ module Aws::S3Control
135
160
  def message
136
161
  @message || @data[:message]
137
162
  end
138
-
139
163
  end
140
164
 
141
165
  class TooManyRequestsException < ServiceError
@@ -151,7 +175,21 @@ module Aws::S3Control
151
175
  def message
152
176
  @message || @data[:message]
153
177
  end
178
+ end
179
+
180
+ class TooManyTagsException < ServiceError
154
181
 
182
+ # @param [Seahorse::Client::RequestContext] context
183
+ # @param [String] message
184
+ # @param [Aws::S3Control::Types::TooManyTagsException] data
185
+ def initialize(context, message, data = Aws::EmptyStructure.new)
186
+ super(context, message, data)
187
+ end
188
+
189
+ # @return [String]
190
+ def message
191
+ @message || @data[:message]
192
+ end
155
193
  end
156
194
 
157
195
  end
@@ -15,6 +15,8 @@ module Aws
15
15
  end
16
16
 
17
17
  option(:sigv4_region) do |cfg|
18
+ raise Aws::Errors::MissingRegionError if cfg.region.nil?
19
+
18
20
  Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3')
19
21
  end
20
22
 
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3Control
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,40 @@
8
8
  module Aws::S3Control
9
9
  module Types
10
10
 
11
+ # An access point used to access a bucket.
12
+ #
13
+ # @!attribute [rw] name
14
+ # The name of this access point.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] network_origin
18
+ # Indicates whether this access point allows access from the public
19
+ # internet. If `VpcConfiguration` is specified for this access point,
20
+ # then `NetworkOrigin` is `VPC`, and the access point doesn't allow
21
+ # access from the public internet. Otherwise, `NetworkOrigin` is
22
+ # `Internet`, and the access point allows access from the public
23
+ # internet, subject to the access point and bucket access policies.
24
+ # @return [String]
25
+ #
26
+ # @!attribute [rw] vpc_configuration
27
+ # The virtual private cloud (VPC) configuration for this access point,
28
+ # if one exists.
29
+ # @return [Types::VpcConfiguration]
30
+ #
31
+ # @!attribute [rw] bucket
32
+ # The name of the bucket associated with this access point.
33
+ # @return [String]
34
+ #
35
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessPoint AWS API Documentation
36
+ #
37
+ class AccessPoint < Struct.new(
38
+ :name,
39
+ :network_origin,
40
+ :vpc_configuration,
41
+ :bucket)
42
+ include Aws::Structure
43
+ end
44
+
11
45
  # @!attribute [rw] message
12
46
  # @return [String]
13
47
  #
@@ -18,6 +52,66 @@ module Aws::S3Control
18
52
  include Aws::Structure
19
53
  end
20
54
 
55
+ # @note When making an API call, you may pass CreateAccessPointRequest
56
+ # data as a hash:
57
+ #
58
+ # {
59
+ # account_id: "AccountId", # required
60
+ # name: "AccessPointName", # required
61
+ # bucket: "BucketName", # required
62
+ # vpc_configuration: {
63
+ # vpc_id: "VpcId", # required
64
+ # },
65
+ # public_access_block_configuration: {
66
+ # block_public_acls: false,
67
+ # ignore_public_acls: false,
68
+ # block_public_policy: false,
69
+ # restrict_public_buckets: false,
70
+ # },
71
+ # }
72
+ #
73
+ # @!attribute [rw] account_id
74
+ # The AWS account ID for the owner of the bucket for which you want to
75
+ # create an access point.
76
+ # @return [String]
77
+ #
78
+ # @!attribute [rw] name
79
+ # The name you want to assign to this access point.
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] bucket
83
+ # The name of the bucket that you want to associate this access point
84
+ # with.
85
+ # @return [String]
86
+ #
87
+ # @!attribute [rw] vpc_configuration
88
+ # If you include this field, Amazon S3 restricts access to this access
89
+ # point to requests from the specified virtual private cloud (VPC).
90
+ # @return [Types::VpcConfiguration]
91
+ #
92
+ # @!attribute [rw] public_access_block_configuration
93
+ # The `PublicAccessBlock` configuration that you want to apply to this
94
+ # Amazon S3 bucket. You can enable the configuration options in any
95
+ # combination. For more information about when Amazon S3 considers a
96
+ # bucket or object public, see [The Meaning of "Public"][1] in the
97
+ # Amazon Simple Storage Service Developer Guide.
98
+ #
99
+ #
100
+ #
101
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
102
+ # @return [Types::PublicAccessBlockConfiguration]
103
+ #
104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointRequest AWS API Documentation
105
+ #
106
+ class CreateAccessPointRequest < Struct.new(
107
+ :account_id,
108
+ :name,
109
+ :bucket,
110
+ :vpc_configuration,
111
+ :public_access_block_configuration)
112
+ include Aws::Structure
113
+ end
114
+
21
115
  # @note When making an API call, you may pass CreateJobRequest
22
116
  # data as a hash:
23
117
  #
@@ -26,7 +120,7 @@ module Aws::S3Control
26
120
  # confirmation_required: false,
27
121
  # operation: { # required
28
122
  # lambda_invoke: {
29
- # function_arn: "NonEmptyMaxLength1024String",
123
+ # function_arn: "FunctionArnString",
30
124
  # },
31
125
  # s3_put_object_copy: {
32
126
  # target_resource: "S3BucketArnString",
@@ -60,8 +154,8 @@ module Aws::S3Control
60
154
  # },
61
155
  # new_object_tagging: [
62
156
  # {
63
- # key: "NonEmptyMaxLength1024String", # required
64
- # value: "MaxLength1024String", # required
157
+ # key: "TagKeyString", # required
158
+ # value: "TagValueString", # required
65
159
  # },
66
160
  # ],
67
161
  # redirect_location: "NonEmptyMaxLength2048String",
@@ -98,8 +192,8 @@ module Aws::S3Control
98
192
  # s3_put_object_tagging: {
99
193
  # tag_set: [
100
194
  # {
101
- # key: "NonEmptyMaxLength1024String", # required
102
- # value: "MaxLength1024String", # required
195
+ # key: "TagKeyString", # required
196
+ # value: "TagValueString", # required
103
197
  # },
104
198
  # ],
105
199
  # },
@@ -107,6 +201,18 @@ module Aws::S3Control
107
201
  # expiration_in_days: 1,
108
202
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
109
203
  # },
204
+ # s3_put_object_legal_hold: {
205
+ # legal_hold: { # required
206
+ # status: "OFF", # required, accepts OFF, ON
207
+ # },
208
+ # },
209
+ # s3_put_object_retention: {
210
+ # bypass_governance_retention: false,
211
+ # retention: { # required
212
+ # retain_until_date: Time.now,
213
+ # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
214
+ # },
215
+ # },
110
216
  # },
111
217
  # report: { # required
112
218
  # bucket: "S3BucketArnString",
@@ -130,6 +236,12 @@ module Aws::S3Control
130
236
  # description: "NonEmptyMaxLength256String",
131
237
  # priority: 1, # required
132
238
  # role_arn: "IAMRoleArn", # required
239
+ # tags: [
240
+ # {
241
+ # key: "TagKeyString", # required
242
+ # value: "TagValueString", # required
243
+ # },
244
+ # ],
133
245
  # }
134
246
  #
135
247
  # @!attribute [rw] account_id
@@ -181,11 +293,16 @@ module Aws::S3Control
181
293
  # @return [Integer]
182
294
  #
183
295
  # @!attribute [rw] role_arn
184
- # The Amazon Resource Name (ARN) for the Identity and Access
185
- # Management (IAM) Role that batch operations will use to execute this
296
+ # The Amazon Resource Name (ARN) for the AWS Identity and Access
297
+ # Management (IAM) role that Batch Operations will use to execute this
186
298
  # job's operation on each object in the manifest.
187
299
  # @return [String]
188
300
  #
301
+ # @!attribute [rw] tags
302
+ # A set of tags to associate with the Amazon S3 Batch Operations job.
303
+ # This is an optional parameter.
304
+ # @return [Array<Types::S3Tag>]
305
+ #
189
306
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
190
307
  #
191
308
  class CreateJobRequest < Struct.new(
@@ -197,7 +314,8 @@ module Aws::S3Control
197
314
  :manifest,
198
315
  :description,
199
316
  :priority,
200
- :role_arn)
317
+ :role_arn,
318
+ :tags)
201
319
  include Aws::Structure
202
320
  end
203
321
 
@@ -213,6 +331,84 @@ module Aws::S3Control
213
331
  include Aws::Structure
214
332
  end
215
333
 
334
+ # @note When making an API call, you may pass DeleteAccessPointPolicyRequest
335
+ # data as a hash:
336
+ #
337
+ # {
338
+ # account_id: "AccountId", # required
339
+ # name: "AccessPointName", # required
340
+ # }
341
+ #
342
+ # @!attribute [rw] account_id
343
+ # The account ID for the account that owns the specified access point.
344
+ # @return [String]
345
+ #
346
+ # @!attribute [rw] name
347
+ # The name of the access point whose policy you want to delete.
348
+ # @return [String]
349
+ #
350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyRequest AWS API Documentation
351
+ #
352
+ class DeleteAccessPointPolicyRequest < Struct.new(
353
+ :account_id,
354
+ :name)
355
+ include Aws::Structure
356
+ end
357
+
358
+ # @note When making an API call, you may pass DeleteAccessPointRequest
359
+ # data as a hash:
360
+ #
361
+ # {
362
+ # account_id: "AccountId", # required
363
+ # name: "AccessPointName", # required
364
+ # }
365
+ #
366
+ # @!attribute [rw] account_id
367
+ # The account ID for the account that owns the specified access point.
368
+ # @return [String]
369
+ #
370
+ # @!attribute [rw] name
371
+ # The name of the access point you want to delete.
372
+ # @return [String]
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointRequest AWS API Documentation
375
+ #
376
+ class DeleteAccessPointRequest < Struct.new(
377
+ :account_id,
378
+ :name)
379
+ include Aws::Structure
380
+ end
381
+
382
+ # @note When making an API call, you may pass DeleteJobTaggingRequest
383
+ # data as a hash:
384
+ #
385
+ # {
386
+ # account_id: "AccountId", # required
387
+ # job_id: "JobId", # required
388
+ # }
389
+ #
390
+ # @!attribute [rw] account_id
391
+ # The AWS account ID associated with the Amazon S3 Batch Operations
392
+ # job.
393
+ # @return [String]
394
+ #
395
+ # @!attribute [rw] job_id
396
+ # The ID for the Amazon S3 Batch Operations job whose tags you want to
397
+ # delete.
398
+ # @return [String]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingRequest AWS API Documentation
401
+ #
402
+ class DeleteJobTaggingRequest < Struct.new(
403
+ :account_id,
404
+ :job_id)
405
+ include Aws::Structure
406
+ end
407
+
408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingResult AWS API Documentation
409
+ #
410
+ class DeleteJobTaggingResult < Aws::EmptyStructure; end
411
+
216
412
  # @note When making an API call, you may pass DeletePublicAccessBlockRequest
217
413
  # data as a hash:
218
414
  #
@@ -221,8 +417,8 @@ module Aws::S3Control
221
417
  # }
222
418
  #
223
419
  # @!attribute [rw] account_id
224
- # The account ID for the AWS account whose block public access
225
- # configuration you want to delete.
420
+ # The account ID for the Amazon Web Services account whose
421
+ # `PublicAccessBlock` configuration you want to remove.
226
422
  # @return [String]
227
423
  #
228
424
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
@@ -267,7 +463,192 @@ module Aws::S3Control
267
463
  include Aws::Structure
268
464
  end
269
465
 
466
+ # @note When making an API call, you may pass GetAccessPointPolicyRequest
467
+ # data as a hash:
468
+ #
469
+ # {
470
+ # account_id: "AccountId", # required
471
+ # name: "AccessPointName", # required
472
+ # }
473
+ #
474
+ # @!attribute [rw] account_id
475
+ # The account ID for the account that owns the specified access point.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] name
479
+ # The name of the access point whose policy you want to retrieve.
480
+ # @return [String]
481
+ #
482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
483
+ #
484
+ class GetAccessPointPolicyRequest < Struct.new(
485
+ :account_id,
486
+ :name)
487
+ include Aws::Structure
488
+ end
489
+
490
+ # @!attribute [rw] policy
491
+ # The access point policy associated with the specified access point.
492
+ # @return [String]
493
+ #
494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyResult AWS API Documentation
495
+ #
496
+ class GetAccessPointPolicyResult < Struct.new(
497
+ :policy)
498
+ include Aws::Structure
499
+ end
500
+
501
+ # @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
502
+ # data as a hash:
503
+ #
504
+ # {
505
+ # account_id: "AccountId", # required
506
+ # name: "AccessPointName", # required
507
+ # }
508
+ #
509
+ # @!attribute [rw] account_id
510
+ # The account ID for the account that owns the specified access point.
511
+ # @return [String]
512
+ #
513
+ # @!attribute [rw] name
514
+ # The name of the access point whose policy status you want to
515
+ # retrieve.
516
+ # @return [String]
517
+ #
518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusRequest AWS API Documentation
519
+ #
520
+ class GetAccessPointPolicyStatusRequest < Struct.new(
521
+ :account_id,
522
+ :name)
523
+ include Aws::Structure
524
+ end
525
+
526
+ # @!attribute [rw] policy_status
527
+ # Indicates the current policy status of the specified access point.
528
+ # @return [Types::PolicyStatus]
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusResult AWS API Documentation
531
+ #
532
+ class GetAccessPointPolicyStatusResult < Struct.new(
533
+ :policy_status)
534
+ include Aws::Structure
535
+ end
536
+
537
+ # @note When making an API call, you may pass GetAccessPointRequest
538
+ # data as a hash:
539
+ #
540
+ # {
541
+ # account_id: "AccountId", # required
542
+ # name: "AccessPointName", # required
543
+ # }
544
+ #
545
+ # @!attribute [rw] account_id
546
+ # The account ID for the account that owns the specified access point.
547
+ # @return [String]
548
+ #
549
+ # @!attribute [rw] name
550
+ # The name of the access point whose configuration information you
551
+ # want to retrieve.
552
+ # @return [String]
553
+ #
554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointRequest AWS API Documentation
555
+ #
556
+ class GetAccessPointRequest < Struct.new(
557
+ :account_id,
558
+ :name)
559
+ include Aws::Structure
560
+ end
561
+
562
+ # @!attribute [rw] name
563
+ # The name of the specified access point.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] bucket
567
+ # The name of the bucket associated with the specified access point.
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] network_origin
571
+ # Indicates whether this access point allows access from the public
572
+ # internet. If `VpcConfiguration` is specified for this access point,
573
+ # then `NetworkOrigin` is `VPC`, and the access point doesn't allow
574
+ # access from the public internet. Otherwise, `NetworkOrigin` is
575
+ # `Internet`, and the access point allows access from the public
576
+ # internet, subject to the access point and bucket access policies.
577
+ # @return [String]
578
+ #
579
+ # @!attribute [rw] vpc_configuration
580
+ # Contains the virtual private cloud (VPC) configuration for the
581
+ # specified access point.
582
+ # @return [Types::VpcConfiguration]
583
+ #
270
584
  # @!attribute [rw] public_access_block_configuration
585
+ # The `PublicAccessBlock` configuration that you want to apply to this
586
+ # Amazon S3 bucket. You can enable the configuration options in any
587
+ # combination. For more information about when Amazon S3 considers a
588
+ # bucket or object public, see [The Meaning of "Public"][1] in the
589
+ # Amazon Simple Storage Service Developer Guide.
590
+ #
591
+ #
592
+ #
593
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
594
+ # @return [Types::PublicAccessBlockConfiguration]
595
+ #
596
+ # @!attribute [rw] creation_date
597
+ # The date and time when the specified access point was created.
598
+ # @return [Time]
599
+ #
600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointResult AWS API Documentation
601
+ #
602
+ class GetAccessPointResult < Struct.new(
603
+ :name,
604
+ :bucket,
605
+ :network_origin,
606
+ :vpc_configuration,
607
+ :public_access_block_configuration,
608
+ :creation_date)
609
+ include Aws::Structure
610
+ end
611
+
612
+ # @note When making an API call, you may pass GetJobTaggingRequest
613
+ # data as a hash:
614
+ #
615
+ # {
616
+ # account_id: "AccountId", # required
617
+ # job_id: "JobId", # required
618
+ # }
619
+ #
620
+ # @!attribute [rw] account_id
621
+ # The AWS account ID associated with the Amazon S3 Batch Operations
622
+ # job.
623
+ # @return [String]
624
+ #
625
+ # @!attribute [rw] job_id
626
+ # The ID for the Amazon S3 Batch Operations job whose tags you want to
627
+ # retrieve.
628
+ # @return [String]
629
+ #
630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingRequest AWS API Documentation
631
+ #
632
+ class GetJobTaggingRequest < Struct.new(
633
+ :account_id,
634
+ :job_id)
635
+ include Aws::Structure
636
+ end
637
+
638
+ # @!attribute [rw] tags
639
+ # The set of tags associated with the Amazon S3 Batch Operations job.
640
+ # @return [Array<Types::S3Tag>]
641
+ #
642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
643
+ #
644
+ class GetJobTaggingResult < Struct.new(
645
+ :tags)
646
+ include Aws::Structure
647
+ end
648
+
649
+ # @!attribute [rw] public_access_block_configuration
650
+ # The `PublicAccessBlock` configuration currently in effect for this
651
+ # Amazon Web Services account.
271
652
  # @return [Types::PublicAccessBlockConfiguration]
272
653
  #
273
654
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
@@ -285,6 +666,8 @@ module Aws::S3Control
285
666
  # }
286
667
  #
287
668
  # @!attribute [rw] account_id
669
+ # The account ID for the Amazon Web Services account whose
670
+ # `PublicAccessBlock` configuration you want to retrieve.
288
671
  # @return [String]
289
672
  #
290
673
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
@@ -404,8 +787,8 @@ module Aws::S3Control
404
787
  # @return [Time]
405
788
  #
406
789
  # @!attribute [rw] role_arn
407
- # The Amazon Resource Name (ARN) for the Identity and Access
408
- # Management (IAM) Role assigned to execute the tasks for this job.
790
+ # The Amazon Resource Name (ARN) for the AWS Identity and Access
791
+ # Management (IAM) role assigned to execute the tasks for this job.
409
792
  # @return [String]
410
793
  #
411
794
  # @!attribute [rw] suspended_date
@@ -629,7 +1012,7 @@ module Aws::S3Control
629
1012
  #
630
1013
  # {
631
1014
  # lambda_invoke: {
632
- # function_arn: "NonEmptyMaxLength1024String",
1015
+ # function_arn: "FunctionArnString",
633
1016
  # },
634
1017
  # s3_put_object_copy: {
635
1018
  # target_resource: "S3BucketArnString",
@@ -663,8 +1046,8 @@ module Aws::S3Control
663
1046
  # },
664
1047
  # new_object_tagging: [
665
1048
  # {
666
- # key: "NonEmptyMaxLength1024String", # required
667
- # value: "MaxLength1024String", # required
1049
+ # key: "TagKeyString", # required
1050
+ # value: "TagValueString", # required
668
1051
  # },
669
1052
  # ],
670
1053
  # redirect_location: "NonEmptyMaxLength2048String",
@@ -701,8 +1084,8 @@ module Aws::S3Control
701
1084
  # s3_put_object_tagging: {
702
1085
  # tag_set: [
703
1086
  # {
704
- # key: "NonEmptyMaxLength1024String", # required
705
- # value: "MaxLength1024String", # required
1087
+ # key: "TagKeyString", # required
1088
+ # value: "TagValueString", # required
706
1089
  # },
707
1090
  # ],
708
1091
  # },
@@ -710,6 +1093,18 @@ module Aws::S3Control
710
1093
  # expiration_in_days: 1,
711
1094
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
712
1095
  # },
1096
+ # s3_put_object_legal_hold: {
1097
+ # legal_hold: { # required
1098
+ # status: "OFF", # required, accepts OFF, ON
1099
+ # },
1100
+ # },
1101
+ # s3_put_object_retention: {
1102
+ # bypass_governance_retention: false,
1103
+ # retention: { # required
1104
+ # retain_until_date: Time.now,
1105
+ # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
1106
+ # },
1107
+ # },
713
1108
  # }
714
1109
  #
715
1110
  # @!attribute [rw] lambda_invoke
@@ -737,6 +1132,28 @@ module Aws::S3Control
737
1132
  # call on each object in the manifest.
738
1133
  # @return [Types::S3InitiateRestoreObjectOperation]
739
1134
  #
1135
+ # @!attribute [rw] s3_put_object_legal_hold
1136
+ # Contains the configuration parameters for a Set Object Legal Hold
1137
+ # operation. Amazon S3 Batch Operations passes each value through to
1138
+ # the underlying PUT Object Legal Hold API. For more information about
1139
+ # the parameters for this operation, see [PUT Object Legal Hold][1].
1140
+ #
1141
+ #
1142
+ #
1143
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
1144
+ # @return [Types::S3SetObjectLegalHoldOperation]
1145
+ #
1146
+ # @!attribute [rw] s3_put_object_retention
1147
+ # Contains the configuration parameters for a Set Object Retention
1148
+ # operation. Amazon S3 Batch Operations passes each value through to
1149
+ # the underlying PUT Object Retention API. For more information about
1150
+ # the parameters for this operation, see [PUT Object Retention][1].
1151
+ #
1152
+ #
1153
+ #
1154
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
1155
+ # @return [Types::S3SetObjectRetentionOperation]
1156
+ #
740
1157
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
741
1158
  #
742
1159
  class JobOperation < Struct.new(
@@ -744,7 +1161,9 @@ module Aws::S3Control
744
1161
  :s3_put_object_copy,
745
1162
  :s3_put_object_acl,
746
1163
  :s3_put_object_tagging,
747
- :s3_initiate_restore_object)
1164
+ :s3_initiate_restore_object,
1165
+ :s3_put_object_legal_hold,
1166
+ :s3_put_object_retention)
748
1167
  include Aws::Structure
749
1168
  end
750
1169
 
@@ -784,7 +1203,8 @@ module Aws::S3Control
784
1203
  # }
785
1204
  #
786
1205
  # @!attribute [rw] bucket
787
- # The bucket where specified job-completion report will be stored.
1206
+ # The Amazon Resource Name (ARN) for the bucket where specified
1207
+ # job-completion report will be stored.
788
1208
  # @return [String]
789
1209
  #
790
1210
  # @!attribute [rw] format
@@ -835,7 +1255,7 @@ module Aws::S3Control
835
1255
  # data as a hash:
836
1256
  #
837
1257
  # {
838
- # function_arn: "NonEmptyMaxLength1024String",
1258
+ # function_arn: "FunctionArnString",
839
1259
  # }
840
1260
  #
841
1261
  # @!attribute [rw] function_arn
@@ -850,13 +1270,78 @@ module Aws::S3Control
850
1270
  include Aws::Structure
851
1271
  end
852
1272
 
1273
+ # @note When making an API call, you may pass ListAccessPointsRequest
1274
+ # data as a hash:
1275
+ #
1276
+ # {
1277
+ # account_id: "AccountId", # required
1278
+ # bucket: "BucketName",
1279
+ # next_token: "NonEmptyMaxLength1024String",
1280
+ # max_results: 1,
1281
+ # }
1282
+ #
1283
+ # @!attribute [rw] account_id
1284
+ # The AWS account ID for owner of the bucket whose access points you
1285
+ # want to list.
1286
+ # @return [String]
1287
+ #
1288
+ # @!attribute [rw] bucket
1289
+ # The name of the bucket whose associated access points you want to
1290
+ # list.
1291
+ # @return [String]
1292
+ #
1293
+ # @!attribute [rw] next_token
1294
+ # A continuation token. If a previous call to `ListAccessPoints`
1295
+ # returned a continuation token in the `NextToken` field, then
1296
+ # providing that value here causes Amazon S3 to retrieve the next page
1297
+ # of results.
1298
+ # @return [String]
1299
+ #
1300
+ # @!attribute [rw] max_results
1301
+ # The maximum number of access points that you want to include in the
1302
+ # list. If the specified bucket has more than this number of access
1303
+ # points, then the response will include a continuation token in the
1304
+ # `NextToken` field that you can use to retrieve the next page of
1305
+ # access points.
1306
+ # @return [Integer]
1307
+ #
1308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsRequest AWS API Documentation
1309
+ #
1310
+ class ListAccessPointsRequest < Struct.new(
1311
+ :account_id,
1312
+ :bucket,
1313
+ :next_token,
1314
+ :max_results)
1315
+ include Aws::Structure
1316
+ end
1317
+
1318
+ # @!attribute [rw] access_point_list
1319
+ # Contains identification and configuration information for one or
1320
+ # more access points associated with the specified bucket.
1321
+ # @return [Array<Types::AccessPoint>]
1322
+ #
1323
+ # @!attribute [rw] next_token
1324
+ # If the specified bucket has more access points than can be returned
1325
+ # in one call to this API, then this field contains a continuation
1326
+ # token that you can provide in subsequent calls to this API to
1327
+ # retrieve additional access points.
1328
+ # @return [String]
1329
+ #
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsResult AWS API Documentation
1331
+ #
1332
+ class ListAccessPointsResult < Struct.new(
1333
+ :access_point_list,
1334
+ :next_token)
1335
+ include Aws::Structure
1336
+ end
1337
+
853
1338
  # @note When making an API call, you may pass ListJobsRequest
854
1339
  # data as a hash:
855
1340
  #
856
1341
  # {
857
1342
  # account_id: "AccountId", # required
858
1343
  # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
859
- # next_token: "NonEmptyMaxLength1024String",
1344
+ # next_token: "StringForNextToken",
860
1345
  # max_results: 1,
861
1346
  # }
862
1347
  #
@@ -910,6 +1395,10 @@ module Aws::S3Control
910
1395
  include Aws::Structure
911
1396
  end
912
1397
 
1398
+ # Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
1399
+ # request against an account that doesn't have a
1400
+ # `PublicAccessBlockConfiguration` set.
1401
+ #
913
1402
  # @!attribute [rw] message
914
1403
  # @return [String]
915
1404
  #
@@ -930,6 +1419,35 @@ module Aws::S3Control
930
1419
  include Aws::Structure
931
1420
  end
932
1421
 
1422
+ # Indicates whether this access point policy is public. For more
1423
+ # information about how Amazon S3 evaluates policies to determine
1424
+ # whether they are public, see [The Meaning of "Public"][1] in the
1425
+ # *Amazon Simple Storage Service Developer Guide*.
1426
+ #
1427
+ #
1428
+ #
1429
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
1430
+ #
1431
+ # @!attribute [rw] is_public
1432
+ # @return [Boolean]
1433
+ #
1434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PolicyStatus AWS API Documentation
1435
+ #
1436
+ class PolicyStatus < Struct.new(
1437
+ :is_public)
1438
+ include Aws::Structure
1439
+ end
1440
+
1441
+ # The `PublicAccessBlock` configuration that you want to apply to this
1442
+ # Amazon S3 bucket. You can enable the configuration options in any
1443
+ # combination. For more information about when Amazon S3 considers a
1444
+ # bucket or object public, see [The Meaning of "Public"][1] in the
1445
+ # Amazon Simple Storage Service Developer Guide.
1446
+ #
1447
+ #
1448
+ #
1449
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
1450
+ #
933
1451
  # @note When making an API call, you may pass PublicAccessBlockConfiguration
934
1452
  # data as a hash:
935
1453
  #
@@ -941,15 +1459,49 @@ module Aws::S3Control
941
1459
  # }
942
1460
  #
943
1461
  # @!attribute [rw] block_public_acls
1462
+ # Specifies whether Amazon S3 should block public access control lists
1463
+ # (ACLs) for buckets in this account. Setting this element to `TRUE`
1464
+ # causes the following behavior:
1465
+ #
1466
+ # * PUT Bucket acl and PUT Object acl calls fail if the specified ACL
1467
+ # is public.
1468
+ #
1469
+ # * PUT Object calls fail if the request includes a public ACL.
1470
+ #
1471
+ # * PUT Bucket calls fail if the request includes a public ACL.
1472
+ #
1473
+ # Enabling this setting doesn't affect existing policies or ACLs.
944
1474
  # @return [Boolean]
945
1475
  #
946
1476
  # @!attribute [rw] ignore_public_acls
1477
+ # Specifies whether Amazon S3 should ignore public ACLs for buckets in
1478
+ # this account. Setting this element to `TRUE` causes Amazon S3 to
1479
+ # ignore all public ACLs on buckets in this account and any objects
1480
+ # that they contain.
1481
+ #
1482
+ # Enabling this setting doesn't affect the persistence of any
1483
+ # existing ACLs and doesn't prevent new public ACLs from being set.
947
1484
  # @return [Boolean]
948
1485
  #
949
1486
  # @!attribute [rw] block_public_policy
1487
+ # Specifies whether Amazon S3 should block public bucket policies for
1488
+ # buckets in this account. Setting this element to `TRUE` causes
1489
+ # Amazon S3 to reject calls to PUT Bucket policy if the specified
1490
+ # bucket policy allows public access.
1491
+ #
1492
+ # Enabling this setting doesn't affect existing bucket policies.
950
1493
  # @return [Boolean]
951
1494
  #
952
1495
  # @!attribute [rw] restrict_public_buckets
1496
+ # Specifies whether Amazon S3 should restrict public bucket policies
1497
+ # for buckets in this account. Setting this element to `TRUE`
1498
+ # restricts access to buckets with public policies to only AWS
1499
+ # services and authorized users within this account.
1500
+ #
1501
+ # Enabling this setting doesn't affect previously stored bucket
1502
+ # policies, except that public and cross-account access within any
1503
+ # public bucket policy, including non-public delegation to specific
1504
+ # accounts, is blocked.
953
1505
  # @return [Boolean]
954
1506
  #
955
1507
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
@@ -962,6 +1514,87 @@ module Aws::S3Control
962
1514
  include Aws::Structure
963
1515
  end
964
1516
 
1517
+ # @note When making an API call, you may pass PutAccessPointPolicyRequest
1518
+ # data as a hash:
1519
+ #
1520
+ # {
1521
+ # account_id: "AccountId", # required
1522
+ # name: "AccessPointName", # required
1523
+ # policy: "Policy", # required
1524
+ # }
1525
+ #
1526
+ # @!attribute [rw] account_id
1527
+ # The AWS account ID for owner of the bucket associated with the
1528
+ # specified access point.
1529
+ # @return [String]
1530
+ #
1531
+ # @!attribute [rw] name
1532
+ # The name of the access point that you want to associate with the
1533
+ # specified policy.
1534
+ # @return [String]
1535
+ #
1536
+ # @!attribute [rw] policy
1537
+ # The policy that you want to apply to the specified access point. For
1538
+ # more information about access point policies, see [Managing Data
1539
+ # Access with Amazon S3 Access Points][1] in the *Amazon Simple
1540
+ # Storage Service Developer Guide*.
1541
+ #
1542
+ #
1543
+ #
1544
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
1545
+ # @return [String]
1546
+ #
1547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyRequest AWS API Documentation
1548
+ #
1549
+ class PutAccessPointPolicyRequest < Struct.new(
1550
+ :account_id,
1551
+ :name,
1552
+ :policy)
1553
+ include Aws::Structure
1554
+ end
1555
+
1556
+ # @note When making an API call, you may pass PutJobTaggingRequest
1557
+ # data as a hash:
1558
+ #
1559
+ # {
1560
+ # account_id: "AccountId", # required
1561
+ # job_id: "JobId", # required
1562
+ # tags: [ # required
1563
+ # {
1564
+ # key: "TagKeyString", # required
1565
+ # value: "TagValueString", # required
1566
+ # },
1567
+ # ],
1568
+ # }
1569
+ #
1570
+ # @!attribute [rw] account_id
1571
+ # The AWS account ID associated with the Amazon S3 Batch Operations
1572
+ # job.
1573
+ # @return [String]
1574
+ #
1575
+ # @!attribute [rw] job_id
1576
+ # The ID for the Amazon S3 Batch Operations job whose tags you want to
1577
+ # replace.
1578
+ # @return [String]
1579
+ #
1580
+ # @!attribute [rw] tags
1581
+ # The set of tags to associate with the Amazon S3 Batch Operations
1582
+ # job.
1583
+ # @return [Array<Types::S3Tag>]
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingRequest AWS API Documentation
1586
+ #
1587
+ class PutJobTaggingRequest < Struct.new(
1588
+ :account_id,
1589
+ :job_id,
1590
+ :tags)
1591
+ include Aws::Structure
1592
+ end
1593
+
1594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingResult AWS API Documentation
1595
+ #
1596
+ class PutJobTaggingResult < Aws::EmptyStructure; end
1597
+
965
1598
  # @note When making an API call, you may pass PutPublicAccessBlockRequest
966
1599
  # data as a hash:
967
1600
  #
@@ -976,9 +1609,13 @@ module Aws::S3Control
976
1609
  # }
977
1610
  #
978
1611
  # @!attribute [rw] public_access_block_configuration
1612
+ # The `PublicAccessBlock` configuration that you want to apply to the
1613
+ # specified Amazon Web Services account.
979
1614
  # @return [Types::PublicAccessBlockConfiguration]
980
1615
  #
981
1616
  # @!attribute [rw] account_id
1617
+ # The account ID for the Amazon Web Services account whose
1618
+ # `PublicAccessBlock` configuration you want to set.
982
1619
  # @return [String]
983
1620
  #
984
1621
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
@@ -1061,7 +1698,7 @@ module Aws::S3Control
1061
1698
  end
1062
1699
 
1063
1700
  # Contains the configuration parameters for a PUT Copy object operation.
1064
- # Amazon S3 batch operations passes each value through to the underlying
1701
+ # Amazon S3 Batch Operations passes each value through to the underlying
1065
1702
  # PUT Copy object API. For more information about the parameters for
1066
1703
  # this operation, see [PUT Object - Copy][1].
1067
1704
  #
@@ -1104,8 +1741,8 @@ module Aws::S3Control
1104
1741
  # },
1105
1742
  # new_object_tagging: [
1106
1743
  # {
1107
- # key: "NonEmptyMaxLength1024String", # required
1108
- # value: "MaxLength1024String", # required
1744
+ # key: "TagKeyString", # required
1745
+ # value: "TagValueString", # required
1109
1746
  # },
1110
1747
  # ],
1111
1748
  # redirect_location: "NonEmptyMaxLength2048String",
@@ -1159,12 +1796,18 @@ module Aws::S3Control
1159
1796
  # @return [String]
1160
1797
  #
1161
1798
  # @!attribute [rw] object_lock_legal_hold_status
1799
+ # The Legal Hold status to be applied to all objects in the Batch
1800
+ # Operations job.
1162
1801
  # @return [String]
1163
1802
  #
1164
1803
  # @!attribute [rw] object_lock_mode
1804
+ # The Retention mode to be applied to all objects in the Batch
1805
+ # Operations job.
1165
1806
  # @return [String]
1166
1807
  #
1167
1808
  # @!attribute [rw] object_lock_retain_until_date
1809
+ # The date when the applied Object Retention configuration will expire
1810
+ # on all objects in the Batch Operations job.
1168
1811
  # @return [Time]
1169
1812
  #
1170
1813
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
@@ -1243,7 +1886,7 @@ module Aws::S3Control
1243
1886
  end
1244
1887
 
1245
1888
  # Contains the configuration parameters for an Initiate Glacier Restore
1246
- # job. Amazon S3 batch operations passes each value through to the
1889
+ # job. Amazon S3 Batch Operations passes each value through to the
1247
1890
  # underlying POST Object restore API. For more information about the
1248
1891
  # parameters for this operation, see [Restoring Archives][1].
1249
1892
  #
@@ -1273,6 +1916,25 @@ module Aws::S3Control
1273
1916
  include Aws::Structure
1274
1917
  end
1275
1918
 
1919
+ # @note When making an API call, you may pass S3ObjectLockLegalHold
1920
+ # data as a hash:
1921
+ #
1922
+ # {
1923
+ # status: "OFF", # required, accepts OFF, ON
1924
+ # }
1925
+ #
1926
+ # @!attribute [rw] status
1927
+ # The Legal Hold status to be applied to all objects in the Batch
1928
+ # Operations job.
1929
+ # @return [String]
1930
+ #
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectLockLegalHold AWS API Documentation
1932
+ #
1933
+ class S3ObjectLockLegalHold < Struct.new(
1934
+ :status)
1935
+ include Aws::Structure
1936
+ end
1937
+
1276
1938
  # @note When making an API call, you may pass S3ObjectMetadata
1277
1939
  # data as a hash:
1278
1940
  #
@@ -1364,8 +2026,34 @@ module Aws::S3Control
1364
2026
  include Aws::Structure
1365
2027
  end
1366
2028
 
2029
+ # @note When making an API call, you may pass S3Retention
2030
+ # data as a hash:
2031
+ #
2032
+ # {
2033
+ # retain_until_date: Time.now,
2034
+ # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
2035
+ # }
2036
+ #
2037
+ # @!attribute [rw] retain_until_date
2038
+ # The date when the applied Object Retention will expire on all
2039
+ # objects in the Batch Operations job.
2040
+ # @return [Time]
2041
+ #
2042
+ # @!attribute [rw] mode
2043
+ # The Retention mode to be applied to all objects in the Batch
2044
+ # Operations job.
2045
+ # @return [String]
2046
+ #
2047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Retention AWS API Documentation
2048
+ #
2049
+ class S3Retention < Struct.new(
2050
+ :retain_until_date,
2051
+ :mode)
2052
+ include Aws::Structure
2053
+ end
2054
+
1367
2055
  # Contains the configuration parameters for a Set Object ACL operation.
1368
- # Amazon S3 batch operations passes each value through to the underlying
2056
+ # Amazon S3 Batch Operations passes each value through to the underlying
1369
2057
  # PUT Object acl API. For more information about the parameters for this
1370
2058
  # operation, see [PUT Object acl][1].
1371
2059
  #
@@ -1408,8 +2096,77 @@ module Aws::S3Control
1408
2096
  include Aws::Structure
1409
2097
  end
1410
2098
 
2099
+ # Contains the configuration parameters for a Set Object Legal Hold
2100
+ # operation. Amazon S3 Batch Operations passes each value through to the
2101
+ # underlying PUT Object Legal Hold API. For more information about the
2102
+ # parameters for this operation, see [PUT Object Legal Hold][1].
2103
+ #
2104
+ #
2105
+ #
2106
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
2107
+ #
2108
+ # @note When making an API call, you may pass S3SetObjectLegalHoldOperation
2109
+ # data as a hash:
2110
+ #
2111
+ # {
2112
+ # legal_hold: { # required
2113
+ # status: "OFF", # required, accepts OFF, ON
2114
+ # },
2115
+ # }
2116
+ #
2117
+ # @!attribute [rw] legal_hold
2118
+ # The Legal Hold contains the status to be applied to all objects in
2119
+ # the Batch Operations job.
2120
+ # @return [Types::S3ObjectLockLegalHold]
2121
+ #
2122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectLegalHoldOperation AWS API Documentation
2123
+ #
2124
+ class S3SetObjectLegalHoldOperation < Struct.new(
2125
+ :legal_hold)
2126
+ include Aws::Structure
2127
+ end
2128
+
2129
+ # Contains the configuration parameters for a Set Object Retention
2130
+ # operation. Amazon S3 Batch Operations passes each value through to the
2131
+ # underlying PUT Object Retention API. For more information about the
2132
+ # parameters for this operation, see [PUT Object Retention][1].
2133
+ #
2134
+ #
2135
+ #
2136
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
2137
+ #
2138
+ # @note When making an API call, you may pass S3SetObjectRetentionOperation
2139
+ # data as a hash:
2140
+ #
2141
+ # {
2142
+ # bypass_governance_retention: false,
2143
+ # retention: { # required
2144
+ # retain_until_date: Time.now,
2145
+ # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
2146
+ # },
2147
+ # }
2148
+ #
2149
+ # @!attribute [rw] bypass_governance_retention
2150
+ # Indicates if the operation should be applied to objects in the Batch
2151
+ # Operations job even if they have Governance-type Object Lock in
2152
+ # place.
2153
+ # @return [Boolean]
2154
+ #
2155
+ # @!attribute [rw] retention
2156
+ # Amazon S3 object lock Retention contains the retention mode to be
2157
+ # applied to all objects in the Batch Operations job.
2158
+ # @return [Types::S3Retention]
2159
+ #
2160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectRetentionOperation AWS API Documentation
2161
+ #
2162
+ class S3SetObjectRetentionOperation < Struct.new(
2163
+ :bypass_governance_retention,
2164
+ :retention)
2165
+ include Aws::Structure
2166
+ end
2167
+
1411
2168
  # Contains the configuration parameters for a Set Object Tagging
1412
- # operation. Amazon S3 batch operations passes each value through to the
2169
+ # operation. Amazon S3 Batch Operations passes each value through to the
1413
2170
  # underlying PUT Object tagging API. For more information about the
1414
2171
  # parameters for this operation, see [PUT Object tagging][1].
1415
2172
  #
@@ -1423,8 +2180,8 @@ module Aws::S3Control
1423
2180
  # {
1424
2181
  # tag_set: [
1425
2182
  # {
1426
- # key: "NonEmptyMaxLength1024String", # required
1427
- # value: "MaxLength1024String", # required
2183
+ # key: "TagKeyString", # required
2184
+ # value: "TagValueString", # required
1428
2185
  # },
1429
2186
  # ],
1430
2187
  # }
@@ -1443,8 +2200,8 @@ module Aws::S3Control
1443
2200
  # data as a hash:
1444
2201
  #
1445
2202
  # {
1446
- # key: "NonEmptyMaxLength1024String", # required
1447
- # value: "MaxLength1024String", # required
2203
+ # key: "TagKeyString", # required
2204
+ # value: "TagValueString", # required
1448
2205
  # }
1449
2206
  #
1450
2207
  # @!attribute [rw] key
@@ -1471,6 +2228,16 @@ module Aws::S3Control
1471
2228
  include Aws::Structure
1472
2229
  end
1473
2230
 
2231
+ # @!attribute [rw] message
2232
+ # @return [String]
2233
+ #
2234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/TooManyTagsException AWS API Documentation
2235
+ #
2236
+ class TooManyTagsException < Struct.new(
2237
+ :message)
2238
+ include Aws::Structure
2239
+ end
2240
+
1474
2241
  # @note When making an API call, you may pass UpdateJobPriorityRequest
1475
2242
  # data as a hash:
1476
2243
  #
@@ -1574,5 +2341,26 @@ module Aws::S3Control
1574
2341
  include Aws::Structure
1575
2342
  end
1576
2343
 
2344
+ # The virtual private cloud (VPC) configuration for an access point.
2345
+ #
2346
+ # @note When making an API call, you may pass VpcConfiguration
2347
+ # data as a hash:
2348
+ #
2349
+ # {
2350
+ # vpc_id: "VpcId", # required
2351
+ # }
2352
+ #
2353
+ # @!attribute [rw] vpc_id
2354
+ # If this field is specified, this access point will only allow
2355
+ # connections from the specified VPC ID.
2356
+ # @return [String]
2357
+ #
2358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/VpcConfiguration AWS API Documentation
2359
+ #
2360
+ class VpcConfiguration < Struct.new(
2361
+ :vpc_id)
2362
+ include Aws::Structure
2363
+ end
2364
+
1577
2365
  end
1578
2366
  end