aws-sdk-s3control 1.13.0 → 1.19.0

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