aws-sdk-s3control 1.25.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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