aws-sdk-s3control 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,8 @@ module Aws::S3Control
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {BadRequestException}
31
+ # * {BucketAlreadyExists}
32
+ # * {BucketAlreadyOwnedByYou}
31
33
  # * {IdempotencyException}
32
34
  # * {InternalServiceException}
33
35
  # * {InvalidNextTokenException}
@@ -59,6 +61,26 @@ module Aws::S3Control
59
61
  end
60
62
  end
61
63
 
64
+ class BucketAlreadyExists < ServiceError
65
+
66
+ # @param [Seahorse::Client::RequestContext] context
67
+ # @param [String] message
68
+ # @param [Aws::S3Control::Types::BucketAlreadyExists] data
69
+ def initialize(context, message, data = Aws::EmptyStructure.new)
70
+ super(context, message, data)
71
+ end
72
+ end
73
+
74
+ class BucketAlreadyOwnedByYou < ServiceError
75
+
76
+ # @param [Seahorse::Client::RequestContext] context
77
+ # @param [String] message
78
+ # @param [Aws::S3Control::Types::BucketAlreadyOwnedByYou] data
79
+ def initialize(context, message, data = Aws::EmptyStructure.new)
80
+ super(context, message, data)
81
+ end
82
+ end
83
+
62
84
  class IdempotencyException < ServiceError
63
85
 
64
86
  # @param [Seahorse::Client::RequestContext] context
@@ -0,0 +1,215 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../arn/outpost_access_point_arn'
4
+ require_relative '../arn/outpost_bucket_arn'
5
+
6
+ module Aws
7
+ module S3Control
8
+ module Plugins
9
+ # When an ARN is provided for :bucket or :name in S3Control operations,
10
+ # this plugin resolves the request endpoint from the ARN when possible.
11
+ # @api private
12
+ class ARN < Seahorse::Client::Plugin
13
+ option(
14
+ :s3_use_arn_region,
15
+ default: true,
16
+ doc_type: 'Boolean',
17
+ docstring: <<-DOCS) do |cfg|
18
+ For S3 and S3 Outposts ARNs passed into the `:bucket` or `:name`
19
+ parameter, this option will use the region in the ARN, allowing
20
+ for cross-region requests to be made. Set to `false` to use the
21
+ client's region instead.
22
+ DOCS
23
+ resolve_s3_use_arn_region(cfg)
24
+ end
25
+
26
+ # param validator is validate:50 (required to add account_id from arn)
27
+ # endpoint is build:90 (populates the URI for the first time)
28
+ # endpoint pattern is build:10 (prefix account id to host)
29
+ def add_handlers(handlers, _config)
30
+ handlers.add(ARNHandler, step: :validate, priority: 75)
31
+ handlers.add(UrlHandler)
32
+ end
33
+
34
+ class UrlHandler < Seahorse::Client::Handler
35
+ def call(context)
36
+ if context.metadata[:s3_arn]
37
+ ARN.resolve_url!(
38
+ context.http_request.endpoint,
39
+ context.metadata[:s3_arn][:arn],
40
+ context.metadata[:s3_arn][:resolved_region],
41
+ context.metadata[:s3_arn][:dualstack]
42
+ )
43
+ end
44
+ @handler.call(context)
45
+ end
46
+ end
47
+
48
+ class ARNHandler < Seahorse::Client::Handler
49
+ def call(context)
50
+ arn_member = _arn_member(context.operation.input.shape)
51
+ if arn_member && (bucket = context.params[arn_member])
52
+ resolved_region, arn = ARN.resolve_arn!(
53
+ bucket,
54
+ context.config.region,
55
+ context.config.s3_use_arn_region
56
+ )
57
+ if arn
58
+ validate_config!(context, arn)
59
+
60
+ if arn.is_a?(OutpostAccessPointARN) ||
61
+ arn.is_a?(OutpostBucketARN)
62
+ set_outpost_header!(context, arn)
63
+ # disable account_id prefix for outposts urls
64
+ context.config.disable_host_prefix_injection = true
65
+ end
66
+ set_account_param!(context, arn)
67
+
68
+ # depending on the ARN's resource type, put the resource value
69
+ # back onto params
70
+ context.params[arn_member] = arn.input_member
71
+
72
+ context.metadata[:s3_arn] = {
73
+ arn: arn,
74
+ resolved_region: resolved_region,
75
+ dualstack: extract_dualstack_config!(context)
76
+ }
77
+ end
78
+ end
79
+ @handler.call(context)
80
+ end
81
+
82
+ private
83
+
84
+ # This looks for BucketName or AccessPointName, but prefers BucketName
85
+ # for CreateAccessPoint because it contains both but should not have
86
+ # an Access Point ARN as AccessPointName.
87
+ def _arn_member(input)
88
+ input.members.each do |member, ref|
89
+ if ref.shape.name == 'BucketName' ||
90
+ (ref.shape.name == 'AccessPointName' &&
91
+ input.name != 'CreateAccessPointRequest')
92
+ return member
93
+ end
94
+ end
95
+ end
96
+
97
+ # other plugins use dualstack so disable it when we're done
98
+ def extract_dualstack_config!(context)
99
+ dualstack = context[:use_dualstack_endpoint]
100
+ context[:use_dualstack_endpoint] = false if dualstack
101
+ dualstack
102
+ end
103
+
104
+ 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
+ if !arn.support_dualstack? && context[:use_dualstack_endpoint]
112
+ raise ArgumentError,
113
+ 'Cannot provide both an Outpost Access Point ARN and '\
114
+ 'setting :use_dualstack_endpoint to true.'
115
+ end
116
+ end
117
+
118
+ def set_outpost_header!(context, arn)
119
+ context.http_request.headers['x-amz-outpost-id'] = arn.outpost_id
120
+ end
121
+
122
+ def set_account_param!(context, arn)
123
+ if context.params[:account_id] &&
124
+ context.params[:account_id] != arn.account_id
125
+ raise ArgumentError,
126
+ 'Cannot provide an Account ID that is different from the '\
127
+ 'Account ID in the ARN.'
128
+ end
129
+ context.params[:account_id] = arn.account_id
130
+ end
131
+ end
132
+
133
+ class << self
134
+ # @api private
135
+ def resolve_arn!(member_value, region, use_arn_region)
136
+ if Aws::ARNParser.arn?(member_value)
137
+ arn = Aws::ARNParser.parse(member_value)
138
+ if arn.resource.include?('bucket')
139
+ s3_arn = Aws::S3Control::OutpostBucketARN.new(arn.to_h)
140
+ elsif arn.resource.include?('accesspoint')
141
+ s3_arn = Aws::S3Control::OutpostAccessPointARN.new(arn.to_h)
142
+ else
143
+ raise ArgumentError,
144
+ 'Only Outpost Bucket and Outpost Access Point ARNs are '\
145
+ 'currently supported.'
146
+ end
147
+ s3_arn.validate_arn!
148
+ validate_region_config!(s3_arn, region, use_arn_region)
149
+ region = s3_arn.region if use_arn_region
150
+ [region, s3_arn]
151
+ else
152
+ [region]
153
+ end
154
+ end
155
+
156
+ # @api private
157
+ def resolve_url!(url, arn, region, dualstack = false)
158
+ url.host = arn.host_url(region, dualstack)
159
+ url
160
+ end
161
+
162
+ private
163
+
164
+ def resolve_s3_use_arn_region(cfg)
165
+ value = ENV['AWS_S3_USE_ARN_REGION'] ||
166
+ Aws.shared_config.s3_use_arn_region(profile: cfg.profile) ||
167
+ 'true'
168
+ value = Aws::Util.str_2_bool(value)
169
+ # Raise if provided value is not true or false
170
+ if value.nil?
171
+ 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']"
175
+ end
176
+ value
177
+ end
178
+
179
+ def validate_region_config!(arn, region, use_arn_region)
180
+ fips = arn.support_fips?
181
+
182
+ # s3-external-1 is specific just to s3 and not part of partitions
183
+ # aws-global is a partition region
184
+ unless arn.partition == 'aws' &&
185
+ (region == 's3-external-1' || region == 'aws-global')
186
+ if !fips && arn.region.include?('fips')
187
+ raise ArgumentError,
188
+ 'FIPS region ARNs are not supported for this type of ARN.'
189
+ end
190
+
191
+ if !fips && !use_arn_region && region.include?('fips')
192
+ raise ArgumentError,
193
+ 'FIPS client regions are not supported for this type of '\
194
+ 'ARN without s3_use_arn_region.'
195
+ end
196
+
197
+ # if it's a fips region, attempt to normalize it
198
+ if fips || use_arn_region
199
+ region = region.gsub('fips-', '').gsub('-fips', '')
200
+ end
201
+ if use_arn_region &&
202
+ !Aws::Partitions.partition(arn.partition).region?(region)
203
+ raise Aws::Errors::InvalidARNPartitionError
204
+ end
205
+
206
+ if !use_arn_region && region != arn.region
207
+ raise Aws::Errors::InvalidARNRegionError
208
+ end
209
+ end
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
215
+ end
@@ -7,10 +7,15 @@ module Aws
7
7
  module Plugins
8
8
  # This plugin is an implementation detail and may be modified.
9
9
  # @api private
10
- class S3Signer < Seahorse::Client::Plugin
10
+ class S3ControlSigner < Seahorse::Client::Plugin
11
+ SPECIAL_OUTPOST_OPERATIONS = [
12
+ 'CreateBucket',
13
+ 'ListRegionalBuckets'
14
+ ].freeze
11
15
 
12
16
  option(:sigv4_signer) do |cfg|
13
- S3Signer.build_v4_signer(
17
+ S3ControlSigner.build_v4_signer(
18
+ service: 's3',
14
19
  region: cfg.sigv4_region,
15
20
  credentials: cfg.credentials
16
21
  )
@@ -22,12 +27,11 @@ module Aws
22
27
  Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3')
23
28
  end
24
29
 
25
- def add_handlers(handlers, cfg)
30
+ def add_handlers(handlers, _cfg)
26
31
  handlers.add(V4Handler, step: :sign)
27
32
  end
28
33
 
29
34
  class V4Handler < Seahorse::Client::Handler
30
-
31
35
  def call(context)
32
36
  Aws::Plugins::SignatureV4.apply_signature(
33
37
  context: context,
@@ -39,47 +43,48 @@ module Aws
39
43
  private
40
44
 
41
45
  def sigv4_signer(context)
42
- # If the client was configured with the wrong region,
43
- # we have to build a new signer.
44
- if
45
- context[:cached_sigv4_region] &&
46
- context[:cached_sigv4_region] != context.config.sigv4_signer.region
47
- then
48
- S3Signer.build_v4_signer(
49
- region: context[:cached_sigv4_region],
46
+ if (arn = context.metadata[:s3_arn]) &&
47
+ arn[:arn].respond_to?(:outpost_id)
48
+ S3ControlSigner.build_v4_signer(
49
+ service: 's3-outposts',
50
+ region: arn[:resolved_region],
51
+ credentials: context.config.credentials
52
+ )
53
+ elsif outpost_operation?(context)
54
+ context.http_request.endpoint.host =
55
+ "s3-outposts.#{context.config.region}.amazonaws.com"
56
+ S3ControlSigner.build_v4_signer(
57
+ service: 's3-outposts',
58
+ region: context.config.region,
50
59
  credentials: context.config.credentials
51
60
  )
52
61
  else
53
62
  context.config.sigv4_signer
54
63
  end
55
64
  end
65
+
66
+ # Some operations do not take an ARN parameter and are special cases
67
+ # For these operations, the presence of the outpost_id parameter
68
+ # must trigger special endpoint and signer redirection
69
+ def outpost_operation?(context)
70
+ SPECIAL_OUTPOST_OPERATIONS.include?(context.operation.name) &&
71
+ context.params[:outpost_id]
72
+ end
56
73
  end
57
74
 
58
75
  class << self
59
-
60
76
  # @option options [required, String] :region
61
77
  # @option options [required, #credentials] :credentials
62
78
  # @api private
63
79
  def build_v4_signer(options = {})
64
- Aws::Sigv4::Signer.new({
65
- service: 's3',
80
+ Aws::Sigv4::Signer.new(
81
+ service: options[:service],
66
82
  region: options[:region],
67
83
  credentials_provider: options[:credentials],
68
84
  uri_escape_path: false,
69
- unsigned_headers: ['content-length', 'x-amzn-trace-id'],
70
- })
71
- end
72
-
73
- def new_hostname(context, region)
74
- bucket = context.params[:bucket]
75
- if region == 'us-east-1'
76
- "#{bucket}.s3.amazonaws.com"
77
- else
78
- endpoint = Aws::Partitions::EndpointProvider.resolve(region, 's3')
79
- bucket + '.' + URI.parse(endpoint).host
80
- end
85
+ unsigned_headers: ['content-length', 'x-amzn-trace-id']
86
+ )
81
87
  end
82
-
83
88
  end
84
89
  end
85
90
  end
@@ -10,6 +10,28 @@
10
10
  module Aws::S3Control
11
11
  module Types
12
12
 
13
+ # The container for abort incomplete multipart upload
14
+ #
15
+ # @note When making an API call, you may pass AbortIncompleteMultipartUpload
16
+ # data as a hash:
17
+ #
18
+ # {
19
+ # days_after_initiation: 1,
20
+ # }
21
+ #
22
+ # @!attribute [rw] days_after_initiation
23
+ # Specifies the number of days after which Amazon S3 aborts an
24
+ # incomplete multipart upload to the Outposts bucket.
25
+ # @return [Integer]
26
+ #
27
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AbortIncompleteMultipartUpload AWS API Documentation
28
+ #
29
+ class AbortIncompleteMultipartUpload < Struct.new(
30
+ :days_after_initiation)
31
+ SENSITIVE = []
32
+ include Aws::Structure
33
+ end
34
+
13
35
  # An access point used to access a bucket.
14
36
  #
15
37
  # @!attribute [rw] name
@@ -34,13 +56,18 @@ module Aws::S3Control
34
56
  # The name of the bucket associated with this access point.
35
57
  # @return [String]
36
58
  #
59
+ # @!attribute [rw] access_point_arn
60
+ # The ARN for the access point.
61
+ # @return [String]
62
+ #
37
63
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessPoint AWS API Documentation
38
64
  #
39
65
  class AccessPoint < Struct.new(
40
66
  :name,
41
67
  :network_origin,
42
68
  :vpc_configuration,
43
- :bucket)
69
+ :bucket,
70
+ :access_point_arn)
44
71
  SENSITIVE = []
45
72
  include Aws::Structure
46
73
  end
@@ -56,6 +83,21 @@ module Aws::S3Control
56
83
  include Aws::Structure
57
84
  end
58
85
 
86
+ # The requested Outposts bucket name is not available. The bucket
87
+ # namespace is shared by all users of the AWS Outposts in this Region.
88
+ # Select a different name and try again.
89
+ #
90
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyExists AWS API Documentation
91
+ #
92
+ class BucketAlreadyExists < Aws::EmptyStructure; end
93
+
94
+ # The Outposts bucket you tried to create already exists, and you own
95
+ # it.
96
+ #
97
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyOwnedByYou AWS API Documentation
98
+ #
99
+ class BucketAlreadyOwnedByYou < Aws::EmptyStructure; end
100
+
59
101
  # @note When making an API call, you may pass CreateAccessPointRequest
60
102
  # data as a hash:
61
103
  #
@@ -86,11 +128,25 @@ module Aws::S3Control
86
128
  # @!attribute [rw] bucket
87
129
  # The name of the bucket that you want to associate this access point
88
130
  # with.
131
+ #
132
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
133
+ # the format
134
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
135
+ # For example, to access the bucket `reports` through outpost
136
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
137
+ # use the URL encoding of
138
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
139
+ # The value must be URL encoded.
89
140
  # @return [String]
90
141
  #
91
142
  # @!attribute [rw] vpc_configuration
92
143
  # If you include this field, Amazon S3 restricts access to this access
93
144
  # point to requests from the specified virtual private cloud (VPC).
145
+ #
146
+ # <note markdown="1"> This is required for creating an access point for Amazon S3 on
147
+ # Outposts buckets.
148
+ #
149
+ # </note>
94
150
  # @return [Types::VpcConfiguration]
95
151
  #
96
152
  # @!attribute [rw] public_access_block_configuration
@@ -98,7 +154,9 @@ module Aws::S3Control
98
154
  # Amazon S3 bucket. You can enable the configuration options in any
99
155
  # combination. For more information about when Amazon S3 considers a
100
156
  # bucket or object public, see [The Meaning of "Public"][1] in the
101
- # Amazon Simple Storage Service Developer Guide.
157
+ # *Amazon Simple Storage Service Developer Guide*.
158
+ #
159
+ # This is not supported for Amazon S3 on Outposts.
102
160
  #
103
161
  #
104
162
  #
@@ -117,6 +175,189 @@ module Aws::S3Control
117
175
  include Aws::Structure
118
176
  end
119
177
 
178
+ # @!attribute [rw] access_point_arn
179
+ # The ARN of the access point.
180
+ # @return [String]
181
+ #
182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointResult AWS API Documentation
183
+ #
184
+ class CreateAccessPointResult < Struct.new(
185
+ :access_point_arn)
186
+ SENSITIVE = []
187
+ include Aws::Structure
188
+ end
189
+
190
+ # The container for the bucket configuration.
191
+ #
192
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
193
+ #
194
+ # </note>
195
+ #
196
+ # @note When making an API call, you may pass CreateBucketConfiguration
197
+ # data as a hash:
198
+ #
199
+ # {
200
+ # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
201
+ # }
202
+ #
203
+ # @!attribute [rw] location_constraint
204
+ # Specifies the Region where the bucket will be created. If you are
205
+ # creating a bucket on the US East (N. Virginia) Region (us-east-1),
206
+ # you do not need to specify the location.
207
+ #
208
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
209
+ #
210
+ # </note>
211
+ # @return [String]
212
+ #
213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketConfiguration AWS API Documentation
214
+ #
215
+ class CreateBucketConfiguration < Struct.new(
216
+ :location_constraint)
217
+ SENSITIVE = []
218
+ include Aws::Structure
219
+ end
220
+
221
+ # @note When making an API call, you may pass CreateBucketRequest
222
+ # data as a hash:
223
+ #
224
+ # {
225
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
226
+ # bucket: "BucketName", # required
227
+ # create_bucket_configuration: {
228
+ # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
229
+ # },
230
+ # grant_full_control: "GrantFullControl",
231
+ # grant_read: "GrantRead",
232
+ # grant_read_acp: "GrantReadACP",
233
+ # grant_write: "GrantWrite",
234
+ # grant_write_acp: "GrantWriteACP",
235
+ # object_lock_enabled_for_bucket: false,
236
+ # outpost_id: "NonEmptyMaxLength64String",
237
+ # }
238
+ #
239
+ # @!attribute [rw] acl
240
+ # The canned ACL to apply to the bucket.
241
+ #
242
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
243
+ #
244
+ # </note>
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] bucket
248
+ # The name of the bucket.
249
+ # @return [String]
250
+ #
251
+ # @!attribute [rw] create_bucket_configuration
252
+ # The configuration information for the bucket.
253
+ #
254
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
255
+ #
256
+ # </note>
257
+ # @return [Types::CreateBucketConfiguration]
258
+ #
259
+ # @!attribute [rw] grant_full_control
260
+ # Allows grantee the read, write, read ACP, and write ACP permissions
261
+ # on the bucket.
262
+ #
263
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
264
+ #
265
+ # </note>
266
+ # @return [String]
267
+ #
268
+ # @!attribute [rw] grant_read
269
+ # Allows grantee to list the objects in the bucket.
270
+ #
271
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
272
+ #
273
+ # </note>
274
+ # @return [String]
275
+ #
276
+ # @!attribute [rw] grant_read_acp
277
+ # Allows grantee to read the bucket ACL.
278
+ #
279
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
280
+ #
281
+ # </note>
282
+ # @return [String]
283
+ #
284
+ # @!attribute [rw] grant_write
285
+ # Allows grantee to create, overwrite, and delete any object in the
286
+ # bucket.
287
+ #
288
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
289
+ #
290
+ # </note>
291
+ # @return [String]
292
+ #
293
+ # @!attribute [rw] grant_write_acp
294
+ # Allows grantee to write the ACL for the applicable bucket.
295
+ #
296
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
297
+ #
298
+ # </note>
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] object_lock_enabled_for_bucket
302
+ # Specifies whether you want S3 Object Lock to be enabled for the new
303
+ # bucket.
304
+ #
305
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
306
+ #
307
+ # </note>
308
+ # @return [Boolean]
309
+ #
310
+ # @!attribute [rw] outpost_id
311
+ # The ID of the Outposts where the bucket is being created.
312
+ #
313
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
314
+ #
315
+ # </note>
316
+ # @return [String]
317
+ #
318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketRequest AWS API Documentation
319
+ #
320
+ class CreateBucketRequest < Struct.new(
321
+ :acl,
322
+ :bucket,
323
+ :create_bucket_configuration,
324
+ :grant_full_control,
325
+ :grant_read,
326
+ :grant_read_acp,
327
+ :grant_write,
328
+ :grant_write_acp,
329
+ :object_lock_enabled_for_bucket,
330
+ :outpost_id)
331
+ SENSITIVE = []
332
+ include Aws::Structure
333
+ end
334
+
335
+ # @!attribute [rw] location
336
+ # The location of the bucket.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] bucket_arn
340
+ # The Amazon Resource Name (ARN) of the bucket.
341
+ #
342
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
343
+ # the format
344
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
345
+ # For example, to access the bucket `reports` through outpost
346
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
347
+ # use the URL encoding of
348
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
349
+ # The value must be URL encoded.
350
+ # @return [String]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketResult AWS API Documentation
353
+ #
354
+ class CreateBucketResult < Struct.new(
355
+ :location,
356
+ :bucket_arn)
357
+ SENSITIVE = []
358
+ include Aws::Structure
359
+ end
360
+
120
361
  # @note When making an API call, you may pass CreateJobRequest
121
362
  # data as a hash:
122
363
  #
@@ -250,6 +491,7 @@ module Aws::S3Control
250
491
  # }
251
492
  #
252
493
  # @!attribute [rw] account_id
494
+ # The AWS account ID that creates the job.
253
495
  # @return [String]
254
496
  #
255
497
  # @!attribute [rw] confirmation_required
@@ -261,8 +503,8 @@ module Aws::S3Control
261
503
  # @!attribute [rw] operation
262
504
  # The operation that you want this job to perform on each object
263
505
  # listed in the manifest. For more information about the available
264
- # operations, see [Available Operations][1] in the *Amazon Simple
265
- # Storage Service Developer Guide*.
506
+ # operations, see [Operations][1] in the *Amazon Simple Storage
507
+ # Service Developer Guide*.
266
508
  #
267
509
  #
268
510
  #
@@ -299,13 +541,13 @@ module Aws::S3Control
299
541
  #
300
542
  # @!attribute [rw] role_arn
301
543
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
302
- # Management (IAM) role that Batch Operations will use to execute this
544
+ # Management (IAM) role that Batch Operations will use to run this
303
545
  # job's operation on each object in the manifest.
304
546
  # @return [String]
305
547
  #
306
548
  # @!attribute [rw] tags
307
- # A set of tags to associate with the Amazon S3 Batch Operations job.
308
- # This is an optional parameter.
549
+ # A set of tags to associate with the S3 Batch Operations job. This is
550
+ # an optional parameter.
309
551
  # @return [Array<Types::S3Tag>]
310
552
  #
311
553
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
@@ -352,6 +594,15 @@ module Aws::S3Control
352
594
  #
353
595
  # @!attribute [rw] name
354
596
  # The name of the access point whose policy you want to delete.
597
+ #
598
+ # For Amazon S3 on Outposts specify the ARN of the access point
599
+ # accessed in the format
600
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
601
+ # For example, to access the access point `reports-ap` through outpost
602
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
603
+ # use the URL encoding of
604
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
605
+ # The value must be URL encoded.
355
606
  # @return [String]
356
607
  #
357
608
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyRequest AWS API Documentation
@@ -377,6 +628,15 @@ module Aws::S3Control
377
628
  #
378
629
  # @!attribute [rw] name
379
630
  # The name of the access point you want to delete.
631
+ #
632
+ # For Amazon S3 on Outposts specify the ARN of the access point
633
+ # accessed in the format
634
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
635
+ # For example, to access the access point `reports-ap` through outpost
636
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
637
+ # use the URL encoding of
638
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
639
+ # The value must be URL encoded.
380
640
  # @return [String]
381
641
  #
382
642
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointRequest AWS API Documentation
@@ -388,6 +648,142 @@ module Aws::S3Control
388
648
  include Aws::Structure
389
649
  end
390
650
 
651
+ # @note When making an API call, you may pass DeleteBucketLifecycleConfigurationRequest
652
+ # data as a hash:
653
+ #
654
+ # {
655
+ # account_id: "AccountId", # required
656
+ # bucket: "BucketName", # required
657
+ # }
658
+ #
659
+ # @!attribute [rw] account_id
660
+ # The account ID of the lifecycle configuration to delete.
661
+ # @return [String]
662
+ #
663
+ # @!attribute [rw] bucket
664
+ # The bucket ARN of the bucket.
665
+ #
666
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
667
+ # the format
668
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
669
+ # For example, to access the bucket `reports` through outpost
670
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
671
+ # use the URL encoding of
672
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
673
+ # The value must be URL encoded.
674
+ # @return [String]
675
+ #
676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfigurationRequest AWS API Documentation
677
+ #
678
+ class DeleteBucketLifecycleConfigurationRequest < Struct.new(
679
+ :account_id,
680
+ :bucket)
681
+ SENSITIVE = []
682
+ include Aws::Structure
683
+ end
684
+
685
+ # @note When making an API call, you may pass DeleteBucketPolicyRequest
686
+ # data as a hash:
687
+ #
688
+ # {
689
+ # account_id: "AccountId", # required
690
+ # bucket: "BucketName", # required
691
+ # }
692
+ #
693
+ # @!attribute [rw] account_id
694
+ # The account ID of the Outposts bucket.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] bucket
698
+ # The ARN of the bucket.
699
+ #
700
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
701
+ # the format
702
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
703
+ # For example, to access the bucket `reports` through outpost
704
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
705
+ # use the URL encoding of
706
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
707
+ # The value must be URL encoded.
708
+ # @return [String]
709
+ #
710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicyRequest AWS API Documentation
711
+ #
712
+ class DeleteBucketPolicyRequest < Struct.new(
713
+ :account_id,
714
+ :bucket)
715
+ SENSITIVE = []
716
+ include Aws::Structure
717
+ end
718
+
719
+ # @note When making an API call, you may pass DeleteBucketRequest
720
+ # data as a hash:
721
+ #
722
+ # {
723
+ # account_id: "AccountId", # required
724
+ # bucket: "BucketName", # required
725
+ # }
726
+ #
727
+ # @!attribute [rw] account_id
728
+ # The account ID that owns the Outposts bucket.
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] bucket
732
+ # Specifies the bucket being deleted.
733
+ #
734
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
735
+ # the format
736
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
737
+ # For example, to access the bucket `reports` through outpost
738
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
739
+ # use the URL encoding of
740
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
741
+ # The value must be URL encoded.
742
+ # @return [String]
743
+ #
744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketRequest AWS API Documentation
745
+ #
746
+ class DeleteBucketRequest < Struct.new(
747
+ :account_id,
748
+ :bucket)
749
+ SENSITIVE = []
750
+ include Aws::Structure
751
+ end
752
+
753
+ # @note When making an API call, you may pass DeleteBucketTaggingRequest
754
+ # data as a hash:
755
+ #
756
+ # {
757
+ # account_id: "AccountId", # required
758
+ # bucket: "BucketName", # required
759
+ # }
760
+ #
761
+ # @!attribute [rw] account_id
762
+ # The AWS account ID of the Outposts bucket tag set to be removed.
763
+ # @return [String]
764
+ #
765
+ # @!attribute [rw] bucket
766
+ # The bucket ARN that has the tag set to be removed.
767
+ #
768
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
769
+ # the format
770
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
771
+ # For example, to access the bucket `reports` through outpost
772
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
773
+ # use the URL encoding of
774
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
775
+ # The value must be URL encoded.
776
+ # @return [String]
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTaggingRequest AWS API Documentation
779
+ #
780
+ class DeleteBucketTaggingRequest < Struct.new(
781
+ :account_id,
782
+ :bucket)
783
+ SENSITIVE = []
784
+ include Aws::Structure
785
+ end
786
+
391
787
  # @note When making an API call, you may pass DeleteJobTaggingRequest
392
788
  # data as a hash:
393
789
  #
@@ -397,12 +793,11 @@ module Aws::S3Control
397
793
  # }
398
794
  #
399
795
  # @!attribute [rw] account_id
400
- # The AWS account ID associated with the Amazon S3 Batch Operations
401
- # job.
796
+ # The AWS account ID associated with the S3 Batch Operations job.
402
797
  # @return [String]
403
798
  #
404
799
  # @!attribute [rw] job_id
405
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
800
+ # The ID for the S3 Batch Operations job whose tags you want to
406
801
  # delete.
407
802
  # @return [String]
408
803
  #
@@ -427,8 +822,8 @@ module Aws::S3Control
427
822
  # }
428
823
  #
429
824
  # @!attribute [rw] account_id
430
- # The account ID for the Amazon Web Services account whose
431
- # `PublicAccessBlock` configuration you want to remove.
825
+ # The account ID for the AWS account whose `PublicAccessBlock`
826
+ # configuration you want to remove.
432
827
  # @return [String]
433
828
  #
434
829
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
@@ -490,6 +885,15 @@ module Aws::S3Control
490
885
  #
491
886
  # @!attribute [rw] name
492
887
  # The name of the access point whose policy you want to retrieve.
888
+ #
889
+ # For Amazon S3 on Outposts specify the ARN of the access point
890
+ # accessed in the format
891
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
892
+ # For example, to access the access point `reports-ap` through outpost
893
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
894
+ # use the URL encoding of
895
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
896
+ # The value must be URL encoded.
493
897
  # @return [String]
494
898
  #
495
899
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
@@ -566,6 +970,15 @@ module Aws::S3Control
566
970
  # @!attribute [rw] name
567
971
  # The name of the access point whose configuration information you
568
972
  # want to retrieve.
973
+ #
974
+ # For Amazon S3 on Outposts specify the ARN of the access point
975
+ # accessed in the format
976
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
977
+ # For example, to access the access point `reports-ap` through outpost
978
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
979
+ # use the URL encoding of
980
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
981
+ # The value must be URL encoded.
569
982
  # @return [String]
570
983
  #
571
984
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointRequest AWS API Documentation
@@ -592,6 +1005,8 @@ module Aws::S3Control
592
1005
  # access from the public internet. Otherwise, `NetworkOrigin` is
593
1006
  # `Internet`, and the access point allows access from the public
594
1007
  # internet, subject to the access point and bucket access policies.
1008
+ #
1009
+ # This will always be true for an Amazon S3 on Outposts access point
595
1010
  # @return [String]
596
1011
  #
597
1012
  # @!attribute [rw] vpc_configuration
@@ -604,7 +1019,9 @@ module Aws::S3Control
604
1019
  # Amazon S3 bucket. You can enable the configuration options in any
605
1020
  # combination. For more information about when Amazon S3 considers a
606
1021
  # bucket or object public, see [The Meaning of "Public"][1] in the
607
- # Amazon Simple Storage Service Developer Guide.
1022
+ # *Amazon Simple Storage Service Developer Guide*.
1023
+ #
1024
+ # This is not supported for Amazon S3 on Outposts.
608
1025
  #
609
1026
  #
610
1027
  #
@@ -628,6 +1045,199 @@ module Aws::S3Control
628
1045
  include Aws::Structure
629
1046
  end
630
1047
 
1048
+ # @note When making an API call, you may pass GetBucketLifecycleConfigurationRequest
1049
+ # data as a hash:
1050
+ #
1051
+ # {
1052
+ # account_id: "AccountId", # required
1053
+ # bucket: "BucketName", # required
1054
+ # }
1055
+ #
1056
+ # @!attribute [rw] account_id
1057
+ # The AWS account ID of the Outposts bucket.
1058
+ # @return [String]
1059
+ #
1060
+ # @!attribute [rw] bucket
1061
+ # The Amazon Resource Name (ARN) of the bucket.
1062
+ #
1063
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1064
+ # the format
1065
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1066
+ # For example, to access the bucket `reports` through outpost
1067
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1068
+ # use the URL encoding of
1069
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1070
+ # The value must be URL encoded.
1071
+ # @return [String]
1072
+ #
1073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationRequest AWS API Documentation
1074
+ #
1075
+ class GetBucketLifecycleConfigurationRequest < Struct.new(
1076
+ :account_id,
1077
+ :bucket)
1078
+ SENSITIVE = []
1079
+ include Aws::Structure
1080
+ end
1081
+
1082
+ # @!attribute [rw] rules
1083
+ # Container for the lifecycle rule of the Outposts bucket.
1084
+ # @return [Array<Types::LifecycleRule>]
1085
+ #
1086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationResult AWS API Documentation
1087
+ #
1088
+ class GetBucketLifecycleConfigurationResult < Struct.new(
1089
+ :rules)
1090
+ SENSITIVE = []
1091
+ include Aws::Structure
1092
+ end
1093
+
1094
+ # @note When making an API call, you may pass GetBucketPolicyRequest
1095
+ # data as a hash:
1096
+ #
1097
+ # {
1098
+ # account_id: "AccountId", # required
1099
+ # bucket: "BucketName", # required
1100
+ # }
1101
+ #
1102
+ # @!attribute [rw] account_id
1103
+ # The AWS account ID of the Outposts bucket.
1104
+ # @return [String]
1105
+ #
1106
+ # @!attribute [rw] bucket
1107
+ # The ARN of the bucket.
1108
+ #
1109
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1110
+ # the format
1111
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1112
+ # For example, to access the bucket `reports` through outpost
1113
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1114
+ # use the URL encoding of
1115
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1116
+ # The value must be URL encoded.
1117
+ # @return [String]
1118
+ #
1119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyRequest AWS API Documentation
1120
+ #
1121
+ class GetBucketPolicyRequest < Struct.new(
1122
+ :account_id,
1123
+ :bucket)
1124
+ SENSITIVE = []
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] policy
1129
+ # The policy of the Outposts bucket.
1130
+ # @return [String]
1131
+ #
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyResult AWS API Documentation
1133
+ #
1134
+ class GetBucketPolicyResult < Struct.new(
1135
+ :policy)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
1140
+ # @note When making an API call, you may pass GetBucketRequest
1141
+ # data as a hash:
1142
+ #
1143
+ # {
1144
+ # account_id: "AccountId", # required
1145
+ # bucket: "BucketName", # required
1146
+ # }
1147
+ #
1148
+ # @!attribute [rw] account_id
1149
+ # The AWS account ID of the Outposts bucket.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] bucket
1153
+ # The ARN of the bucket.
1154
+ #
1155
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1156
+ # the format
1157
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1158
+ # For example, to access the bucket `reports` through outpost
1159
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1160
+ # use the URL encoding of
1161
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1162
+ # The value must be URL encoded.
1163
+ # @return [String]
1164
+ #
1165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketRequest AWS API Documentation
1166
+ #
1167
+ class GetBucketRequest < Struct.new(
1168
+ :account_id,
1169
+ :bucket)
1170
+ SENSITIVE = []
1171
+ include Aws::Structure
1172
+ end
1173
+
1174
+ # @!attribute [rw] bucket
1175
+ # The Outposts bucket requested.
1176
+ # @return [String]
1177
+ #
1178
+ # @!attribute [rw] public_access_block_enabled
1179
+ # @return [Boolean]
1180
+ #
1181
+ # @!attribute [rw] creation_date
1182
+ # The creation date of the Outposts bucket.
1183
+ # @return [Time]
1184
+ #
1185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketResult AWS API Documentation
1186
+ #
1187
+ class GetBucketResult < Struct.new(
1188
+ :bucket,
1189
+ :public_access_block_enabled,
1190
+ :creation_date)
1191
+ SENSITIVE = []
1192
+ include Aws::Structure
1193
+ end
1194
+
1195
+ # @note When making an API call, you may pass GetBucketTaggingRequest
1196
+ # data as a hash:
1197
+ #
1198
+ # {
1199
+ # account_id: "AccountId", # required
1200
+ # bucket: "BucketName", # required
1201
+ # }
1202
+ #
1203
+ # @!attribute [rw] account_id
1204
+ # The AWS account ID of the Outposts bucket.
1205
+ # @return [String]
1206
+ #
1207
+ # @!attribute [rw] bucket
1208
+ # The ARN of the bucket.
1209
+ #
1210
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
1211
+ # the format
1212
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1213
+ # For example, to access the bucket `reports` through outpost
1214
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1215
+ # use the URL encoding of
1216
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1217
+ # The value must be URL encoded.
1218
+ # @return [String]
1219
+ #
1220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingRequest AWS API Documentation
1221
+ #
1222
+ class GetBucketTaggingRequest < Struct.new(
1223
+ :account_id,
1224
+ :bucket)
1225
+ SENSITIVE = []
1226
+ include Aws::Structure
1227
+ end
1228
+
1229
+ # @!attribute [rw] tag_set
1230
+ # The tags set of the Outposts bucket.
1231
+ # @return [Array<Types::S3Tag>]
1232
+ #
1233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingResult AWS API Documentation
1234
+ #
1235
+ class GetBucketTaggingResult < Struct.new(
1236
+ :tag_set)
1237
+ SENSITIVE = []
1238
+ include Aws::Structure
1239
+ end
1240
+
631
1241
  # @note When making an API call, you may pass GetJobTaggingRequest
632
1242
  # data as a hash:
633
1243
  #
@@ -637,12 +1247,11 @@ module Aws::S3Control
637
1247
  # }
638
1248
  #
639
1249
  # @!attribute [rw] account_id
640
- # The AWS account ID associated with the Amazon S3 Batch Operations
641
- # job.
1250
+ # The AWS account ID associated with the S3 Batch Operations job.
642
1251
  # @return [String]
643
1252
  #
644
1253
  # @!attribute [rw] job_id
645
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1254
+ # The ID for the S3 Batch Operations job whose tags you want to
646
1255
  # retrieve.
647
1256
  # @return [String]
648
1257
  #
@@ -656,7 +1265,7 @@ module Aws::S3Control
656
1265
  end
657
1266
 
658
1267
  # @!attribute [rw] tags
659
- # The set of tags associated with the Amazon S3 Batch Operations job.
1268
+ # The set of tags associated with the S3 Batch Operations job.
660
1269
  # @return [Array<Types::S3Tag>]
661
1270
  #
662
1271
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
@@ -669,7 +1278,7 @@ module Aws::S3Control
669
1278
 
670
1279
  # @!attribute [rw] public_access_block_configuration
671
1280
  # The `PublicAccessBlock` configuration currently in effect for this
672
- # Amazon Web Services account.
1281
+ # AWS account.
673
1282
  # @return [Types::PublicAccessBlockConfiguration]
674
1283
  #
675
1284
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
@@ -688,8 +1297,8 @@ module Aws::S3Control
688
1297
  # }
689
1298
  #
690
1299
  # @!attribute [rw] account_id
691
- # The account ID for the Amazon Web Services account whose
692
- # `PublicAccessBlock` configuration you want to retrieve.
1300
+ # The account ID for the AWS account whose `PublicAccessBlock`
1301
+ # configuration you want to retrieve.
693
1302
  # @return [String]
694
1303
  #
695
1304
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
@@ -776,7 +1385,7 @@ module Aws::S3Control
776
1385
  # @return [Types::JobManifest]
777
1386
  #
778
1387
  # @!attribute [rw] operation
779
- # The operation that the specified job is configured to execute on the
1388
+ # The operation that the specified job is configured to run on the
780
1389
  # objects listed in the manifest.
781
1390
  # @return [Types::JobOperation]
782
1391
  #
@@ -785,12 +1394,13 @@ module Aws::S3Control
785
1394
  # @return [Integer]
786
1395
  #
787
1396
  # @!attribute [rw] progress_summary
788
- # Describes the total number of tasks that the specified job has
789
- # executed, the number of tasks that succeeded, and the number of
790
- # tasks that failed.
1397
+ # Describes the total number of tasks that the specified job has run,
1398
+ # the number of tasks that succeeded, and the number of tasks that
1399
+ # failed.
791
1400
  # @return [Types::JobProgressSummary]
792
1401
  #
793
1402
  # @!attribute [rw] status_update_reason
1403
+ # The reason for updating the job.
794
1404
  # @return [String]
795
1405
  #
796
1406
  # @!attribute [rw] failure_reasons
@@ -815,7 +1425,7 @@ module Aws::S3Control
815
1425
  #
816
1426
  # @!attribute [rw] role_arn
817
1427
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
818
- # Management (IAM) role assigned to execute the tasks for this job.
1428
+ # Management (IAM) role assigned to run the tasks for this job.
819
1429
  # @return [String]
820
1430
  #
821
1431
  # @!attribute [rw] suspended_date
@@ -909,9 +1519,9 @@ module Aws::S3Control
909
1519
  # @return [Time]
910
1520
  #
911
1521
  # @!attribute [rw] progress_summary
912
- # Describes the total number of tasks that the specified job has
913
- # executed, the number of tasks that succeeded, and the number of
914
- # tasks that failed.
1522
+ # Describes the total number of tasks that the specified job has run,
1523
+ # the number of tasks that succeeded, and the number of tasks that
1524
+ # failed.
915
1525
  # @return [Types::JobProgressSummary]
916
1526
  #
917
1527
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobListDescriptor AWS API Documentation
@@ -1033,8 +1643,8 @@ module Aws::S3Control
1033
1643
 
1034
1644
  # The operation that you want this job to perform on each object listed
1035
1645
  # in the manifest. For more information about the available operations,
1036
- # see [Available Operations][1] in the *Amazon Simple Storage Service
1037
- # Developer Guide*.
1646
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
1647
+ # Guide*.
1038
1648
  #
1039
1649
  #
1040
1650
  #
@@ -1146,45 +1756,48 @@ module Aws::S3Control
1146
1756
  # @return [Types::LambdaInvokeOperation]
1147
1757
  #
1148
1758
  # @!attribute [rw] s3_put_object_copy
1149
- # Directs the specified job to execute a PUT Copy object call on each
1759
+ # Directs the specified job to run a PUT Copy object call on each
1150
1760
  # object in the manifest.
1151
1761
  # @return [Types::S3CopyObjectOperation]
1152
1762
  #
1153
1763
  # @!attribute [rw] s3_put_object_acl
1154
- # Directs the specified job to execute a PUT Object acl call on each
1764
+ # Directs the specified job to run a PUT Object acl call on each
1155
1765
  # object in the manifest.
1156
1766
  # @return [Types::S3SetObjectAclOperation]
1157
1767
  #
1158
1768
  # @!attribute [rw] s3_put_object_tagging
1159
- # Directs the specified job to execute a PUT Object tagging call on
1160
- # each object in the manifest.
1769
+ # Directs the specified job to run a PUT Object tagging call on each
1770
+ # object in the manifest.
1161
1771
  # @return [Types::S3SetObjectTaggingOperation]
1162
1772
  #
1163
1773
  # @!attribute [rw] s3_initiate_restore_object
1164
- # Directs the specified job to execute an Initiate Glacier Restore
1165
- # call on each object in the manifest.
1774
+ # Directs the specified job to run an Initiate Glacier Restore call on
1775
+ # each object in the manifest.
1166
1776
  # @return [Types::S3InitiateRestoreObjectOperation]
1167
1777
  #
1168
1778
  # @!attribute [rw] s3_put_object_legal_hold
1169
- # Contains the configuration parameters for a Set Object Legal Hold
1170
- # operation. Amazon S3 Batch Operations passes each value through to
1171
- # the underlying PUT Object Legal Hold API. For more information about
1172
- # the parameters for this operation, see [PUT Object Legal Hold][1].
1779
+ # Contains the configuration for an S3 Object Lock legal hold
1780
+ # operation that an S3 Batch Operations job passes each object through
1781
+ # to the underlying `PutObjectLegalHold` API. For more information,
1782
+ # see [Using S3 Object Lock legal hold with S3 Batch Operations][1] in
1783
+ # the *Amazon Simple Storage Service Developer Guide*.
1173
1784
  #
1174
1785
  #
1175
1786
  #
1176
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
1787
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
1177
1788
  # @return [Types::S3SetObjectLegalHoldOperation]
1178
1789
  #
1179
1790
  # @!attribute [rw] s3_put_object_retention
1180
- # Contains the configuration parameters for a Set Object Retention
1181
- # operation. Amazon S3 Batch Operations passes each value through to
1182
- # the underlying PUT Object Retention API. For more information about
1183
- # the parameters for this operation, see [PUT Object Retention][1].
1791
+ # Contains the configuration parameters for the Object Lock retention
1792
+ # action for an S3 Batch Operations job. Batch Operations passes each
1793
+ # value through to the underlying `PutObjectRetention` API. For more
1794
+ # information, see [Using S3 Object Lock retention with S3 Batch
1795
+ # Operations][1] in the *Amazon Simple Storage Service Developer
1796
+ # Guide*.
1184
1797
  #
1185
1798
  #
1186
1799
  #
1187
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
1800
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
1188
1801
  # @return [Types::S3SetObjectRetentionOperation]
1189
1802
  #
1190
1803
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
@@ -1202,7 +1815,7 @@ module Aws::S3Control
1202
1815
  end
1203
1816
 
1204
1817
  # Describes the total number of tasks that the specified job has
1205
- # executed, the number of tasks that succeeded, and the number of tasks
1818
+ # started, the number of tasks that succeeded, and the number of tasks
1206
1819
  # that failed.
1207
1820
  #
1208
1821
  # @!attribute [rw] total_number_of_tasks
@@ -1253,9 +1866,8 @@ module Aws::S3Control
1253
1866
  #
1254
1867
  # @!attribute [rw] prefix
1255
1868
  # An optional prefix to describe where in the specified bucket the
1256
- # job-completion report will be stored. Amazon S3 will store the
1257
- # job-completion report at
1258
- # &lt;prefix&gt;/job-&lt;job-id&gt;/report.json.
1869
+ # job-completion report will be stored. Amazon S3 stores the
1870
+ # job-completion report at `<prefix>/job-<job-id>/report.json`.
1259
1871
  # @return [String]
1260
1872
  #
1261
1873
  # @!attribute [rw] report_scope
@@ -1300,10 +1912,316 @@ module Aws::S3Control
1300
1912
  # specified job will invoke for each object in the manifest.
1301
1913
  # @return [String]
1302
1914
  #
1303
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
1915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
1916
+ #
1917
+ class LambdaInvokeOperation < Struct.new(
1918
+ :function_arn)
1919
+ SENSITIVE = []
1920
+ include Aws::Structure
1921
+ end
1922
+
1923
+ # The container for the Outposts bucket lifecycle configuration.
1924
+ #
1925
+ # @note When making an API call, you may pass LifecycleConfiguration
1926
+ # data as a hash:
1927
+ #
1928
+ # {
1929
+ # rules: [
1930
+ # {
1931
+ # expiration: {
1932
+ # date: Time.now,
1933
+ # days: 1,
1934
+ # expired_object_delete_marker: false,
1935
+ # },
1936
+ # id: "ID",
1937
+ # filter: {
1938
+ # prefix: "Prefix",
1939
+ # tag: {
1940
+ # key: "TagKeyString", # required
1941
+ # value: "TagValueString", # required
1942
+ # },
1943
+ # and: {
1944
+ # prefix: "Prefix",
1945
+ # tags: [
1946
+ # {
1947
+ # key: "TagKeyString", # required
1948
+ # value: "TagValueString", # required
1949
+ # },
1950
+ # ],
1951
+ # },
1952
+ # },
1953
+ # status: "Enabled", # required, accepts Enabled, Disabled
1954
+ # transitions: [
1955
+ # {
1956
+ # date: Time.now,
1957
+ # days: 1,
1958
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
1959
+ # },
1960
+ # ],
1961
+ # noncurrent_version_transitions: [
1962
+ # {
1963
+ # noncurrent_days: 1,
1964
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
1965
+ # },
1966
+ # ],
1967
+ # noncurrent_version_expiration: {
1968
+ # noncurrent_days: 1,
1969
+ # },
1970
+ # abort_incomplete_multipart_upload: {
1971
+ # days_after_initiation: 1,
1972
+ # },
1973
+ # },
1974
+ # ],
1975
+ # }
1976
+ #
1977
+ # @!attribute [rw] rules
1978
+ # A lifecycle rule for individual objects in an Outposts bucket.
1979
+ # @return [Array<Types::LifecycleRule>]
1980
+ #
1981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleConfiguration AWS API Documentation
1982
+ #
1983
+ class LifecycleConfiguration < Struct.new(
1984
+ :rules)
1985
+ SENSITIVE = []
1986
+ include Aws::Structure
1987
+ end
1988
+
1989
+ # The container of the Outposts bucket lifecycle expiration.
1990
+ #
1991
+ # @note When making an API call, you may pass LifecycleExpiration
1992
+ # data as a hash:
1993
+ #
1994
+ # {
1995
+ # date: Time.now,
1996
+ # days: 1,
1997
+ # expired_object_delete_marker: false,
1998
+ # }
1999
+ #
2000
+ # @!attribute [rw] date
2001
+ # Indicates at what date the object is to be deleted. Should be in GMT
2002
+ # ISO 8601 format.
2003
+ # @return [Time]
2004
+ #
2005
+ # @!attribute [rw] days
2006
+ # Indicates the lifetime, in days, of the objects that are subject to
2007
+ # the rule. The value must be a non-zero positive integer.
2008
+ # @return [Integer]
2009
+ #
2010
+ # @!attribute [rw] expired_object_delete_marker
2011
+ # Indicates whether Amazon S3 will remove a delete marker with no
2012
+ # noncurrent versions. If set to true, the delete marker will be
2013
+ # expired. If set to false, the policy takes no action. This cannot be
2014
+ # specified with Days or Date in a Lifecycle Expiration Policy.
2015
+ # @return [Boolean]
2016
+ #
2017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleExpiration AWS API Documentation
2018
+ #
2019
+ class LifecycleExpiration < Struct.new(
2020
+ :date,
2021
+ :days,
2022
+ :expired_object_delete_marker)
2023
+ SENSITIVE = []
2024
+ include Aws::Structure
2025
+ end
2026
+
2027
+ # The container for the Outposts bucket lifecycle rule.
2028
+ #
2029
+ # @note When making an API call, you may pass LifecycleRule
2030
+ # data as a hash:
2031
+ #
2032
+ # {
2033
+ # expiration: {
2034
+ # date: Time.now,
2035
+ # days: 1,
2036
+ # expired_object_delete_marker: false,
2037
+ # },
2038
+ # id: "ID",
2039
+ # filter: {
2040
+ # prefix: "Prefix",
2041
+ # tag: {
2042
+ # key: "TagKeyString", # required
2043
+ # value: "TagValueString", # required
2044
+ # },
2045
+ # and: {
2046
+ # prefix: "Prefix",
2047
+ # tags: [
2048
+ # {
2049
+ # key: "TagKeyString", # required
2050
+ # value: "TagValueString", # required
2051
+ # },
2052
+ # ],
2053
+ # },
2054
+ # },
2055
+ # status: "Enabled", # required, accepts Enabled, Disabled
2056
+ # transitions: [
2057
+ # {
2058
+ # date: Time.now,
2059
+ # days: 1,
2060
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2061
+ # },
2062
+ # ],
2063
+ # noncurrent_version_transitions: [
2064
+ # {
2065
+ # noncurrent_days: 1,
2066
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2067
+ # },
2068
+ # ],
2069
+ # noncurrent_version_expiration: {
2070
+ # noncurrent_days: 1,
2071
+ # },
2072
+ # abort_incomplete_multipart_upload: {
2073
+ # days_after_initiation: 1,
2074
+ # },
2075
+ # }
2076
+ #
2077
+ # @!attribute [rw] expiration
2078
+ # Specifies the expiration for the lifecycle of the object in the form
2079
+ # of date, days and, whether the object has a delete marker.
2080
+ # @return [Types::LifecycleExpiration]
2081
+ #
2082
+ # @!attribute [rw] id
2083
+ # Unique identifier for the rule. The value cannot be longer than 255
2084
+ # characters.
2085
+ # @return [String]
2086
+ #
2087
+ # @!attribute [rw] filter
2088
+ # The container for the filter of lifecycle rule.
2089
+ # @return [Types::LifecycleRuleFilter]
2090
+ #
2091
+ # @!attribute [rw] status
2092
+ # If 'Enabled', the rule is currently being applied. If
2093
+ # 'Disabled', the rule is not currently being applied.
2094
+ # @return [String]
2095
+ #
2096
+ # @!attribute [rw] transitions
2097
+ # Specifies when an Amazon S3 object transitions to a specified
2098
+ # storage class.
2099
+ #
2100
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2101
+ #
2102
+ # </note>
2103
+ # @return [Array<Types::Transition>]
2104
+ #
2105
+ # @!attribute [rw] noncurrent_version_transitions
2106
+ # Specifies the transition rule for the lifecycle rule that describes
2107
+ # when noncurrent objects transition to a specific storage class. If
2108
+ # your bucket is versioning-enabled (or versioning is suspended), you
2109
+ # can set this action to request that Amazon S3 transition noncurrent
2110
+ # object versions to a specific storage class at a set period in the
2111
+ # object's lifetime.
2112
+ #
2113
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2114
+ #
2115
+ # </note>
2116
+ # @return [Array<Types::NoncurrentVersionTransition>]
2117
+ #
2118
+ # @!attribute [rw] noncurrent_version_expiration
2119
+ # The noncurrent version expiration of the lifecycle rule.
2120
+ #
2121
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2122
+ #
2123
+ # </note>
2124
+ # @return [Types::NoncurrentVersionExpiration]
2125
+ #
2126
+ # @!attribute [rw] abort_incomplete_multipart_upload
2127
+ # Specifies the days since the initiation of an incomplete multipart
2128
+ # upload that Amazon S3 waits before permanently removing all parts of
2129
+ # the upload. For more information, see [ Aborting Incomplete
2130
+ # Multipart Uploads Using a Bucket Lifecycle Policy][1] in the *Amazon
2131
+ # Simple Storage Service Developer Guide*.
2132
+ #
2133
+ #
2134
+ #
2135
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2136
+ # @return [Types::AbortIncompleteMultipartUpload]
2137
+ #
2138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
2139
+ #
2140
+ class LifecycleRule < Struct.new(
2141
+ :expiration,
2142
+ :id,
2143
+ :filter,
2144
+ :status,
2145
+ :transitions,
2146
+ :noncurrent_version_transitions,
2147
+ :noncurrent_version_expiration,
2148
+ :abort_incomplete_multipart_upload)
2149
+ SENSITIVE = []
2150
+ include Aws::Structure
2151
+ end
2152
+
2153
+ # The container for the Outposts bucket lifecycle rule and operator.
2154
+ #
2155
+ # @note When making an API call, you may pass LifecycleRuleAndOperator
2156
+ # data as a hash:
2157
+ #
2158
+ # {
2159
+ # prefix: "Prefix",
2160
+ # tags: [
2161
+ # {
2162
+ # key: "TagKeyString", # required
2163
+ # value: "TagValueString", # required
2164
+ # },
2165
+ # ],
2166
+ # }
2167
+ #
2168
+ # @!attribute [rw] prefix
2169
+ # Prefix identifying one or more objects to which the rule applies.
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] tags
2173
+ # All of these tags must exist in the object's tag set in order for
2174
+ # the rule to apply.
2175
+ # @return [Array<Types::S3Tag>]
2176
+ #
2177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
2178
+ #
2179
+ class LifecycleRuleAndOperator < Struct.new(
2180
+ :prefix,
2181
+ :tags)
2182
+ SENSITIVE = []
2183
+ include Aws::Structure
2184
+ end
2185
+
2186
+ # The container for the filter of the lifecycle rule.
2187
+ #
2188
+ # @note When making an API call, you may pass LifecycleRuleFilter
2189
+ # data as a hash:
2190
+ #
2191
+ # {
2192
+ # prefix: "Prefix",
2193
+ # tag: {
2194
+ # key: "TagKeyString", # required
2195
+ # value: "TagValueString", # required
2196
+ # },
2197
+ # and: {
2198
+ # prefix: "Prefix",
2199
+ # tags: [
2200
+ # {
2201
+ # key: "TagKeyString", # required
2202
+ # value: "TagValueString", # required
2203
+ # },
2204
+ # ],
2205
+ # },
2206
+ # }
2207
+ #
2208
+ # @!attribute [rw] prefix
2209
+ # Prefix identifying one or more objects to which the rule applies.
2210
+ # @return [String]
2211
+ #
2212
+ # @!attribute [rw] tag
2213
+ # @return [Types::S3Tag]
2214
+ #
2215
+ # @!attribute [rw] and
2216
+ # The container for the `AND` condition for the lifecycle rule.
2217
+ # @return [Types::LifecycleRuleAndOperator]
1304
2218
  #
1305
- class LambdaInvokeOperation < Struct.new(
1306
- :function_arn)
2219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleFilter AWS API Documentation
2220
+ #
2221
+ class LifecycleRuleFilter < Struct.new(
2222
+ :prefix,
2223
+ :tag,
2224
+ :and)
1307
2225
  SENSITIVE = []
1308
2226
  include Aws::Structure
1309
2227
  end
@@ -1326,6 +2244,15 @@ module Aws::S3Control
1326
2244
  # @!attribute [rw] bucket
1327
2245
  # The name of the bucket whose associated access points you want to
1328
2246
  # list.
2247
+ #
2248
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2249
+ # the format
2250
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2251
+ # For example, to access the bucket `reports` through outpost
2252
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2253
+ # use the URL encoding of
2254
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2255
+ # The value must be URL encoded.
1329
2256
  # @return [String]
1330
2257
  #
1331
2258
  # @!attribute [rw] next_token
@@ -1361,9 +2288,9 @@ module Aws::S3Control
1361
2288
  #
1362
2289
  # @!attribute [rw] next_token
1363
2290
  # If the specified bucket has more access points than can be returned
1364
- # in one call to this API, then this field contains a continuation
1365
- # token that you can provide in subsequent calls to this API to
1366
- # retrieve additional access points.
2291
+ # in one call to this API, this field contains a continuation token
2292
+ # that you can provide in subsequent calls to this API to retrieve
2293
+ # additional access points.
1367
2294
  # @return [String]
1368
2295
  #
1369
2296
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsResult AWS API Documentation
@@ -1437,6 +2364,64 @@ module Aws::S3Control
1437
2364
  include Aws::Structure
1438
2365
  end
1439
2366
 
2367
+ # @note When making an API call, you may pass ListRegionalBucketsRequest
2368
+ # data as a hash:
2369
+ #
2370
+ # {
2371
+ # account_id: "AccountId", # required
2372
+ # next_token: "NonEmptyMaxLength1024String",
2373
+ # max_results: 1,
2374
+ # outpost_id: "NonEmptyMaxLength64String",
2375
+ # }
2376
+ #
2377
+ # @!attribute [rw] account_id
2378
+ # The AWS account ID of the Outposts bucket.
2379
+ # @return [String]
2380
+ #
2381
+ # @!attribute [rw] next_token
2382
+ # @return [String]
2383
+ #
2384
+ # @!attribute [rw] max_results
2385
+ # @return [Integer]
2386
+ #
2387
+ # @!attribute [rw] outpost_id
2388
+ # The ID of the AWS Outposts.
2389
+ #
2390
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
2391
+ #
2392
+ # </note>
2393
+ # @return [String]
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsRequest AWS API Documentation
2396
+ #
2397
+ class ListRegionalBucketsRequest < Struct.new(
2398
+ :account_id,
2399
+ :next_token,
2400
+ :max_results,
2401
+ :outpost_id)
2402
+ SENSITIVE = []
2403
+ include Aws::Structure
2404
+ end
2405
+
2406
+ # @!attribute [rw] regional_bucket_list
2407
+ # @return [Array<Types::RegionalBucket>]
2408
+ #
2409
+ # @!attribute [rw] next_token
2410
+ # `NextToken` is sent when `isTruncated` is true, which means there
2411
+ # are more buckets that can be listed. The next list requests to
2412
+ # Amazon S3 can be continued with this `NextToken`. `NextToken` is
2413
+ # obfuscated and is not a real key.
2414
+ # @return [String]
2415
+ #
2416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsResult AWS API Documentation
2417
+ #
2418
+ class ListRegionalBucketsResult < Struct.new(
2419
+ :regional_bucket_list,
2420
+ :next_token)
2421
+ SENSITIVE = []
2422
+ include Aws::Structure
2423
+ end
2424
+
1440
2425
  # Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
1441
2426
  # request against an account that doesn't have a
1442
2427
  # `PublicAccessBlockConfiguration` set.
@@ -1452,6 +2437,70 @@ module Aws::S3Control
1452
2437
  include Aws::Structure
1453
2438
  end
1454
2439
 
2440
+ # The container of the noncurrent version expiration.
2441
+ #
2442
+ # @note When making an API call, you may pass NoncurrentVersionExpiration
2443
+ # data as a hash:
2444
+ #
2445
+ # {
2446
+ # noncurrent_days: 1,
2447
+ # }
2448
+ #
2449
+ # @!attribute [rw] noncurrent_days
2450
+ # Specifies the number of days an object is noncurrent before Amazon
2451
+ # S3 can perform the associated action. For information about the
2452
+ # noncurrent days calculations, see [How Amazon S3 Calculates When an
2453
+ # Object Became Noncurrent][1] in the *Amazon Simple Storage Service
2454
+ # Developer Guide*.
2455
+ #
2456
+ #
2457
+ #
2458
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
2459
+ # @return [Integer]
2460
+ #
2461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionExpiration AWS API Documentation
2462
+ #
2463
+ class NoncurrentVersionExpiration < Struct.new(
2464
+ :noncurrent_days)
2465
+ SENSITIVE = []
2466
+ include Aws::Structure
2467
+ end
2468
+
2469
+ # The container for the noncurrent version transition.
2470
+ #
2471
+ # @note When making an API call, you may pass NoncurrentVersionTransition
2472
+ # data as a hash:
2473
+ #
2474
+ # {
2475
+ # noncurrent_days: 1,
2476
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2477
+ # }
2478
+ #
2479
+ # @!attribute [rw] noncurrent_days
2480
+ # Specifies the number of days an object is noncurrent before Amazon
2481
+ # S3 can perform the associated action. For information about the
2482
+ # noncurrent days calculations, see [ How Amazon S3 Calculates How
2483
+ # Long an Object Has Been Noncurrent][1] in the *Amazon Simple Storage
2484
+ # Service Developer Guide*.
2485
+ #
2486
+ #
2487
+ #
2488
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
2489
+ # @return [Integer]
2490
+ #
2491
+ # @!attribute [rw] storage_class
2492
+ # The class of storage used to store the object.
2493
+ # @return [String]
2494
+ #
2495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionTransition AWS API Documentation
2496
+ #
2497
+ class NoncurrentVersionTransition < Struct.new(
2498
+ :noncurrent_days,
2499
+ :storage_class)
2500
+ SENSITIVE = []
2501
+ include Aws::Structure
2502
+ end
2503
+
1455
2504
  # @!attribute [rw] message
1456
2505
  # @return [String]
1457
2506
  #
@@ -1487,7 +2536,9 @@ module Aws::S3Control
1487
2536
  # Amazon S3 bucket. You can enable the configuration options in any
1488
2537
  # combination. For more information about when Amazon S3 considers a
1489
2538
  # bucket or object public, see [The Meaning of "Public"][1] in the
1490
- # Amazon Simple Storage Service Developer Guide.
2539
+ # *Amazon Simple Storage Service Developer Guide*.
2540
+ #
2541
+ # This is not supported for Amazon S3 on Outposts.
1491
2542
  #
1492
2543
  #
1493
2544
  #
@@ -1516,6 +2567,8 @@ module Aws::S3Control
1516
2567
  # * PUT Bucket calls fail if the request includes a public ACL.
1517
2568
  #
1518
2569
  # Enabling this setting doesn't affect existing policies or ACLs.
2570
+ #
2571
+ # This is not supported for Amazon S3 on Outposts.
1519
2572
  # @return [Boolean]
1520
2573
  #
1521
2574
  # @!attribute [rw] ignore_public_acls
@@ -1526,6 +2579,8 @@ module Aws::S3Control
1526
2579
  #
1527
2580
  # Enabling this setting doesn't affect the persistence of any
1528
2581
  # existing ACLs and doesn't prevent new public ACLs from being set.
2582
+ #
2583
+ # This is not supported for Amazon S3 on Outposts.
1529
2584
  # @return [Boolean]
1530
2585
  #
1531
2586
  # @!attribute [rw] block_public_policy
@@ -1535,6 +2590,8 @@ module Aws::S3Control
1535
2590
  # bucket policy allows public access.
1536
2591
  #
1537
2592
  # Enabling this setting doesn't affect existing bucket policies.
2593
+ #
2594
+ # This is not supported for Amazon S3 on Outposts.
1538
2595
  # @return [Boolean]
1539
2596
  #
1540
2597
  # @!attribute [rw] restrict_public_buckets
@@ -1547,6 +2604,8 @@ module Aws::S3Control
1547
2604
  # policies, except that public and cross-account access within any
1548
2605
  # public bucket policy, including non-public delegation to specific
1549
2606
  # accounts, is blocked.
2607
+ #
2608
+ # This is not supported for Amazon S3 on Outposts.
1550
2609
  # @return [Boolean]
1551
2610
  #
1552
2611
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
@@ -1577,6 +2636,15 @@ module Aws::S3Control
1577
2636
  # @!attribute [rw] name
1578
2637
  # The name of the access point that you want to associate with the
1579
2638
  # specified policy.
2639
+ #
2640
+ # For Amazon S3 on Outposts specify the ARN of the access point
2641
+ # accessed in the format
2642
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
2643
+ # For example, to access the access point `reports-ap` through outpost
2644
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2645
+ # use the URL encoding of
2646
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
2647
+ # The value must be URL encoded.
1580
2648
  # @return [String]
1581
2649
  #
1582
2650
  # @!attribute [rw] policy
@@ -1600,6 +2668,181 @@ module Aws::S3Control
1600
2668
  include Aws::Structure
1601
2669
  end
1602
2670
 
2671
+ # @note When making an API call, you may pass PutBucketLifecycleConfigurationRequest
2672
+ # data as a hash:
2673
+ #
2674
+ # {
2675
+ # account_id: "AccountId", # required
2676
+ # bucket: "BucketName", # required
2677
+ # lifecycle_configuration: {
2678
+ # rules: [
2679
+ # {
2680
+ # expiration: {
2681
+ # date: Time.now,
2682
+ # days: 1,
2683
+ # expired_object_delete_marker: false,
2684
+ # },
2685
+ # id: "ID",
2686
+ # filter: {
2687
+ # prefix: "Prefix",
2688
+ # tag: {
2689
+ # key: "TagKeyString", # required
2690
+ # value: "TagValueString", # required
2691
+ # },
2692
+ # and: {
2693
+ # prefix: "Prefix",
2694
+ # tags: [
2695
+ # {
2696
+ # key: "TagKeyString", # required
2697
+ # value: "TagValueString", # required
2698
+ # },
2699
+ # ],
2700
+ # },
2701
+ # },
2702
+ # status: "Enabled", # required, accepts Enabled, Disabled
2703
+ # transitions: [
2704
+ # {
2705
+ # date: Time.now,
2706
+ # days: 1,
2707
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2708
+ # },
2709
+ # ],
2710
+ # noncurrent_version_transitions: [
2711
+ # {
2712
+ # noncurrent_days: 1,
2713
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2714
+ # },
2715
+ # ],
2716
+ # noncurrent_version_expiration: {
2717
+ # noncurrent_days: 1,
2718
+ # },
2719
+ # abort_incomplete_multipart_upload: {
2720
+ # days_after_initiation: 1,
2721
+ # },
2722
+ # },
2723
+ # ],
2724
+ # },
2725
+ # }
2726
+ #
2727
+ # @!attribute [rw] account_id
2728
+ # The AWS account ID of the Outposts bucket.
2729
+ # @return [String]
2730
+ #
2731
+ # @!attribute [rw] bucket
2732
+ # The name of the bucket for which to set the configuration.
2733
+ # @return [String]
2734
+ #
2735
+ # @!attribute [rw] lifecycle_configuration
2736
+ # Container for lifecycle rules. You can add as many as 1,000 rules.
2737
+ # @return [Types::LifecycleConfiguration]
2738
+ #
2739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfigurationRequest AWS API Documentation
2740
+ #
2741
+ class PutBucketLifecycleConfigurationRequest < Struct.new(
2742
+ :account_id,
2743
+ :bucket,
2744
+ :lifecycle_configuration)
2745
+ SENSITIVE = []
2746
+ include Aws::Structure
2747
+ end
2748
+
2749
+ # @note When making an API call, you may pass PutBucketPolicyRequest
2750
+ # data as a hash:
2751
+ #
2752
+ # {
2753
+ # account_id: "AccountId", # required
2754
+ # bucket: "BucketName", # required
2755
+ # confirm_remove_self_bucket_access: false,
2756
+ # policy: "Policy", # required
2757
+ # }
2758
+ #
2759
+ # @!attribute [rw] account_id
2760
+ # The AWS account ID of the Outposts bucket.
2761
+ # @return [String]
2762
+ #
2763
+ # @!attribute [rw] bucket
2764
+ # The ARN of the bucket.
2765
+ #
2766
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2767
+ # the format
2768
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2769
+ # For example, to access the bucket `reports` through outpost
2770
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2771
+ # use the URL encoding of
2772
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2773
+ # The value must be URL encoded.
2774
+ # @return [String]
2775
+ #
2776
+ # @!attribute [rw] confirm_remove_self_bucket_access
2777
+ # Set this parameter to true to confirm that you want to remove your
2778
+ # permissions to change this bucket policy in the future.
2779
+ #
2780
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2781
+ #
2782
+ # </note>
2783
+ # @return [Boolean]
2784
+ #
2785
+ # @!attribute [rw] policy
2786
+ # The bucket policy as a JSON document.
2787
+ # @return [String]
2788
+ #
2789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicyRequest AWS API Documentation
2790
+ #
2791
+ class PutBucketPolicyRequest < Struct.new(
2792
+ :account_id,
2793
+ :bucket,
2794
+ :confirm_remove_self_bucket_access,
2795
+ :policy)
2796
+ SENSITIVE = []
2797
+ include Aws::Structure
2798
+ end
2799
+
2800
+ # @note When making an API call, you may pass PutBucketTaggingRequest
2801
+ # data as a hash:
2802
+ #
2803
+ # {
2804
+ # account_id: "AccountId", # required
2805
+ # bucket: "BucketName", # required
2806
+ # tagging: { # required
2807
+ # tag_set: [ # required
2808
+ # {
2809
+ # key: "TagKeyString", # required
2810
+ # value: "TagValueString", # required
2811
+ # },
2812
+ # ],
2813
+ # },
2814
+ # }
2815
+ #
2816
+ # @!attribute [rw] account_id
2817
+ # The AWS account ID of the Outposts bucket.
2818
+ # @return [String]
2819
+ #
2820
+ # @!attribute [rw] bucket
2821
+ # The Amazon Resource Name (ARN) of the bucket.
2822
+ #
2823
+ # For Amazon S3 on Outposts specify the ARN of the bucket accessed in
2824
+ # the format
2825
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2826
+ # For example, to access the bucket `reports` through outpost
2827
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2828
+ # use the URL encoding of
2829
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2830
+ # The value must be URL encoded.
2831
+ # @return [String]
2832
+ #
2833
+ # @!attribute [rw] tagging
2834
+ # @return [Types::Tagging]
2835
+ #
2836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTaggingRequest AWS API Documentation
2837
+ #
2838
+ class PutBucketTaggingRequest < Struct.new(
2839
+ :account_id,
2840
+ :bucket,
2841
+ :tagging)
2842
+ SENSITIVE = []
2843
+ include Aws::Structure
2844
+ end
2845
+
1603
2846
  # @note When making an API call, you may pass PutJobTaggingRequest
1604
2847
  # data as a hash:
1605
2848
  #
@@ -1615,18 +2858,16 @@ module Aws::S3Control
1615
2858
  # }
1616
2859
  #
1617
2860
  # @!attribute [rw] account_id
1618
- # The AWS account ID associated with the Amazon S3 Batch Operations
1619
- # job.
2861
+ # The AWS account ID associated with the S3 Batch Operations job.
1620
2862
  # @return [String]
1621
2863
  #
1622
2864
  # @!attribute [rw] job_id
1623
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
2865
+ # The ID for the S3 Batch Operations job whose tags you want to
1624
2866
  # replace.
1625
2867
  # @return [String]
1626
2868
  #
1627
2869
  # @!attribute [rw] tags
1628
- # The set of tags to associate with the Amazon S3 Batch Operations
1629
- # job.
2870
+ # The set of tags to associate with the S3 Batch Operations job.
1630
2871
  # @return [Array<Types::S3Tag>]
1631
2872
  #
1632
2873
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingRequest AWS API Documentation
@@ -1658,12 +2899,12 @@ module Aws::S3Control
1658
2899
  #
1659
2900
  # @!attribute [rw] public_access_block_configuration
1660
2901
  # The `PublicAccessBlock` configuration that you want to apply to the
1661
- # specified Amazon Web Services account.
2902
+ # specified AWS account.
1662
2903
  # @return [Types::PublicAccessBlockConfiguration]
1663
2904
  #
1664
2905
  # @!attribute [rw] account_id
1665
- # The account ID for the Amazon Web Services account whose
1666
- # `PublicAccessBlock` configuration you want to set.
2906
+ # The account ID for the AWS account whose `PublicAccessBlock`
2907
+ # configuration you want to set.
1667
2908
  # @return [String]
1668
2909
  #
1669
2910
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
@@ -1675,6 +2916,38 @@ module Aws::S3Control
1675
2916
  include Aws::Structure
1676
2917
  end
1677
2918
 
2919
+ # The container for the regional bucket.
2920
+ #
2921
+ # @!attribute [rw] bucket
2922
+ # @return [String]
2923
+ #
2924
+ # @!attribute [rw] bucket_arn
2925
+ # The Amazon Resource Name (ARN) for the regional bucket.
2926
+ # @return [String]
2927
+ #
2928
+ # @!attribute [rw] public_access_block_enabled
2929
+ # @return [Boolean]
2930
+ #
2931
+ # @!attribute [rw] creation_date
2932
+ # The creation date of the regional bucket
2933
+ # @return [Time]
2934
+ #
2935
+ # @!attribute [rw] outpost_id
2936
+ # The AWS Outposts ID of the regional bucket.
2937
+ # @return [String]
2938
+ #
2939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/RegionalBucket AWS API Documentation
2940
+ #
2941
+ class RegionalBucket < Struct.new(
2942
+ :bucket,
2943
+ :bucket_arn,
2944
+ :public_access_block_enabled,
2945
+ :creation_date,
2946
+ :outpost_id)
2947
+ SENSITIVE = []
2948
+ include Aws::Structure
2949
+ end
2950
+
1678
2951
  # @note When making an API call, you may pass S3AccessControlList
1679
2952
  # data as a hash:
1680
2953
  #
@@ -1749,9 +3022,9 @@ module Aws::S3Control
1749
3022
  end
1750
3023
 
1751
3024
  # Contains the configuration parameters for a PUT Copy object operation.
1752
- # Amazon S3 Batch Operations passes each value through to the underlying
1753
- # PUT Copy object API. For more information about the parameters for
1754
- # this operation, see [PUT Object - Copy][1].
3025
+ # S3 Batch Operations passes each value through to the underlying PUT
3026
+ # Copy object API. For more information about the parameters for this
3027
+ # operation, see [PUT Object - Copy][1].
1755
3028
  #
1756
3029
  #
1757
3030
  #
@@ -1847,18 +3120,18 @@ module Aws::S3Control
1847
3120
  # @return [String]
1848
3121
  #
1849
3122
  # @!attribute [rw] object_lock_legal_hold_status
1850
- # The Legal Hold status to be applied to all objects in the Batch
3123
+ # The legal hold status to be applied to all objects in the Batch
1851
3124
  # Operations job.
1852
3125
  # @return [String]
1853
3126
  #
1854
3127
  # @!attribute [rw] object_lock_mode
1855
- # The Retention mode to be applied to all objects in the Batch
3128
+ # The retention mode to be applied to all objects in the Batch
1856
3129
  # Operations job.
1857
3130
  # @return [String]
1858
3131
  #
1859
3132
  # @!attribute [rw] object_lock_retain_until_date
1860
- # The date when the applied Object Retention configuration will expire
1861
- # on all objects in the Batch Operations job.
3133
+ # The date when the applied object retention configuration expires on
3134
+ # all objects in the Batch Operations job.
1862
3135
  # @return [Time]
1863
3136
  #
1864
3137
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
@@ -1940,9 +3213,9 @@ module Aws::S3Control
1940
3213
  end
1941
3214
 
1942
3215
  # Contains the configuration parameters for an Initiate Glacier Restore
1943
- # job. Amazon S3 Batch Operations passes each value through to the
1944
- # underlying POST Object restore API. For more information about the
1945
- # parameters for this operation, see [Restoring Archives][1].
3216
+ # job. S3 Batch Operations passes each value through to the underlying
3217
+ # POST Object restore API. For more information about the parameters for
3218
+ # this operation, see [RestoreObject][1].
1946
3219
  #
1947
3220
  #
1948
3221
  #
@@ -1971,6 +3244,9 @@ module Aws::S3Control
1971
3244
  include Aws::Structure
1972
3245
  end
1973
3246
 
3247
+ # Whether S3 Object Lock legal hold will be applied to objects in an S3
3248
+ # Batch Operations job.
3249
+ #
1974
3250
  # @note When making an API call, you may pass S3ObjectLockLegalHold
1975
3251
  # data as a hash:
1976
3252
  #
@@ -1979,8 +3255,8 @@ module Aws::S3Control
1979
3255
  # }
1980
3256
  #
1981
3257
  # @!attribute [rw] status
1982
- # The Legal Hold status to be applied to all objects in the Batch
1983
- # Operations job.
3258
+ # The Object Lock legal hold status to be applied to all objects in
3259
+ # the Batch Operations job.
1984
3260
  # @return [String]
1985
3261
  #
1986
3262
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectLockLegalHold AWS API Documentation
@@ -2084,6 +3360,17 @@ module Aws::S3Control
2084
3360
  include Aws::Structure
2085
3361
  end
2086
3362
 
3363
+ # Contains the S3 Object Lock retention mode to be applied to all
3364
+ # objects in the S3 Batch Operations job. If you don't provide `Mode`
3365
+ # and `RetainUntilDate` data types in your operation, you will remove
3366
+ # the retention from your objects. For more information, see [Using S3
3367
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
3368
+ # Simple Storage Service Developer Guide*.
3369
+ #
3370
+ #
3371
+ #
3372
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
3373
+ #
2087
3374
  # @note When making an API call, you may pass S3Retention
2088
3375
  # data as a hash:
2089
3376
  #
@@ -2093,13 +3380,13 @@ module Aws::S3Control
2093
3380
  # }
2094
3381
  #
2095
3382
  # @!attribute [rw] retain_until_date
2096
- # The date when the applied Object Retention will expire on all
2097
- # objects in the Batch Operations job.
3383
+ # The date when the applied Object Lock retention will expire on all
3384
+ # objects set by the Batch Operations job.
2098
3385
  # @return [Time]
2099
3386
  #
2100
3387
  # @!attribute [rw] mode
2101
- # The Retention mode to be applied to all objects in the Batch
2102
- # Operations job.
3388
+ # The Object Lock retention mode to be applied to all objects in the
3389
+ # Batch Operations job.
2103
3390
  # @return [String]
2104
3391
  #
2105
3392
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Retention AWS API Documentation
@@ -2112,8 +3399,8 @@ module Aws::S3Control
2112
3399
  end
2113
3400
 
2114
3401
  # Contains the configuration parameters for a Set Object ACL operation.
2115
- # Amazon S3 Batch Operations passes each value through to the underlying
2116
- # PUT Object acl API. For more information about the parameters for this
3402
+ # S3 Batch Operations passes each value through to the underlying PUT
3403
+ # Object acl API. For more information about the parameters for this
2117
3404
  # operation, see [PUT Object acl][1].
2118
3405
  #
2119
3406
  #
@@ -2156,14 +3443,15 @@ module Aws::S3Control
2156
3443
  include Aws::Structure
2157
3444
  end
2158
3445
 
2159
- # Contains the configuration parameters for a Set Object Legal Hold
2160
- # operation. Amazon S3 Batch Operations passes each value through to the
2161
- # underlying PUT Object Legal Hold API. For more information about the
2162
- # parameters for this operation, see [PUT Object Legal Hold][1].
3446
+ # Contains the configuration for an S3 Object Lock legal hold operation
3447
+ # that an S3 Batch Operations job passes each object through to the
3448
+ # underlying `PutObjectLegalHold` API. For more information, see [Using
3449
+ # S3 Object Lock legal hold with S3 Batch Operations][1] in the *Amazon
3450
+ # Simple Storage Service Developer Guide*.
2163
3451
  #
2164
3452
  #
2165
3453
  #
2166
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
3454
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
2167
3455
  #
2168
3456
  # @note When making an API call, you may pass S3SetObjectLegalHoldOperation
2169
3457
  # data as a hash:
@@ -2175,8 +3463,8 @@ module Aws::S3Control
2175
3463
  # }
2176
3464
  #
2177
3465
  # @!attribute [rw] legal_hold
2178
- # The Legal Hold contains the status to be applied to all objects in
2179
- # the Batch Operations job.
3466
+ # Contains the Object Lock legal hold status to be applied to all
3467
+ # objects in the Batch Operations job.
2180
3468
  # @return [Types::S3ObjectLockLegalHold]
2181
3469
  #
2182
3470
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectLegalHoldOperation AWS API Documentation
@@ -2187,14 +3475,15 @@ module Aws::S3Control
2187
3475
  include Aws::Structure
2188
3476
  end
2189
3477
 
2190
- # Contains the configuration parameters for a Set Object Retention
2191
- # operation. Amazon S3 Batch Operations passes each value through to the
2192
- # underlying PUT Object Retention API. For more information about the
2193
- # parameters for this operation, see [PUT Object Retention][1].
3478
+ # Contains the configuration parameters for the Object Lock retention
3479
+ # action for an S3 Batch Operations job. Batch Operations passes each
3480
+ # value through to the underlying `PutObjectRetention` API. For more
3481
+ # information, see [Using S3 Object Lock retention with S3 Batch
3482
+ # Operations][1] in the *Amazon Simple Storage Service Developer Guide*.
2194
3483
  #
2195
3484
  #
2196
3485
  #
2197
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
3486
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2198
3487
  #
2199
3488
  # @note When making an API call, you may pass S3SetObjectRetentionOperation
2200
3489
  # data as a hash:
@@ -2208,14 +3497,20 @@ module Aws::S3Control
2208
3497
  # }
2209
3498
  #
2210
3499
  # @!attribute [rw] bypass_governance_retention
2211
- # Indicates if the operation should be applied to objects in the Batch
2212
- # Operations job even if they have Governance-type Object Lock in
3500
+ # Indicates if the action should be applied to objects in the Batch
3501
+ # Operations job even if they have Object Lock ` GOVERNANCE` type in
2213
3502
  # place.
2214
3503
  # @return [Boolean]
2215
3504
  #
2216
3505
  # @!attribute [rw] retention
2217
- # Amazon S3 object lock Retention contains the retention mode to be
2218
- # applied to all objects in the Batch Operations job.
3506
+ # Contains the Object Lock retention mode to be applied to all objects
3507
+ # in the Batch Operations job. For more information, see [Using S3
3508
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
3509
+ # Simple Storage Service Developer Guide*.
3510
+ #
3511
+ #
3512
+ #
3513
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2219
3514
  # @return [Types::S3Retention]
2220
3515
  #
2221
3516
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectRetentionOperation AWS API Documentation
@@ -2228,7 +3523,7 @@ module Aws::S3Control
2228
3523
  end
2229
3524
 
2230
3525
  # Contains the configuration parameters for a Set Object Tagging
2231
- # operation. Amazon S3 Batch Operations passes each value through to the
3526
+ # operation. S3 Batch Operations passes each value through to the
2232
3527
  # underlying PUT Object tagging API. For more information about the
2233
3528
  # parameters for this operation, see [PUT Object tagging][1].
2234
3529
  #
@@ -2282,6 +3577,30 @@ module Aws::S3Control
2282
3577
  include Aws::Structure
2283
3578
  end
2284
3579
 
3580
+ # @note When making an API call, you may pass Tagging
3581
+ # data as a hash:
3582
+ #
3583
+ # {
3584
+ # tag_set: [ # required
3585
+ # {
3586
+ # key: "TagKeyString", # required
3587
+ # value: "TagValueString", # required
3588
+ # },
3589
+ # ],
3590
+ # }
3591
+ #
3592
+ # @!attribute [rw] tag_set
3593
+ # A collection for a set of tags.
3594
+ # @return [Array<Types::S3Tag>]
3595
+ #
3596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tagging AWS API Documentation
3597
+ #
3598
+ class Tagging < Struct.new(
3599
+ :tag_set)
3600
+ SENSITIVE = []
3601
+ include Aws::Structure
3602
+ end
3603
+
2285
3604
  # @!attribute [rw] message
2286
3605
  # @return [String]
2287
3606
  #
@@ -2293,6 +3612,9 @@ module Aws::S3Control
2293
3612
  include Aws::Structure
2294
3613
  end
2295
3614
 
3615
+ # Amazon S3 throws this exception if you have too many tags in your tag
3616
+ # set.
3617
+ #
2296
3618
  # @!attribute [rw] message
2297
3619
  # @return [String]
2298
3620
  #
@@ -2304,6 +3626,50 @@ module Aws::S3Control
2304
3626
  include Aws::Structure
2305
3627
  end
2306
3628
 
3629
+ # Specifies when an object transitions to a specified storage class. For
3630
+ # more information about Amazon S3 Lifecycle configuration rules, see [
3631
+ # Transitioning Objects Using Amazon S3 Lifecycle][1] in the *Amazon
3632
+ # Simple Storage Service Developer Guide*.
3633
+ #
3634
+ #
3635
+ #
3636
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
3637
+ #
3638
+ # @note When making an API call, you may pass Transition
3639
+ # data as a hash:
3640
+ #
3641
+ # {
3642
+ # date: Time.now,
3643
+ # days: 1,
3644
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
3645
+ # }
3646
+ #
3647
+ # @!attribute [rw] date
3648
+ # Indicates when objects are transitioned to the specified storage
3649
+ # class. The date value must be in ISO 8601 format. The time is always
3650
+ # midnight UTC.
3651
+ # @return [Time]
3652
+ #
3653
+ # @!attribute [rw] days
3654
+ # Indicates the number of days after creation when objects are
3655
+ # transitioned to the specified storage class. The value must be a
3656
+ # positive integer.
3657
+ # @return [Integer]
3658
+ #
3659
+ # @!attribute [rw] storage_class
3660
+ # The storage class to which you want the object to transition.
3661
+ # @return [String]
3662
+ #
3663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Transition AWS API Documentation
3664
+ #
3665
+ class Transition < Struct.new(
3666
+ :date,
3667
+ :days,
3668
+ :storage_class)
3669
+ SENSITIVE = []
3670
+ include Aws::Structure
3671
+ end
3672
+
2307
3673
  # @note When making an API call, you may pass UpdateJobPriorityRequest
2308
3674
  # data as a hash:
2309
3675
  #