aws-sdk-s3control 1.25.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -197,6 +197,7 @@ module Aws::S3Control
197
197
  S3CannedAccessControlList = Shapes::StringShape.new(name: 'S3CannedAccessControlList')
198
198
  S3ContentLength = Shapes::IntegerShape.new(name: 'S3ContentLength')
199
199
  S3CopyObjectOperation = Shapes::StructureShape.new(name: 'S3CopyObjectOperation')
200
+ S3DeleteObjectTaggingOperation = Shapes::StructureShape.new(name: 'S3DeleteObjectTaggingOperation')
200
201
  S3ExpirationInDays = Shapes::IntegerShape.new(name: 'S3ExpirationInDays')
201
202
  S3GlacierJobTier = Shapes::StringShape.new(name: 'S3GlacierJobTier')
202
203
  S3Grant = Shapes::StructureShape.new(name: 'S3Grant')
@@ -550,6 +551,7 @@ module Aws::S3Control
550
551
  JobOperation.add_member(:s3_put_object_copy, Shapes::ShapeRef.new(shape: S3CopyObjectOperation, location_name: "S3PutObjectCopy", metadata: {"box"=>true}))
551
552
  JobOperation.add_member(:s3_put_object_acl, Shapes::ShapeRef.new(shape: S3SetObjectAclOperation, location_name: "S3PutObjectAcl", metadata: {"box"=>true}))
552
553
  JobOperation.add_member(:s3_put_object_tagging, Shapes::ShapeRef.new(shape: S3SetObjectTaggingOperation, location_name: "S3PutObjectTagging", metadata: {"box"=>true}))
554
+ JobOperation.add_member(:s3_delete_object_tagging, Shapes::ShapeRef.new(shape: S3DeleteObjectTaggingOperation, location_name: "S3DeleteObjectTagging", metadata: {"box"=>true}))
553
555
  JobOperation.add_member(:s3_initiate_restore_object, Shapes::ShapeRef.new(shape: S3InitiateRestoreObjectOperation, location_name: "S3InitiateRestoreObject", metadata: {"box"=>true}))
554
556
  JobOperation.add_member(:s3_put_object_legal_hold, Shapes::ShapeRef.new(shape: S3SetObjectLegalHoldOperation, location_name: "S3PutObjectLegalHold", metadata: {"box"=>true}))
555
557
  JobOperation.add_member(:s3_put_object_retention, Shapes::ShapeRef.new(shape: S3SetObjectRetentionOperation, location_name: "S3PutObjectRetention", metadata: {"box"=>true}))
@@ -775,6 +777,8 @@ module Aws::S3Control
775
777
  S3CopyObjectOperation.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "ObjectLockRetainUntilDate"))
776
778
  S3CopyObjectOperation.struct_class = Types::S3CopyObjectOperation
777
779
 
780
+ S3DeleteObjectTaggingOperation.struct_class = Types::S3DeleteObjectTaggingOperation
781
+
778
782
  S3Grant.add_member(:grantee, Shapes::ShapeRef.new(shape: S3Grantee, location_name: "Grantee"))
779
783
  S3Grant.add_member(:permission, Shapes::ShapeRef.new(shape: S3Permission, location_name: "Permission"))
780
784
  S3Grant.struct_class = Types::S3Grant
@@ -786,7 +790,7 @@ module Aws::S3Control
786
790
  S3Grantee.add_member(:display_name, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "DisplayName"))
787
791
  S3Grantee.struct_class = Types::S3Grantee
788
792
 
789
- S3InitiateRestoreObjectOperation.add_member(:expiration_in_days, Shapes::ShapeRef.new(shape: S3ExpirationInDays, location_name: "ExpirationInDays"))
793
+ S3InitiateRestoreObjectOperation.add_member(:expiration_in_days, Shapes::ShapeRef.new(shape: S3ExpirationInDays, location_name: "ExpirationInDays", metadata: {"box"=>true}))
790
794
  S3InitiateRestoreObjectOperation.add_member(:glacier_job_tier, Shapes::ShapeRef.new(shape: S3GlacierJobTier, location_name: "GlacierJobTier"))
791
795
  S3InitiateRestoreObjectOperation.struct_class = Types::S3InitiateRestoreObjectOperation
792
796
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -31,6 +31,7 @@ client's region instead.
31
31
  handlers.add(UrlHandler)
32
32
  end
33
33
 
34
+ # After extracting out any ARN input, resolve a new URL with it.
34
35
  class UrlHandler < Seahorse::Client::Handler
35
36
  def call(context)
36
37
  if context.metadata[:s3_arn]
@@ -38,13 +39,18 @@ client's region instead.
38
39
  context.http_request.endpoint,
39
40
  context.metadata[:s3_arn][:arn],
40
41
  context.metadata[:s3_arn][:resolved_region],
41
- context.metadata[:s3_arn][:dualstack]
42
+ context.metadata[:s3_arn][:dualstack],
43
+ # if regional_endpoint is false, a custom endpoint was provided
44
+ # in this case, we want to prefix the endpoint using the ARN
45
+ !context.config.regional_endpoint
42
46
  )
43
47
  end
44
48
  @handler.call(context)
45
49
  end
46
50
  end
47
51
 
52
+ # This plugin will extract out any ARN input and set context for other
53
+ # plugins to use without having to translate the ARN again.
48
54
  class ARNHandler < Seahorse::Client::Handler
49
55
  def call(context)
50
56
  arn_member = _arn_member(context.operation.input.shape)
@@ -54,6 +60,7 @@ client's region instead.
54
60
  context.config.region,
55
61
  context.config.s3_use_arn_region
56
62
  )
63
+ validate_outpost_dualstack!(context)
57
64
  if arn
58
65
  validate_config!(context, arn)
59
66
 
@@ -68,7 +75,6 @@ client's region instead.
68
75
  # depending on the ARN's resource type, put the resource value
69
76
  # back onto params
70
77
  context.params[arn_member] = arn.input_member
71
-
72
78
  context.metadata[:s3_arn] = {
73
79
  arn: arn,
74
80
  resolved_region: resolved_region,
@@ -81,6 +87,17 @@ client's region instead.
81
87
 
82
88
  private
83
89
 
90
+ # this validation has nothing to do with ARNs (can't be in
91
+ # validate_config!) outposts does not support dualstack, so operations
92
+ # using an outpost id should be validated too.
93
+ def validate_outpost_dualstack!(context)
94
+ if context.params[:outpost_id] && context[:use_dualstack_endpoint]
95
+ raise ArgumentError,
96
+ 'Cannot provide an Outpost ID when '\
97
+ '`:use_dualstack_endpoint` is set to true.'
98
+ end
99
+ end
100
+
84
101
  # This looks for BucketName or AccessPointName, but prefers BucketName
85
102
  # for CreateAccessPoint because it contains both but should not have
86
103
  # an Access Point ARN as AccessPointName.
@@ -102,16 +119,10 @@ client's region instead.
102
119
  end
103
120
 
104
121
  def validate_config!(context, arn)
105
- unless context.config.regional_endpoint
106
- raise ArgumentError,
107
- 'Cannot provide both an Access Point ARN and setting '\
108
- ':endpoint.'
109
- end
110
-
111
122
  if !arn.support_dualstack? && context[:use_dualstack_endpoint]
112
123
  raise ArgumentError,
113
- 'Cannot provide both an Outpost Access Point ARN and '\
114
- 'setting :use_dualstack_endpoint to true.'
124
+ 'Cannot provide an Outpost Access Point ARN when '\
125
+ '`:use_dualstack_endpoint` is set to true.'
115
126
  end
116
127
  end
117
128
 
@@ -154,8 +165,9 @@ client's region instead.
154
165
  end
155
166
 
156
167
  # @api private
157
- def resolve_url!(url, arn, region, dualstack = false)
158
- url.host = arn.host_url(region, dualstack)
168
+ def resolve_url!(url, arn, region, dualstack = false, has_custom_endpoint = false)
169
+ custom_endpoint = url.host if has_custom_endpoint
170
+ url.host = arn.host_url(region, dualstack, custom_endpoint)
159
171
  url
160
172
  end
161
173
 
@@ -169,9 +181,9 @@ client's region instead.
169
181
  # Raise if provided value is not true or false
170
182
  if value.nil?
171
183
  raise ArgumentError,
172
- 'Must provide either `true` or `false` for '\
173
- 's3_use_arn_region profile option or for '\
174
- "ENV['AWS_S3_USE_ARN_REGION']"
184
+ 'Must provide either `true` or `false` for the '\
185
+ '`s3_use_arn_region` profile option or for '\
186
+ "ENV['AWS_S3_USE_ARN_REGION']."
175
187
  end
176
188
  value
177
189
  end
@@ -191,7 +203,7 @@ client's region instead.
191
203
  if !fips && !use_arn_region && region.include?('fips')
192
204
  raise ArgumentError,
193
205
  'FIPS client regions are not supported for this type of '\
194
- 'ARN without s3_use_arn_region.'
206
+ 'ARN without `:s3_use_arn_region`.'
195
207
  end
196
208
 
197
209
  # if it's a fips region, attempt to normalize it
@@ -16,16 +16,22 @@ for all operations.
16
16
 
17
17
  def add_handlers(handlers, config)
18
18
  handlers.add(OptionHandler, step: :initialize)
19
- handlers.add(DualstackHandler, step: :build, priority: 2)
19
+ handlers.add(DualstackHandler, step: :build, priority: 11)
20
20
  end
21
21
 
22
22
  # @api private
23
23
  class OptionHandler < Seahorse::Client::Handler
24
24
  def call(context)
25
+ # Support client configuration and per-operation configuration
25
26
  if context.params.is_a?(Hash)
26
27
  dualstack = context.params.delete(:use_dualstack_endpoint)
27
28
  end
28
29
  dualstack = context.config.use_dualstack_endpoint if dualstack.nil?
30
+ # Raise if :endpoint and dualstack are both provided
31
+ if dualstack && !context.config.regional_endpoint
32
+ raise ArgumentError,
33
+ 'Cannot use both :use_dualstack_endpoint and :endpoint'
34
+ end
29
35
  context[:use_dualstack_endpoint] = dualstack
30
36
  @handler.call(context)
31
37
  end
@@ -34,17 +40,16 @@ for all operations.
34
40
  # @api private
35
41
  class DualstackHandler < Seahorse::Client::Handler
36
42
  def call(context)
37
- apply_dualstack_endpoint(context) if use_dualstack_endpoint?(context)
43
+ if context.config.regional_endpoint && context[:use_dualstack_endpoint]
44
+ apply_dualstack_endpoint(context)
45
+ end
38
46
  @handler.call(context)
39
47
  end
40
48
 
41
49
  private
42
50
  def apply_dualstack_endpoint(context)
43
- bucket_name = context.params[:bucket]
44
51
  region = context.config.region
45
- dns_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(
46
- region
47
- )
52
+ dns_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
48
53
  host = "s3-control.dualstack.#{region}.#{dns_suffix}"
49
54
  endpoint = URI.parse(context.http_request.endpoint.to_s)
50
55
  endpoint.scheme = context.http_request.endpoint.scheme
@@ -52,10 +57,6 @@ for all operations.
52
57
  endpoint.host = host
53
58
  context.http_request.endpoint = endpoint.to_s
54
59
  end
55
-
56
- def use_dualstack_endpoint?(context)
57
- context[:use_dualstack_endpoint]
58
- end
59
60
  end
60
61
 
61
62
  end
@@ -51,8 +51,12 @@ module Aws
51
51
  credentials: context.config.credentials
52
52
  )
53
53
  elsif outpost_operation?(context)
54
- context.http_request.endpoint.host =
55
- "s3-outposts.#{context.config.region}.amazonaws.com"
54
+ # outpost operations should go to the outposts endpoint only if
55
+ # it's not a custom endpoint. the ARN class changes this for ARNs
56
+ if context.config.regional_endpoint
57
+ context.http_request.endpoint.host =
58
+ "s3-outposts.#{context.config.region}.amazonaws.com"
59
+ end
56
60
  S3ControlSigner.build_v4_signer(
57
61
  service: 's3-outposts',
58
62
  region: context.config.region,
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -558,6 +558,8 @@ module Aws::S3Control
558
558
  # },
559
559
  # ],
560
560
  # },
561
+ # s3_delete_object_tagging: {
562
+ # },
561
563
  # s3_initiate_restore_object: {
562
564
  # expiration_in_days: 1,
563
565
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
@@ -616,14 +618,14 @@ module Aws::S3Control
616
618
  # @return [Boolean]
617
619
  #
618
620
  # @!attribute [rw] operation
619
- # The operation that you want this job to perform on each object
620
- # listed in the manifest. For more information about the available
621
- # operations, see [Operations][1] in the *Amazon Simple Storage
622
- # Service Developer Guide*.
621
+ # The action that you want this job to perform on every object listed
622
+ # in the manifest. For more information about the available actions,
623
+ # see [Operations][1] in the *Amazon Simple Storage Service User
624
+ # Guide*.
623
625
  #
624
626
  #
625
627
  #
626
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html
628
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html
627
629
  # @return [Types::JobOperation]
628
630
  #
629
631
  # @!attribute [rw] report
@@ -657,7 +659,7 @@ module Aws::S3Control
657
659
  # @!attribute [rw] role_arn
658
660
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
659
661
  # Management (IAM) role that Batch Operations will use to run this
660
- # job's operation on each object in the manifest.
662
+ # job's action on every object in the manifest.
661
663
  # @return [String]
662
664
  #
663
665
  # @!attribute [rw] tags
@@ -1032,6 +1034,7 @@ module Aws::S3Control
1032
1034
  # }
1033
1035
  #
1034
1036
  # @!attribute [rw] account_id
1037
+ # The AWS account ID associated with the S3 Batch Operations job.
1035
1038
  # @return [String]
1036
1039
  #
1037
1040
  # @!attribute [rw] job_id
@@ -1833,7 +1836,7 @@ module Aws::S3Control
1833
1836
  # @return [String]
1834
1837
  #
1835
1838
  # @!attribute [rw] operation
1836
- # The operation that the specified job is configured to run on each
1839
+ # The operation that the specified job is configured to run on every
1837
1840
  # object listed in the manifest.
1838
1841
  # @return [String]
1839
1842
  #
@@ -1926,6 +1929,14 @@ module Aws::S3Control
1926
1929
  #
1927
1930
  # @!attribute [rw] object_arn
1928
1931
  # The Amazon Resource Name (ARN) for a manifest object.
1932
+ #
1933
+ # Replacement must be made for object keys containing special
1934
+ # characters (such as carriage returns) when using XML requests. For
1935
+ # more information, see [ XML related object key constraints][1].
1936
+ #
1937
+ #
1938
+ #
1939
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
1929
1940
  # @return [String]
1930
1941
  #
1931
1942
  # @!attribute [rw] object_version_id
@@ -1978,10 +1989,9 @@ module Aws::S3Control
1978
1989
  include Aws::Structure
1979
1990
  end
1980
1991
 
1981
- # The operation that you want this job to perform on each object listed
1992
+ # The operation that you want this job to perform on every object listed
1982
1993
  # in the manifest. For more information about the available operations,
1983
- # see [Operations][1] in the *Amazon Simple Storage Service Developer
1984
- # Guide*.
1994
+ # see [Operations][1] in the *Amazon Simple Storage Service User Guide*.
1985
1995
  #
1986
1996
  #
1987
1997
  #
@@ -2069,6 +2079,8 @@ module Aws::S3Control
2069
2079
  # },
2070
2080
  # ],
2071
2081
  # },
2082
+ # s3_delete_object_tagging: {
2083
+ # },
2072
2084
  # s3_initiate_restore_object: {
2073
2085
  # expiration_in_days: 1,
2074
2086
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
@@ -2088,36 +2100,41 @@ module Aws::S3Control
2088
2100
  # }
2089
2101
  #
2090
2102
  # @!attribute [rw] lambda_invoke
2091
- # Directs the specified job to invoke an AWS Lambda function on each
2103
+ # Directs the specified job to invoke an AWS Lambda function on every
2092
2104
  # object in the manifest.
2093
2105
  # @return [Types::LambdaInvokeOperation]
2094
2106
  #
2095
2107
  # @!attribute [rw] s3_put_object_copy
2096
- # Directs the specified job to run a PUT Copy object call on each
2108
+ # Directs the specified job to run a PUT Copy object call on every
2097
2109
  # object in the manifest.
2098
2110
  # @return [Types::S3CopyObjectOperation]
2099
2111
  #
2100
2112
  # @!attribute [rw] s3_put_object_acl
2101
- # Directs the specified job to run a PUT Object acl call on each
2113
+ # Directs the specified job to run a PUT Object acl call on every
2102
2114
  # object in the manifest.
2103
2115
  # @return [Types::S3SetObjectAclOperation]
2104
2116
  #
2105
2117
  # @!attribute [rw] s3_put_object_tagging
2106
- # Directs the specified job to run a PUT Object tagging call on each
2118
+ # Directs the specified job to run a PUT Object tagging call on every
2107
2119
  # object in the manifest.
2108
2120
  # @return [Types::S3SetObjectTaggingOperation]
2109
2121
  #
2122
+ # @!attribute [rw] s3_delete_object_tagging
2123
+ # Directs the specified job to execute a DELETE Object tagging call on
2124
+ # every object in the manifest.
2125
+ # @return [Types::S3DeleteObjectTaggingOperation]
2126
+ #
2110
2127
  # @!attribute [rw] s3_initiate_restore_object
2111
- # Directs the specified job to run an Initiate Glacier Restore call on
2112
- # each object in the manifest.
2128
+ # Directs the specified job to initiate restore requests for every
2129
+ # archived object in the manifest.
2113
2130
  # @return [Types::S3InitiateRestoreObjectOperation]
2114
2131
  #
2115
2132
  # @!attribute [rw] s3_put_object_legal_hold
2116
2133
  # Contains the configuration for an S3 Object Lock legal hold
2117
- # operation that an S3 Batch Operations job passes each object through
2118
- # to the underlying `PutObjectLegalHold` API. For more information,
2119
- # see [Using S3 Object Lock legal hold with S3 Batch Operations][1] in
2120
- # the *Amazon Simple Storage Service Developer Guide*.
2134
+ # operation that an S3 Batch Operations job passes every object to the
2135
+ # underlying `PutObjectLegalHold` API. For more information, see
2136
+ # [Using S3 Object Lock legal hold with S3 Batch Operations][1] in the
2137
+ # *Amazon Simple Storage Service User Guide*.
2121
2138
  #
2122
2139
  #
2123
2140
  #
@@ -2126,11 +2143,10 @@ module Aws::S3Control
2126
2143
  #
2127
2144
  # @!attribute [rw] s3_put_object_retention
2128
2145
  # Contains the configuration parameters for the Object Lock retention
2129
- # action for an S3 Batch Operations job. Batch Operations passes each
2130
- # value through to the underlying `PutObjectRetention` API. For more
2146
+ # action for an S3 Batch Operations job. Batch Operations passes every
2147
+ # object to the underlying `PutObjectRetention` API. For more
2131
2148
  # information, see [Using S3 Object Lock retention with S3 Batch
2132
- # Operations][1] in the *Amazon Simple Storage Service Developer
2133
- # Guide*.
2149
+ # Operations][1] in the *Amazon Simple Storage Service User Guide*.
2134
2150
  #
2135
2151
  #
2136
2152
  #
@@ -2144,6 +2160,7 @@ module Aws::S3Control
2144
2160
  :s3_put_object_copy,
2145
2161
  :s3_put_object_acl,
2146
2162
  :s3_put_object_tagging,
2163
+ :s3_delete_object_tagging,
2147
2164
  :s3_initiate_restore_object,
2148
2165
  :s3_put_object_legal_hold,
2149
2166
  :s3_put_object_retention)
@@ -2246,7 +2263,7 @@ module Aws::S3Control
2246
2263
  #
2247
2264
  # @!attribute [rw] function_arn
2248
2265
  # The Amazon Resource Name (ARN) for the AWS Lambda function that the
2249
- # specified job will invoke for each object in the manifest.
2266
+ # specified job will invoke on every object in the manifest.
2250
2267
  # @return [String]
2251
2268
  #
2252
2269
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
@@ -2544,6 +2561,14 @@ module Aws::S3Control
2544
2561
  #
2545
2562
  # @!attribute [rw] prefix
2546
2563
  # Prefix identifying one or more objects to which the rule applies.
2564
+ #
2565
+ # Replacement must be made for object keys containing special
2566
+ # characters (such as carriage returns) when using XML requests. For
2567
+ # more information, see [ XML related object key constraints][1].
2568
+ #
2569
+ #
2570
+ #
2571
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints
2547
2572
  # @return [String]
2548
2573
  #
2549
2574
  # @!attribute [rw] tag
@@ -2653,6 +2678,7 @@ module Aws::S3Control
2653
2678
  # }
2654
2679
  #
2655
2680
  # @!attribute [rw] account_id
2681
+ # The AWS account ID associated with the S3 Batch Operations job.
2656
2682
  # @return [String]
2657
2683
  #
2658
2684
  # @!attribute [rw] job_statuses
@@ -2934,7 +2960,7 @@ module Aws::S3Control
2934
2960
  # Indicates whether this access point policy is public. For more
2935
2961
  # information about how Amazon S3 evaluates policies to determine
2936
2962
  # whether they are public, see [The Meaning of "Public"][1] in the
2937
- # *Amazon Simple Storage Service Developer Guide*.
2963
+ # *Amazon Simple Storage Service User Guide*.
2938
2964
  #
2939
2965
  #
2940
2966
  #
@@ -3133,7 +3159,7 @@ module Aws::S3Control
3133
3159
  # The policy that you want to apply to the specified access point. For
3134
3160
  # more information about access point policies, see [Managing data
3135
3161
  # access with Amazon S3 Access Points][1] in the *Amazon Simple
3136
- # Storage Service Developer Guide*.
3162
+ # Storage Service User Guide*.
3137
3163
  #
3138
3164
  #
3139
3165
  #
@@ -3714,8 +3740,8 @@ module Aws::S3Control
3714
3740
  end
3715
3741
 
3716
3742
  # Contains the configuration parameters for a PUT Copy object operation.
3717
- # S3 Batch Operations passes each value through to the underlying PUT
3718
- # Copy object API. For more information about the parameters for this
3743
+ # S3 Batch Operations passes every object to the underlying PUT Copy
3744
+ # object API. For more information about the parameters for this
3719
3745
  # operation, see [PUT Object - Copy][1].
3720
3746
  #
3721
3747
  #
@@ -3860,6 +3886,16 @@ module Aws::S3Control
3860
3886
  include Aws::Structure
3861
3887
  end
3862
3888
 
3889
+ # Contains no configuration parameters because the DELETE Object tagging
3890
+ # API only accepts the bucket name and key name as parameters, which are
3891
+ # defined in the job's manifest.
3892
+ #
3893
+ # @api private
3894
+ #
3895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3DeleteObjectTaggingOperation AWS API Documentation
3896
+ #
3897
+ class S3DeleteObjectTaggingOperation < Aws::EmptyStructure; end
3898
+
3863
3899
  # @note When making an API call, you may pass S3Grant
3864
3900
  # data as a hash:
3865
3901
  #
@@ -3915,8 +3951,8 @@ module Aws::S3Control
3915
3951
  include Aws::Structure
3916
3952
  end
3917
3953
 
3918
- # Contains the configuration parameters for an Initiate Glacier Restore
3919
- # job. S3 Batch Operations passes each value through to the underlying
3954
+ # Contains the configuration parameters for an S3 Initiate Restore
3955
+ # Object job. S3 Batch Operations passes every object to the underlying
3920
3956
  # POST Object restore API. For more information about the parameters for
3921
3957
  # this operation, see [RestoreObject][1].
3922
3958
  #
@@ -3933,9 +3969,29 @@ module Aws::S3Control
3933
3969
  # }
3934
3970
  #
3935
3971
  # @!attribute [rw] expiration_in_days
3972
+ # This argument specifies how long the S3 Glacier or S3 Glacier Deep
3973
+ # Archive object remains available in Amazon S3. S3 Initiate Restore
3974
+ # Object jobs that target S3 Glacier and S3 Glacier Deep Archive
3975
+ # objects require `ExpirationInDays` set to 1 or greater.
3976
+ #
3977
+ # Conversely, do *not* set `ExpirationInDays` when creating S3
3978
+ # Initiate Restore Object jobs that target S3 Intelligent-Tiering
3979
+ # Archive Access and Deep Archive Access tier objects. Objects in S3
3980
+ # Intelligent-Tiering archive access tiers are not subject to restore
3981
+ # expiry, so specifying `ExpirationInDays` results in restore request
3982
+ # failure.
3983
+ #
3984
+ # S3 Batch Operations jobs can operate either on S3 Glacier and S3
3985
+ # Glacier Deep Archive storage class objects or on S3
3986
+ # Intelligent-Tiering Archive Access and Deep Archive Access storage
3987
+ # tier objects, but not both types in the same job. If you need to
3988
+ # restore objects of both types you *must* create separate Batch
3989
+ # Operations jobs.
3936
3990
  # @return [Integer]
3937
3991
  #
3938
3992
  # @!attribute [rw] glacier_job_tier
3993
+ # S3 Batch Operations supports `STANDARD` and `BULK` retrieval tiers,
3994
+ # but not the `EXPEDITED` retrieval tier.
3939
3995
  # @return [String]
3940
3996
  #
3941
3997
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3InitiateRestoreObjectOperation AWS API Documentation
@@ -4068,7 +4124,7 @@ module Aws::S3Control
4068
4124
  # and `RetainUntilDate` data types in your operation, you will remove
4069
4125
  # the retention from your objects. For more information, see [Using S3
4070
4126
  # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4071
- # Simple Storage Service Developer Guide*.
4127
+ # Simple Storage Service User Guide*.
4072
4128
  #
4073
4129
  #
4074
4130
  #
@@ -4102,9 +4158,9 @@ module Aws::S3Control
4102
4158
  end
4103
4159
 
4104
4160
  # Contains the configuration parameters for a Set Object ACL operation.
4105
- # S3 Batch Operations passes each value through to the underlying PUT
4106
- # Object acl API. For more information about the parameters for this
4107
- # operation, see [PUT Object acl][1].
4161
+ # S3 Batch Operations passes every object to the underlying PUT Object
4162
+ # acl API. For more information about the parameters for this operation,
4163
+ # see [PUT Object acl][1].
4108
4164
  #
4109
4165
  #
4110
4166
  #
@@ -4147,10 +4203,10 @@ module Aws::S3Control
4147
4203
  end
4148
4204
 
4149
4205
  # Contains the configuration for an S3 Object Lock legal hold operation
4150
- # that an S3 Batch Operations job passes each object through to the
4151
- # underlying `PutObjectLegalHold` API. For more information, see [Using
4152
- # S3 Object Lock legal hold with S3 Batch Operations][1] in the *Amazon
4153
- # Simple Storage Service Developer Guide*.
4206
+ # that an S3 Batch Operations job passes every object to the underlying
4207
+ # `PutObjectLegalHold` API. For more information, see [Using S3 Object
4208
+ # Lock legal hold with S3 Batch Operations][1] in the *Amazon Simple
4209
+ # Storage Service User Guide*.
4154
4210
  #
4155
4211
  #
4156
4212
  #
@@ -4179,10 +4235,10 @@ module Aws::S3Control
4179
4235
  end
4180
4236
 
4181
4237
  # Contains the configuration parameters for the Object Lock retention
4182
- # action for an S3 Batch Operations job. Batch Operations passes each
4183
- # value through to the underlying `PutObjectRetention` API. For more
4238
+ # action for an S3 Batch Operations job. Batch Operations passes every
4239
+ # object to the underlying `PutObjectRetention` API. For more
4184
4240
  # information, see [Using S3 Object Lock retention with S3 Batch
4185
- # Operations][1] in the *Amazon Simple Storage Service Developer Guide*.
4241
+ # Operations][1] in the *Amazon Simple Storage Service User Guide*.
4186
4242
  #
4187
4243
  #
4188
4244
  #
@@ -4209,7 +4265,7 @@ module Aws::S3Control
4209
4265
  # Contains the Object Lock retention mode to be applied to all objects
4210
4266
  # in the Batch Operations job. For more information, see [Using S3
4211
4267
  # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4212
- # Simple Storage Service Developer Guide*.
4268
+ # Simple Storage Service User Guide*.
4213
4269
  #
4214
4270
  #
4215
4271
  #
@@ -4226,9 +4282,9 @@ module Aws::S3Control
4226
4282
  end
4227
4283
 
4228
4284
  # Contains the configuration parameters for a Set Object Tagging
4229
- # operation. S3 Batch Operations passes each value through to the
4230
- # underlying PUT Object tagging API. For more information about the
4231
- # parameters for this operation, see [PUT Object tagging][1].
4285
+ # operation. S3 Batch Operations passes every object to the underlying
4286
+ # PUT Object tagging API. For more information about the parameters for
4287
+ # this operation, see [PUT Object tagging][1].
4232
4288
  #
4233
4289
  #
4234
4290
  #
@@ -4511,6 +4567,11 @@ module Aws::S3Control
4511
4567
  # @!attribute [rw] s3_bucket_destination
4512
4568
  # A container for the bucket where the S3 Storage Lens metrics export
4513
4569
  # will be located.
4570
+ #
4571
+ # <note markdown="1"> This bucket must be located in the same Region as the storage lens
4572
+ # configuration.
4573
+ #
4574
+ # </note>
4514
4575
  # @return [Types::S3BucketDestination]
4515
4576
  #
4516
4577
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExport AWS API Documentation
@@ -4624,7 +4685,7 @@ module Aws::S3Control
4624
4685
  # Specifies when an object transitions to a specified storage class. For
4625
4686
  # more information about Amazon S3 Lifecycle configuration rules, see [
4626
4687
  # Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon
4627
- # Simple Storage Service Developer Guide*.
4688
+ # Simple Storage Service User Guide*.
4628
4689
  #
4629
4690
  #
4630
4691
  #
@@ -4675,6 +4736,7 @@ module Aws::S3Control
4675
4736
  # }
4676
4737
  #
4677
4738
  # @!attribute [rw] account_id
4739
+ # The AWS account ID associated with the S3 Batch Operations job.
4678
4740
  # @return [String]
4679
4741
  #
4680
4742
  # @!attribute [rw] job_id
@@ -4723,6 +4785,7 @@ module Aws::S3Control
4723
4785
  # }
4724
4786
  #
4725
4787
  # @!attribute [rw] account_id
4788
+ # The AWS account ID associated with the S3 Batch Operations job.
4726
4789
  # @return [String]
4727
4790
  #
4728
4791
  # @!attribute [rw] job_id