aws-sdk-s3control 1.21.0 → 1.26.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
@@ -22,7 +22,9 @@ for all operations.
22
22
  # @api private
23
23
  class OptionHandler < Seahorse::Client::Handler
24
24
  def call(context)
25
- dualstack = context.params.delete(:use_dualstack_endpoint)
25
+ if context.params.is_a?(Hash)
26
+ dualstack = context.params.delete(:use_dualstack_endpoint)
27
+ end
26
28
  dualstack = context.config.use_dualstack_endpoint if dualstack.nil?
27
29
  context[:use_dualstack_endpoint] = dualstack
28
30
  @handler.call(context)
@@ -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,83 @@ 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)
71
+ SENSITIVE = []
72
+ include Aws::Structure
73
+ end
74
+
75
+ # A container for the account level Amazon S3 Storage Lens
76
+ # configuration.
77
+ #
78
+ # @note When making an API call, you may pass AccountLevel
79
+ # data as a hash:
80
+ #
81
+ # {
82
+ # activity_metrics: {
83
+ # is_enabled: false,
84
+ # },
85
+ # bucket_level: { # required
86
+ # activity_metrics: {
87
+ # is_enabled: false,
88
+ # },
89
+ # prefix_level: {
90
+ # storage_metrics: { # required
91
+ # is_enabled: false,
92
+ # selection_criteria: {
93
+ # delimiter: "StorageLensPrefixLevelDelimiter",
94
+ # max_depth: 1,
95
+ # min_storage_bytes_percentage: 1.0,
96
+ # },
97
+ # },
98
+ # },
99
+ # },
100
+ # }
101
+ #
102
+ # @!attribute [rw] activity_metrics
103
+ # A container for the S3 Storage Lens activity metrics.
104
+ # @return [Types::ActivityMetrics]
105
+ #
106
+ # @!attribute [rw] bucket_level
107
+ # A container for the S3 Storage Lens bucket-level configuration.
108
+ # @return [Types::BucketLevel]
109
+ #
110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccountLevel AWS API Documentation
111
+ #
112
+ class AccountLevel < Struct.new(
113
+ :activity_metrics,
114
+ :bucket_level)
115
+ SENSITIVE = []
116
+ include Aws::Structure
117
+ end
118
+
119
+ # A container for the activity metrics.
120
+ #
121
+ # @note When making an API call, you may pass ActivityMetrics
122
+ # data as a hash:
123
+ #
124
+ # {
125
+ # is_enabled: false,
126
+ # }
127
+ #
128
+ # @!attribute [rw] is_enabled
129
+ # A container for whether the activity metrics are enabled.
130
+ # @return [Boolean]
131
+ #
132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ActivityMetrics AWS API Documentation
133
+ #
134
+ class ActivityMetrics < Struct.new(
135
+ :is_enabled)
44
136
  SENSITIVE = []
45
137
  include Aws::Structure
46
138
  end
@@ -56,6 +148,61 @@ module Aws::S3Control
56
148
  include Aws::Structure
57
149
  end
58
150
 
151
+ # The requested Outposts bucket name is not available. The bucket
152
+ # namespace is shared by all users of the AWS Outposts in this Region.
153
+ # Select a different name and try again.
154
+ #
155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyExists AWS API Documentation
156
+ #
157
+ class BucketAlreadyExists < Aws::EmptyStructure; end
158
+
159
+ # The Outposts bucket you tried to create already exists, and you own
160
+ # it.
161
+ #
162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketAlreadyOwnedByYou AWS API Documentation
163
+ #
164
+ class BucketAlreadyOwnedByYou < Aws::EmptyStructure; end
165
+
166
+ # A container for the bucket-level configuration.
167
+ #
168
+ # @note When making an API call, you may pass BucketLevel
169
+ # data as a hash:
170
+ #
171
+ # {
172
+ # activity_metrics: {
173
+ # is_enabled: false,
174
+ # },
175
+ # prefix_level: {
176
+ # storage_metrics: { # required
177
+ # is_enabled: false,
178
+ # selection_criteria: {
179
+ # delimiter: "StorageLensPrefixLevelDelimiter",
180
+ # max_depth: 1,
181
+ # min_storage_bytes_percentage: 1.0,
182
+ # },
183
+ # },
184
+ # },
185
+ # }
186
+ #
187
+ # @!attribute [rw] activity_metrics
188
+ # A container for the bucket-level activity metrics for Amazon S3
189
+ # Storage Lens
190
+ # @return [Types::ActivityMetrics]
191
+ #
192
+ # @!attribute [rw] prefix_level
193
+ # A container for the bucket-level prefix-level metrics for S3 Storage
194
+ # Lens
195
+ # @return [Types::PrefixLevel]
196
+ #
197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/BucketLevel AWS API Documentation
198
+ #
199
+ class BucketLevel < Struct.new(
200
+ :activity_metrics,
201
+ :prefix_level)
202
+ SENSITIVE = []
203
+ include Aws::Structure
204
+ end
205
+
59
206
  # @note When making an API call, you may pass CreateAccessPointRequest
60
207
  # data as a hash:
61
208
  #
@@ -86,19 +233,38 @@ module Aws::S3Control
86
233
  # @!attribute [rw] bucket
87
234
  # The name of the bucket that you want to associate this access point
88
235
  # with.
236
+ #
237
+ # For using this parameter with Amazon S3 on Outposts with the REST
238
+ # API, you must specify the name and the x-amz-outpost-id as well.
239
+ #
240
+ # For using this parameter with S3 on Outposts with the AWS SDK and
241
+ # CLI, you must specify the ARN of the bucket accessed in the format
242
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
243
+ # For example, to access the bucket `reports` through outpost
244
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
245
+ # use the URL encoding of
246
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
247
+ # The value must be URL encoded.
89
248
  # @return [String]
90
249
  #
91
250
  # @!attribute [rw] vpc_configuration
92
251
  # If you include this field, Amazon S3 restricts access to this access
93
252
  # point to requests from the specified virtual private cloud (VPC).
253
+ #
254
+ # <note markdown="1"> This is required for creating an access point for Amazon S3 on
255
+ # Outposts buckets.
256
+ #
257
+ # </note>
94
258
  # @return [Types::VpcConfiguration]
95
259
  #
96
260
  # @!attribute [rw] public_access_block_configuration
97
261
  # The `PublicAccessBlock` configuration that you want to apply to this
98
- # Amazon S3 bucket. You can enable the configuration options in any
262
+ # Amazon S3 account. You can enable the configuration options in any
99
263
  # combination. For more information about when Amazon S3 considers a
100
264
  # bucket or object public, see [The Meaning of "Public"][1] in the
101
- # Amazon Simple Storage Service Developer Guide.
265
+ # *Amazon Simple Storage Service Developer Guide*.
266
+ #
267
+ # This is not supported for Amazon S3 on Outposts.
102
268
  #
103
269
  #
104
270
  #
@@ -117,6 +283,196 @@ module Aws::S3Control
117
283
  include Aws::Structure
118
284
  end
119
285
 
286
+ # @!attribute [rw] access_point_arn
287
+ # The ARN of the access point.
288
+ #
289
+ # <note markdown="1"> This is only supported by Amazon S3 on Outposts.
290
+ #
291
+ # </note>
292
+ # @return [String]
293
+ #
294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointResult AWS API Documentation
295
+ #
296
+ class CreateAccessPointResult < Struct.new(
297
+ :access_point_arn)
298
+ SENSITIVE = []
299
+ include Aws::Structure
300
+ end
301
+
302
+ # The container for the bucket configuration.
303
+ #
304
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
305
+ #
306
+ # </note>
307
+ #
308
+ # @note When making an API call, you may pass CreateBucketConfiguration
309
+ # data as a hash:
310
+ #
311
+ # {
312
+ # 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
313
+ # }
314
+ #
315
+ # @!attribute [rw] location_constraint
316
+ # Specifies the Region where the bucket will be created. If you are
317
+ # creating a bucket on the US East (N. Virginia) Region (us-east-1),
318
+ # you do not need to specify the location.
319
+ #
320
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
321
+ #
322
+ # </note>
323
+ # @return [String]
324
+ #
325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketConfiguration AWS API Documentation
326
+ #
327
+ class CreateBucketConfiguration < Struct.new(
328
+ :location_constraint)
329
+ SENSITIVE = []
330
+ include Aws::Structure
331
+ end
332
+
333
+ # @note When making an API call, you may pass CreateBucketRequest
334
+ # data as a hash:
335
+ #
336
+ # {
337
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
338
+ # bucket: "BucketName", # required
339
+ # create_bucket_configuration: {
340
+ # 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
341
+ # },
342
+ # grant_full_control: "GrantFullControl",
343
+ # grant_read: "GrantRead",
344
+ # grant_read_acp: "GrantReadACP",
345
+ # grant_write: "GrantWrite",
346
+ # grant_write_acp: "GrantWriteACP",
347
+ # object_lock_enabled_for_bucket: false,
348
+ # outpost_id: "NonEmptyMaxLength64String",
349
+ # }
350
+ #
351
+ # @!attribute [rw] acl
352
+ # The canned ACL to apply to the bucket.
353
+ #
354
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
355
+ #
356
+ # </note>
357
+ # @return [String]
358
+ #
359
+ # @!attribute [rw] bucket
360
+ # The name of the bucket.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] create_bucket_configuration
364
+ # The configuration information for the bucket.
365
+ #
366
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
367
+ #
368
+ # </note>
369
+ # @return [Types::CreateBucketConfiguration]
370
+ #
371
+ # @!attribute [rw] grant_full_control
372
+ # Allows grantee the read, write, read ACP, and write ACP permissions
373
+ # on the bucket.
374
+ #
375
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
376
+ #
377
+ # </note>
378
+ # @return [String]
379
+ #
380
+ # @!attribute [rw] grant_read
381
+ # Allows grantee to list the objects in the bucket.
382
+ #
383
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
384
+ #
385
+ # </note>
386
+ # @return [String]
387
+ #
388
+ # @!attribute [rw] grant_read_acp
389
+ # Allows grantee to read the bucket ACL.
390
+ #
391
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
392
+ #
393
+ # </note>
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] grant_write
397
+ # Allows grantee to create, overwrite, and delete any object in the
398
+ # bucket.
399
+ #
400
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
401
+ #
402
+ # </note>
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] grant_write_acp
406
+ # Allows grantee to write the ACL for the applicable bucket.
407
+ #
408
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
409
+ #
410
+ # </note>
411
+ # @return [String]
412
+ #
413
+ # @!attribute [rw] object_lock_enabled_for_bucket
414
+ # Specifies whether you want S3 Object Lock to be enabled for the new
415
+ # bucket.
416
+ #
417
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
418
+ #
419
+ # </note>
420
+ # @return [Boolean]
421
+ #
422
+ # @!attribute [rw] outpost_id
423
+ # The ID of the Outposts where the bucket is being created.
424
+ #
425
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
426
+ #
427
+ # </note>
428
+ # @return [String]
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketRequest AWS API Documentation
431
+ #
432
+ class CreateBucketRequest < Struct.new(
433
+ :acl,
434
+ :bucket,
435
+ :create_bucket_configuration,
436
+ :grant_full_control,
437
+ :grant_read,
438
+ :grant_read_acp,
439
+ :grant_write,
440
+ :grant_write_acp,
441
+ :object_lock_enabled_for_bucket,
442
+ :outpost_id)
443
+ SENSITIVE = []
444
+ include Aws::Structure
445
+ end
446
+
447
+ # @!attribute [rw] location
448
+ # The location of the bucket.
449
+ # @return [String]
450
+ #
451
+ # @!attribute [rw] bucket_arn
452
+ # The Amazon Resource Name (ARN) of the bucket.
453
+ #
454
+ # For using this parameter with Amazon S3 on Outposts with the REST
455
+ # API, you must specify the name and the x-amz-outpost-id as well.
456
+ #
457
+ # For using this parameter with S3 on Outposts with the AWS SDK and
458
+ # CLI, you must specify the ARN of the bucket accessed in the format
459
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
460
+ # For example, to access the bucket `reports` through outpost
461
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
462
+ # use the URL encoding of
463
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
464
+ # The value must be URL encoded.
465
+ # @return [String]
466
+ #
467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucketResult AWS API Documentation
468
+ #
469
+ class CreateBucketResult < Struct.new(
470
+ :location,
471
+ :bucket_arn)
472
+ SENSITIVE = []
473
+ include Aws::Structure
474
+ end
475
+
120
476
  # @note When making an API call, you may pass CreateJobRequest
121
477
  # data as a hash:
122
478
  #
@@ -250,6 +606,7 @@ module Aws::S3Control
250
606
  # }
251
607
  #
252
608
  # @!attribute [rw] account_id
609
+ # The AWS account ID that creates the job.
253
610
  # @return [String]
254
611
  #
255
612
  # @!attribute [rw] confirmation_required
@@ -259,10 +616,10 @@ module Aws::S3Control
259
616
  # @return [Boolean]
260
617
  #
261
618
  # @!attribute [rw] operation
262
- # The operation that you want this job to perform on each object
619
+ # The operation that you want this job to perform on every object
263
620
  # 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*.
621
+ # operations, see [Operations][1] in the *Amazon Simple Storage
622
+ # Service Developer Guide*.
266
623
  #
267
624
  #
268
625
  #
@@ -299,13 +656,13 @@ module Aws::S3Control
299
656
  #
300
657
  # @!attribute [rw] role_arn
301
658
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
302
- # Management (IAM) role that Batch Operations will use to execute this
303
- # job's operation on each object in the manifest.
659
+ # Management (IAM) role that Batch Operations will use to run this
660
+ # job's operation on every object in the manifest.
304
661
  # @return [String]
305
662
  #
306
663
  # @!attribute [rw] tags
307
- # A set of tags to associate with the Amazon S3 Batch Operations job.
308
- # This is an optional parameter.
664
+ # A set of tags to associate with the S3 Batch Operations job. This is
665
+ # an optional parameter.
309
666
  # @return [Array<Types::S3Tag>]
310
667
  #
311
668
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
@@ -352,6 +709,19 @@ module Aws::S3Control
352
709
  #
353
710
  # @!attribute [rw] name
354
711
  # The name of the access point whose policy you want to delete.
712
+ #
713
+ # For using this parameter with Amazon S3 on Outposts with the REST
714
+ # API, you must specify the name and the x-amz-outpost-id as well.
715
+ #
716
+ # For using this parameter with S3 on Outposts with the AWS SDK and
717
+ # CLI, you must specify the ARN of the access point accessed in the
718
+ # format
719
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
720
+ # For example, to access the access point `reports-ap` through outpost
721
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
722
+ # use the URL encoding of
723
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
724
+ # The value must be URL encoded.
355
725
  # @return [String]
356
726
  #
357
727
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyRequest AWS API Documentation
@@ -377,6 +747,19 @@ module Aws::S3Control
377
747
  #
378
748
  # @!attribute [rw] name
379
749
  # The name of the access point you want to delete.
750
+ #
751
+ # For using this parameter with Amazon S3 on Outposts with the REST
752
+ # API, you must specify the name and the x-amz-outpost-id as well.
753
+ #
754
+ # For using this parameter with S3 on Outposts with the AWS SDK and
755
+ # CLI, you must specify the ARN of the access point accessed in the
756
+ # format
757
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
758
+ # For example, to access the access point `reports-ap` through outpost
759
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
760
+ # use the URL encoding of
761
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
762
+ # The value must be URL encoded.
380
763
  # @return [String]
381
764
  #
382
765
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointRequest AWS API Documentation
@@ -388,159 +771,400 @@ module Aws::S3Control
388
771
  include Aws::Structure
389
772
  end
390
773
 
391
- # @note When making an API call, you may pass DeleteJobTaggingRequest
774
+ # @note When making an API call, you may pass DeleteBucketLifecycleConfigurationRequest
392
775
  # data as a hash:
393
776
  #
394
777
  # {
395
778
  # account_id: "AccountId", # required
396
- # job_id: "JobId", # required
779
+ # bucket: "BucketName", # required
397
780
  # }
398
781
  #
399
782
  # @!attribute [rw] account_id
400
- # The AWS account ID associated with the Amazon S3 Batch Operations
401
- # job.
783
+ # The account ID of the lifecycle configuration to delete.
402
784
  # @return [String]
403
785
  #
404
- # @!attribute [rw] job_id
405
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
406
- # delete.
786
+ # @!attribute [rw] bucket
787
+ # Specifies the bucket.
788
+ #
789
+ # For using this parameter with Amazon S3 on Outposts with the REST
790
+ # API, you must specify the name and the x-amz-outpost-id as well.
791
+ #
792
+ # For using this parameter with S3 on Outposts with the AWS SDK and
793
+ # CLI, you must specify the ARN of the bucket accessed in the format
794
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
795
+ # For example, to access the bucket `reports` through outpost
796
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
797
+ # use the URL encoding of
798
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
799
+ # The value must be URL encoded.
407
800
  # @return [String]
408
801
  #
409
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingRequest AWS API Documentation
802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfigurationRequest AWS API Documentation
410
803
  #
411
- class DeleteJobTaggingRequest < Struct.new(
804
+ class DeleteBucketLifecycleConfigurationRequest < Struct.new(
412
805
  :account_id,
413
- :job_id)
806
+ :bucket)
414
807
  SENSITIVE = []
415
808
  include Aws::Structure
416
809
  end
417
810
 
418
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingResult AWS API Documentation
419
- #
420
- class DeleteJobTaggingResult < Aws::EmptyStructure; end
421
-
422
- # @note When making an API call, you may pass DeletePublicAccessBlockRequest
811
+ # @note When making an API call, you may pass DeleteBucketPolicyRequest
423
812
  # data as a hash:
424
813
  #
425
814
  # {
426
815
  # account_id: "AccountId", # required
816
+ # bucket: "BucketName", # required
427
817
  # }
428
818
  #
429
819
  # @!attribute [rw] account_id
430
- # The account ID for the Amazon Web Services account whose
431
- # `PublicAccessBlock` configuration you want to remove.
820
+ # The account ID of the Outposts bucket.
432
821
  # @return [String]
433
822
  #
434
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
823
+ # @!attribute [rw] bucket
824
+ # Specifies the bucket.
825
+ #
826
+ # For using this parameter with Amazon S3 on Outposts with the REST
827
+ # API, you must specify the name and the x-amz-outpost-id as well.
828
+ #
829
+ # For using this parameter with S3 on Outposts with the AWS SDK and
830
+ # CLI, you must specify the ARN of the bucket accessed in the format
831
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
832
+ # For example, to access the bucket `reports` through outpost
833
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
834
+ # use the URL encoding of
835
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
836
+ # The value must be URL encoded.
837
+ # @return [String]
435
838
  #
436
- class DeletePublicAccessBlockRequest < Struct.new(
437
- :account_id)
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicyRequest AWS API Documentation
840
+ #
841
+ class DeleteBucketPolicyRequest < Struct.new(
842
+ :account_id,
843
+ :bucket)
438
844
  SENSITIVE = []
439
845
  include Aws::Structure
440
846
  end
441
847
 
442
- # @note When making an API call, you may pass DescribeJobRequest
848
+ # @note When making an API call, you may pass DeleteBucketRequest
443
849
  # data as a hash:
444
850
  #
445
851
  # {
446
852
  # account_id: "AccountId", # required
447
- # job_id: "JobId", # required
853
+ # bucket: "BucketName", # required
448
854
  # }
449
855
  #
450
856
  # @!attribute [rw] account_id
857
+ # The account ID that owns the Outposts bucket.
451
858
  # @return [String]
452
859
  #
453
- # @!attribute [rw] job_id
454
- # The ID for the job whose information you want to retrieve.
860
+ # @!attribute [rw] bucket
861
+ # Specifies the bucket being deleted.
862
+ #
863
+ # For using this parameter with Amazon S3 on Outposts with the REST
864
+ # API, you must specify the name and the x-amz-outpost-id as well.
865
+ #
866
+ # For using this parameter with S3 on Outposts with the AWS SDK and
867
+ # CLI, you must specify the ARN of the bucket accessed in the format
868
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
869
+ # For example, to access the bucket `reports` through outpost
870
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
871
+ # use the URL encoding of
872
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
873
+ # The value must be URL encoded.
455
874
  # @return [String]
456
875
  #
457
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobRequest AWS API Documentation
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketRequest AWS API Documentation
458
877
  #
459
- class DescribeJobRequest < Struct.new(
878
+ class DeleteBucketRequest < Struct.new(
460
879
  :account_id,
461
- :job_id)
462
- SENSITIVE = []
463
- include Aws::Structure
464
- end
465
-
466
- # @!attribute [rw] job
467
- # Contains the configuration parameters and status for the job
468
- # specified in the `Describe Job` request.
469
- # @return [Types::JobDescriptor]
470
- #
471
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobResult AWS API Documentation
472
- #
473
- class DescribeJobResult < Struct.new(
474
- :job)
880
+ :bucket)
475
881
  SENSITIVE = []
476
882
  include Aws::Structure
477
883
  end
478
884
 
479
- # @note When making an API call, you may pass GetAccessPointPolicyRequest
885
+ # @note When making an API call, you may pass DeleteBucketTaggingRequest
480
886
  # data as a hash:
481
887
  #
482
888
  # {
483
889
  # account_id: "AccountId", # required
484
- # name: "AccessPointName", # required
890
+ # bucket: "BucketName", # required
485
891
  # }
486
892
  #
487
893
  # @!attribute [rw] account_id
488
- # The account ID for the account that owns the specified access point.
894
+ # The AWS account ID of the Outposts bucket tag set to be removed.
489
895
  # @return [String]
490
896
  #
491
- # @!attribute [rw] name
492
- # The name of the access point whose policy you want to retrieve.
897
+ # @!attribute [rw] bucket
898
+ # The bucket ARN that has the tag set to be removed.
899
+ #
900
+ # For using this parameter with Amazon S3 on Outposts with the REST
901
+ # API, you must specify the name and the x-amz-outpost-id as well.
902
+ #
903
+ # For using this parameter with S3 on Outposts with the AWS SDK and
904
+ # CLI, you must specify the ARN of the bucket accessed in the format
905
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
906
+ # For example, to access the bucket `reports` through outpost
907
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
908
+ # use the URL encoding of
909
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
910
+ # The value must be URL encoded.
493
911
  # @return [String]
494
912
  #
495
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTaggingRequest AWS API Documentation
496
914
  #
497
- class GetAccessPointPolicyRequest < Struct.new(
915
+ class DeleteBucketTaggingRequest < Struct.new(
498
916
  :account_id,
499
- :name)
500
- SENSITIVE = []
501
- include Aws::Structure
502
- end
503
-
504
- # @!attribute [rw] policy
505
- # The access point policy associated with the specified access point.
506
- # @return [String]
507
- #
508
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyResult AWS API Documentation
509
- #
510
- class GetAccessPointPolicyResult < Struct.new(
511
- :policy)
917
+ :bucket)
512
918
  SENSITIVE = []
513
919
  include Aws::Structure
514
920
  end
515
921
 
516
- # @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
922
+ # @note When making an API call, you may pass DeleteJobTaggingRequest
517
923
  # data as a hash:
518
924
  #
519
925
  # {
520
926
  # account_id: "AccountId", # required
521
- # name: "AccessPointName", # required
927
+ # job_id: "JobId", # required
522
928
  # }
523
929
  #
524
930
  # @!attribute [rw] account_id
525
- # The account ID for the account that owns the specified access point.
931
+ # The AWS account ID associated with the S3 Batch Operations job.
526
932
  # @return [String]
527
933
  #
528
- # @!attribute [rw] name
529
- # The name of the access point whose policy status you want to
530
- # retrieve.
934
+ # @!attribute [rw] job_id
935
+ # The ID for the S3 Batch Operations job whose tags you want to
936
+ # delete.
531
937
  # @return [String]
532
938
  #
533
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusRequest AWS API Documentation
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingRequest AWS API Documentation
534
940
  #
535
- class GetAccessPointPolicyStatusRequest < Struct.new(
941
+ class DeleteJobTaggingRequest < Struct.new(
536
942
  :account_id,
537
- :name)
943
+ :job_id)
538
944
  SENSITIVE = []
539
945
  include Aws::Structure
540
946
  end
541
947
 
542
- # @!attribute [rw] policy_status
543
- # Indicates the current policy status of the specified access point.
948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingResult AWS API Documentation
949
+ #
950
+ class DeleteJobTaggingResult < Aws::EmptyStructure; end
951
+
952
+ # @note When making an API call, you may pass DeletePublicAccessBlockRequest
953
+ # data as a hash:
954
+ #
955
+ # {
956
+ # account_id: "AccountId", # required
957
+ # }
958
+ #
959
+ # @!attribute [rw] account_id
960
+ # The account ID for the AWS account whose `PublicAccessBlock`
961
+ # configuration you want to remove.
962
+ # @return [String]
963
+ #
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
965
+ #
966
+ class DeletePublicAccessBlockRequest < Struct.new(
967
+ :account_id)
968
+ SENSITIVE = []
969
+ include Aws::Structure
970
+ end
971
+
972
+ # @note When making an API call, you may pass DeleteStorageLensConfigurationRequest
973
+ # data as a hash:
974
+ #
975
+ # {
976
+ # config_id: "ConfigId", # required
977
+ # account_id: "AccountId", # required
978
+ # }
979
+ #
980
+ # @!attribute [rw] config_id
981
+ # The ID of the S3 Storage Lens configuration.
982
+ # @return [String]
983
+ #
984
+ # @!attribute [rw] account_id
985
+ # The account ID of the requester.
986
+ # @return [String]
987
+ #
988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationRequest AWS API Documentation
989
+ #
990
+ class DeleteStorageLensConfigurationRequest < Struct.new(
991
+ :config_id,
992
+ :account_id)
993
+ SENSITIVE = []
994
+ include Aws::Structure
995
+ end
996
+
997
+ # @note When making an API call, you may pass DeleteStorageLensConfigurationTaggingRequest
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # config_id: "ConfigId", # required
1002
+ # account_id: "AccountId", # required
1003
+ # }
1004
+ #
1005
+ # @!attribute [rw] config_id
1006
+ # The ID of the S3 Storage Lens configuration.
1007
+ # @return [String]
1008
+ #
1009
+ # @!attribute [rw] account_id
1010
+ # The account ID of the requester.
1011
+ # @return [String]
1012
+ #
1013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTaggingRequest AWS API Documentation
1014
+ #
1015
+ class DeleteStorageLensConfigurationTaggingRequest < Struct.new(
1016
+ :config_id,
1017
+ :account_id)
1018
+ SENSITIVE = []
1019
+ include Aws::Structure
1020
+ end
1021
+
1022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTaggingResult AWS API Documentation
1023
+ #
1024
+ class DeleteStorageLensConfigurationTaggingResult < Aws::EmptyStructure; end
1025
+
1026
+ # @note When making an API call, you may pass DescribeJobRequest
1027
+ # data as a hash:
1028
+ #
1029
+ # {
1030
+ # account_id: "AccountId", # required
1031
+ # job_id: "JobId", # required
1032
+ # }
1033
+ #
1034
+ # @!attribute [rw] account_id
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] job_id
1038
+ # The ID for the job whose information you want to retrieve.
1039
+ # @return [String]
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobRequest AWS API Documentation
1042
+ #
1043
+ class DescribeJobRequest < Struct.new(
1044
+ :account_id,
1045
+ :job_id)
1046
+ SENSITIVE = []
1047
+ include Aws::Structure
1048
+ end
1049
+
1050
+ # @!attribute [rw] job
1051
+ # Contains the configuration parameters and status for the job
1052
+ # specified in the `Describe Job` request.
1053
+ # @return [Types::JobDescriptor]
1054
+ #
1055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobResult AWS API Documentation
1056
+ #
1057
+ class DescribeJobResult < Struct.new(
1058
+ :job)
1059
+ SENSITIVE = []
1060
+ include Aws::Structure
1061
+ end
1062
+
1063
+ # A container for what Amazon S3 Storage Lens will exclude.
1064
+ #
1065
+ # @note When making an API call, you may pass Exclude
1066
+ # data as a hash:
1067
+ #
1068
+ # {
1069
+ # buckets: ["S3BucketArnString"],
1070
+ # regions: ["S3AWSRegion"],
1071
+ # }
1072
+ #
1073
+ # @!attribute [rw] buckets
1074
+ # A container for the S3 Storage Lens bucket excludes.
1075
+ # @return [Array<String>]
1076
+ #
1077
+ # @!attribute [rw] regions
1078
+ # A container for the S3 Storage Lens Region excludes.
1079
+ # @return [Array<String>]
1080
+ #
1081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Exclude AWS API Documentation
1082
+ #
1083
+ class Exclude < Struct.new(
1084
+ :buckets,
1085
+ :regions)
1086
+ SENSITIVE = []
1087
+ include Aws::Structure
1088
+ end
1089
+
1090
+ # @note When making an API call, you may pass GetAccessPointPolicyRequest
1091
+ # data as a hash:
1092
+ #
1093
+ # {
1094
+ # account_id: "AccountId", # required
1095
+ # name: "AccessPointName", # required
1096
+ # }
1097
+ #
1098
+ # @!attribute [rw] account_id
1099
+ # The account ID for the account that owns the specified access point.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] name
1103
+ # The name of the access point whose policy you want to retrieve.
1104
+ #
1105
+ # For using this parameter with Amazon S3 on Outposts with the REST
1106
+ # API, you must specify the name and the x-amz-outpost-id as well.
1107
+ #
1108
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1109
+ # CLI, you must specify the ARN of the access point accessed in the
1110
+ # format
1111
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1112
+ # For example, to access the access point `reports-ap` 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/accesspoint/reports-ap`.
1116
+ # The value must be URL encoded.
1117
+ # @return [String]
1118
+ #
1119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
1120
+ #
1121
+ class GetAccessPointPolicyRequest < Struct.new(
1122
+ :account_id,
1123
+ :name)
1124
+ SENSITIVE = []
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] policy
1129
+ # The access point policy associated with the specified access point.
1130
+ # @return [String]
1131
+ #
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyResult AWS API Documentation
1133
+ #
1134
+ class GetAccessPointPolicyResult < Struct.new(
1135
+ :policy)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
1140
+ # @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
1141
+ # data as a hash:
1142
+ #
1143
+ # {
1144
+ # account_id: "AccountId", # required
1145
+ # name: "AccessPointName", # required
1146
+ # }
1147
+ #
1148
+ # @!attribute [rw] account_id
1149
+ # The account ID for the account that owns the specified access point.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] name
1153
+ # The name of the access point whose policy status you want to
1154
+ # retrieve.
1155
+ # @return [String]
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusRequest AWS API Documentation
1158
+ #
1159
+ class GetAccessPointPolicyStatusRequest < Struct.new(
1160
+ :account_id,
1161
+ :name)
1162
+ SENSITIVE = []
1163
+ include Aws::Structure
1164
+ end
1165
+
1166
+ # @!attribute [rw] policy_status
1167
+ # Indicates the current policy status of the specified access point.
544
1168
  # @return [Types::PolicyStatus]
545
1169
  #
546
1170
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusResult AWS API Documentation
@@ -566,6 +1190,19 @@ module Aws::S3Control
566
1190
  # @!attribute [rw] name
567
1191
  # The name of the access point whose configuration information you
568
1192
  # want to retrieve.
1193
+ #
1194
+ # For using this parameter with Amazon S3 on Outposts with the REST
1195
+ # API, you must specify the name and the x-amz-outpost-id as well.
1196
+ #
1197
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1198
+ # CLI, you must specify the ARN of the access point accessed in the
1199
+ # format
1200
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
1201
+ # For example, to access the access point `reports-ap` through outpost
1202
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1203
+ # use the URL encoding of
1204
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
1205
+ # The value must be URL encoded.
569
1206
  # @return [String]
570
1207
  #
571
1208
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointRequest AWS API Documentation
@@ -592,6 +1229,8 @@ module Aws::S3Control
592
1229
  # access from the public internet. Otherwise, `NetworkOrigin` is
593
1230
  # `Internet`, and the access point allows access from the public
594
1231
  # internet, subject to the access point and bucket access policies.
1232
+ #
1233
+ # This will always be true for an Amazon S3 on Outposts access point
595
1234
  # @return [String]
596
1235
  #
597
1236
  # @!attribute [rw] vpc_configuration
@@ -601,10 +1240,12 @@ module Aws::S3Control
601
1240
  #
602
1241
  # @!attribute [rw] public_access_block_configuration
603
1242
  # The `PublicAccessBlock` configuration that you want to apply to this
604
- # Amazon S3 bucket. You can enable the configuration options in any
1243
+ # Amazon S3 account. You can enable the configuration options in any
605
1244
  # combination. For more information about when Amazon S3 considers a
606
1245
  # bucket or object public, see [The Meaning of "Public"][1] in the
607
- # Amazon Simple Storage Service Developer Guide.
1246
+ # *Amazon Simple Storage Service Developer Guide*.
1247
+ #
1248
+ # This is not supported for Amazon S3 on Outposts.
608
1249
  #
609
1250
  #
610
1251
  #
@@ -628,6 +1269,211 @@ module Aws::S3Control
628
1269
  include Aws::Structure
629
1270
  end
630
1271
 
1272
+ # @note When making an API call, you may pass GetBucketLifecycleConfigurationRequest
1273
+ # data as a hash:
1274
+ #
1275
+ # {
1276
+ # account_id: "AccountId", # required
1277
+ # bucket: "BucketName", # required
1278
+ # }
1279
+ #
1280
+ # @!attribute [rw] account_id
1281
+ # The AWS account ID of the Outposts bucket.
1282
+ # @return [String]
1283
+ #
1284
+ # @!attribute [rw] bucket
1285
+ # The Amazon Resource Name (ARN) of the bucket.
1286
+ #
1287
+ # For using this parameter with Amazon S3 on Outposts with the REST
1288
+ # API, you must specify the name and the x-amz-outpost-id as well.
1289
+ #
1290
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1291
+ # CLI, you must specify the ARN of the bucket accessed in the format
1292
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1293
+ # For example, to access the bucket `reports` through outpost
1294
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1295
+ # use the URL encoding of
1296
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1297
+ # The value must be URL encoded.
1298
+ # @return [String]
1299
+ #
1300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationRequest AWS API Documentation
1301
+ #
1302
+ class GetBucketLifecycleConfigurationRequest < Struct.new(
1303
+ :account_id,
1304
+ :bucket)
1305
+ SENSITIVE = []
1306
+ include Aws::Structure
1307
+ end
1308
+
1309
+ # @!attribute [rw] rules
1310
+ # Container for the lifecycle rule of the Outposts bucket.
1311
+ # @return [Array<Types::LifecycleRule>]
1312
+ #
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfigurationResult AWS API Documentation
1314
+ #
1315
+ class GetBucketLifecycleConfigurationResult < Struct.new(
1316
+ :rules)
1317
+ SENSITIVE = []
1318
+ include Aws::Structure
1319
+ end
1320
+
1321
+ # @note When making an API call, you may pass GetBucketPolicyRequest
1322
+ # data as a hash:
1323
+ #
1324
+ # {
1325
+ # account_id: "AccountId", # required
1326
+ # bucket: "BucketName", # required
1327
+ # }
1328
+ #
1329
+ # @!attribute [rw] account_id
1330
+ # The AWS account ID of the Outposts bucket.
1331
+ # @return [String]
1332
+ #
1333
+ # @!attribute [rw] bucket
1334
+ # Specifies the bucket.
1335
+ #
1336
+ # For using this parameter with Amazon S3 on Outposts with the REST
1337
+ # API, you must specify the name and the x-amz-outpost-id as well.
1338
+ #
1339
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1340
+ # CLI, you must specify the ARN of the bucket accessed in the format
1341
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1342
+ # For example, to access the bucket `reports` through outpost
1343
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1344
+ # use the URL encoding of
1345
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1346
+ # The value must be URL encoded.
1347
+ # @return [String]
1348
+ #
1349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyRequest AWS API Documentation
1350
+ #
1351
+ class GetBucketPolicyRequest < Struct.new(
1352
+ :account_id,
1353
+ :bucket)
1354
+ SENSITIVE = []
1355
+ include Aws::Structure
1356
+ end
1357
+
1358
+ # @!attribute [rw] policy
1359
+ # The policy of the Outposts bucket.
1360
+ # @return [String]
1361
+ #
1362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicyResult AWS API Documentation
1363
+ #
1364
+ class GetBucketPolicyResult < Struct.new(
1365
+ :policy)
1366
+ SENSITIVE = []
1367
+ include Aws::Structure
1368
+ end
1369
+
1370
+ # @note When making an API call, you may pass GetBucketRequest
1371
+ # data as a hash:
1372
+ #
1373
+ # {
1374
+ # account_id: "AccountId", # required
1375
+ # bucket: "BucketName", # required
1376
+ # }
1377
+ #
1378
+ # @!attribute [rw] account_id
1379
+ # The AWS account ID of the Outposts bucket.
1380
+ # @return [String]
1381
+ #
1382
+ # @!attribute [rw] bucket
1383
+ # Specifies the bucket.
1384
+ #
1385
+ # For using this parameter with Amazon S3 on Outposts with the REST
1386
+ # API, you must specify the name and the x-amz-outpost-id as well.
1387
+ #
1388
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1389
+ # CLI, you must specify the ARN of the bucket accessed in the format
1390
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1391
+ # For example, to access the bucket `reports` through outpost
1392
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1393
+ # use the URL encoding of
1394
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1395
+ # The value must be URL encoded.
1396
+ # @return [String]
1397
+ #
1398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketRequest AWS API Documentation
1399
+ #
1400
+ class GetBucketRequest < Struct.new(
1401
+ :account_id,
1402
+ :bucket)
1403
+ SENSITIVE = []
1404
+ include Aws::Structure
1405
+ end
1406
+
1407
+ # @!attribute [rw] bucket
1408
+ # The Outposts bucket requested.
1409
+ # @return [String]
1410
+ #
1411
+ # @!attribute [rw] public_access_block_enabled
1412
+ # @return [Boolean]
1413
+ #
1414
+ # @!attribute [rw] creation_date
1415
+ # The creation date of the Outposts bucket.
1416
+ # @return [Time]
1417
+ #
1418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketResult AWS API Documentation
1419
+ #
1420
+ class GetBucketResult < Struct.new(
1421
+ :bucket,
1422
+ :public_access_block_enabled,
1423
+ :creation_date)
1424
+ SENSITIVE = []
1425
+ include Aws::Structure
1426
+ end
1427
+
1428
+ # @note When making an API call, you may pass GetBucketTaggingRequest
1429
+ # data as a hash:
1430
+ #
1431
+ # {
1432
+ # account_id: "AccountId", # required
1433
+ # bucket: "BucketName", # required
1434
+ # }
1435
+ #
1436
+ # @!attribute [rw] account_id
1437
+ # The AWS account ID of the Outposts bucket.
1438
+ # @return [String]
1439
+ #
1440
+ # @!attribute [rw] bucket
1441
+ # Specifies the bucket.
1442
+ #
1443
+ # For using this parameter with Amazon S3 on Outposts with the REST
1444
+ # API, you must specify the name and the x-amz-outpost-id as well.
1445
+ #
1446
+ # For using this parameter with S3 on Outposts with the AWS SDK and
1447
+ # CLI, you must specify the ARN of the bucket accessed in the format
1448
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
1449
+ # For example, to access the bucket `reports` through outpost
1450
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
1451
+ # use the URL encoding of
1452
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
1453
+ # The value must be URL encoded.
1454
+ # @return [String]
1455
+ #
1456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingRequest AWS API Documentation
1457
+ #
1458
+ class GetBucketTaggingRequest < Struct.new(
1459
+ :account_id,
1460
+ :bucket)
1461
+ SENSITIVE = []
1462
+ include Aws::Structure
1463
+ end
1464
+
1465
+ # @!attribute [rw] tag_set
1466
+ # The tags set of the Outposts bucket.
1467
+ # @return [Array<Types::S3Tag>]
1468
+ #
1469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTaggingResult AWS API Documentation
1470
+ #
1471
+ class GetBucketTaggingResult < Struct.new(
1472
+ :tag_set)
1473
+ SENSITIVE = []
1474
+ include Aws::Structure
1475
+ end
1476
+
631
1477
  # @note When making an API call, you may pass GetJobTaggingRequest
632
1478
  # data as a hash:
633
1479
  #
@@ -637,12 +1483,11 @@ module Aws::S3Control
637
1483
  # }
638
1484
  #
639
1485
  # @!attribute [rw] account_id
640
- # The AWS account ID associated with the Amazon S3 Batch Operations
641
- # job.
1486
+ # The AWS account ID associated with the S3 Batch Operations job.
642
1487
  # @return [String]
643
1488
  #
644
1489
  # @!attribute [rw] job_id
645
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1490
+ # The ID for the S3 Batch Operations job whose tags you want to
646
1491
  # retrieve.
647
1492
  # @return [String]
648
1493
  #
@@ -656,50 +1501,124 @@ module Aws::S3Control
656
1501
  end
657
1502
 
658
1503
  # @!attribute [rw] tags
659
- # The set of tags associated with the Amazon S3 Batch Operations job.
1504
+ # The set of tags associated with the S3 Batch Operations job.
660
1505
  # @return [Array<Types::S3Tag>]
661
1506
  #
662
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
1508
+ #
1509
+ class GetJobTaggingResult < Struct.new(
1510
+ :tags)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ end
1514
+
1515
+ # @!attribute [rw] public_access_block_configuration
1516
+ # The `PublicAccessBlock` configuration currently in effect for this
1517
+ # AWS account.
1518
+ # @return [Types::PublicAccessBlockConfiguration]
1519
+ #
1520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
1521
+ #
1522
+ class GetPublicAccessBlockOutput < Struct.new(
1523
+ :public_access_block_configuration)
1524
+ SENSITIVE = []
1525
+ include Aws::Structure
1526
+ end
1527
+
1528
+ # @note When making an API call, you may pass GetPublicAccessBlockRequest
1529
+ # data as a hash:
1530
+ #
1531
+ # {
1532
+ # account_id: "AccountId", # required
1533
+ # }
1534
+ #
1535
+ # @!attribute [rw] account_id
1536
+ # The account ID for the AWS account whose `PublicAccessBlock`
1537
+ # configuration you want to retrieve.
1538
+ # @return [String]
1539
+ #
1540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
1541
+ #
1542
+ class GetPublicAccessBlockRequest < Struct.new(
1543
+ :account_id)
1544
+ SENSITIVE = []
1545
+ include Aws::Structure
1546
+ end
1547
+
1548
+ # @note When making an API call, you may pass GetStorageLensConfigurationRequest
1549
+ # data as a hash:
1550
+ #
1551
+ # {
1552
+ # config_id: "ConfigId", # required
1553
+ # account_id: "AccountId", # required
1554
+ # }
1555
+ #
1556
+ # @!attribute [rw] config_id
1557
+ # The ID of the Amazon S3 Storage Lens configuration.
1558
+ # @return [String]
1559
+ #
1560
+ # @!attribute [rw] account_id
1561
+ # The account ID of the requester.
1562
+ # @return [String]
663
1563
  #
664
- class GetJobTaggingResult < Struct.new(
665
- :tags)
1564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationRequest AWS API Documentation
1565
+ #
1566
+ class GetStorageLensConfigurationRequest < Struct.new(
1567
+ :config_id,
1568
+ :account_id)
666
1569
  SENSITIVE = []
667
1570
  include Aws::Structure
668
1571
  end
669
1572
 
670
- # @!attribute [rw] public_access_block_configuration
671
- # The `PublicAccessBlock` configuration currently in effect for this
672
- # Amazon Web Services account.
673
- # @return [Types::PublicAccessBlockConfiguration]
1573
+ # @!attribute [rw] storage_lens_configuration
1574
+ # The S3 Storage Lens configuration requested.
1575
+ # @return [Types::StorageLensConfiguration]
674
1576
  #
675
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationResult AWS API Documentation
676
1578
  #
677
- class GetPublicAccessBlockOutput < Struct.new(
678
- :public_access_block_configuration)
1579
+ class GetStorageLensConfigurationResult < Struct.new(
1580
+ :storage_lens_configuration)
679
1581
  SENSITIVE = []
680
1582
  include Aws::Structure
681
1583
  end
682
1584
 
683
- # @note When making an API call, you may pass GetPublicAccessBlockRequest
1585
+ # @note When making an API call, you may pass GetStorageLensConfigurationTaggingRequest
684
1586
  # data as a hash:
685
1587
  #
686
1588
  # {
1589
+ # config_id: "ConfigId", # required
687
1590
  # account_id: "AccountId", # required
688
1591
  # }
689
1592
  #
1593
+ # @!attribute [rw] config_id
1594
+ # The ID of the Amazon S3 Storage Lens configuration.
1595
+ # @return [String]
1596
+ #
690
1597
  # @!attribute [rw] account_id
691
- # The account ID for the Amazon Web Services account whose
692
- # `PublicAccessBlock` configuration you want to retrieve.
1598
+ # The account ID of the requester.
693
1599
  # @return [String]
694
1600
  #
695
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTaggingRequest AWS API Documentation
696
1602
  #
697
- class GetPublicAccessBlockRequest < Struct.new(
1603
+ class GetStorageLensConfigurationTaggingRequest < Struct.new(
1604
+ :config_id,
698
1605
  :account_id)
699
1606
  SENSITIVE = []
700
1607
  include Aws::Structure
701
1608
  end
702
1609
 
1610
+ # @!attribute [rw] tags
1611
+ # The tags of S3 Storage Lens configuration requested.
1612
+ # @return [Array<Types::StorageLensTag>]
1613
+ #
1614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTaggingResult AWS API Documentation
1615
+ #
1616
+ class GetStorageLensConfigurationTaggingResult < Struct.new(
1617
+ :tags)
1618
+ SENSITIVE = []
1619
+ include Aws::Structure
1620
+ end
1621
+
703
1622
  # @!attribute [rw] message
704
1623
  # @return [String]
705
1624
  #
@@ -711,6 +1630,33 @@ module Aws::S3Control
711
1630
  include Aws::Structure
712
1631
  end
713
1632
 
1633
+ # A container for what Amazon S3 Storage Lens configuration includes.
1634
+ #
1635
+ # @note When making an API call, you may pass Include
1636
+ # data as a hash:
1637
+ #
1638
+ # {
1639
+ # buckets: ["S3BucketArnString"],
1640
+ # regions: ["S3AWSRegion"],
1641
+ # }
1642
+ #
1643
+ # @!attribute [rw] buckets
1644
+ # A container for the S3 Storage Lens bucket includes.
1645
+ # @return [Array<String>]
1646
+ #
1647
+ # @!attribute [rw] regions
1648
+ # A container for the S3 Storage Lens Region includes.
1649
+ # @return [Array<String>]
1650
+ #
1651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Include AWS API Documentation
1652
+ #
1653
+ class Include < Struct.new(
1654
+ :buckets,
1655
+ :regions)
1656
+ SENSITIVE = []
1657
+ include Aws::Structure
1658
+ end
1659
+
714
1660
  # @!attribute [rw] message
715
1661
  # @return [String]
716
1662
  #
@@ -776,7 +1722,7 @@ module Aws::S3Control
776
1722
  # @return [Types::JobManifest]
777
1723
  #
778
1724
  # @!attribute [rw] operation
779
- # The operation that the specified job is configured to execute on the
1725
+ # The operation that the specified job is configured to run on the
780
1726
  # objects listed in the manifest.
781
1727
  # @return [Types::JobOperation]
782
1728
  #
@@ -785,12 +1731,13 @@ module Aws::S3Control
785
1731
  # @return [Integer]
786
1732
  #
787
1733
  # @!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.
1734
+ # Describes the total number of tasks that the specified job has run,
1735
+ # the number of tasks that succeeded, and the number of tasks that
1736
+ # failed.
791
1737
  # @return [Types::JobProgressSummary]
792
1738
  #
793
1739
  # @!attribute [rw] status_update_reason
1740
+ # The reason for updating the job.
794
1741
  # @return [String]
795
1742
  #
796
1743
  # @!attribute [rw] failure_reasons
@@ -815,7 +1762,7 @@ module Aws::S3Control
815
1762
  #
816
1763
  # @!attribute [rw] role_arn
817
1764
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
818
- # Management (IAM) role assigned to execute the tasks for this job.
1765
+ # Management (IAM) role assigned to run the tasks for this job.
819
1766
  # @return [String]
820
1767
  #
821
1768
  # @!attribute [rw] suspended_date
@@ -886,7 +1833,7 @@ module Aws::S3Control
886
1833
  # @return [String]
887
1834
  #
888
1835
  # @!attribute [rw] operation
889
- # The operation that the specified job is configured to run on each
1836
+ # The operation that the specified job is configured to run on every
890
1837
  # object listed in the manifest.
891
1838
  # @return [String]
892
1839
  #
@@ -909,9 +1856,9 @@ module Aws::S3Control
909
1856
  # @return [Time]
910
1857
  #
911
1858
  # @!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.
1859
+ # Describes the total number of tasks that the specified job has run,
1860
+ # the number of tasks that succeeded, and the number of tasks that
1861
+ # failed.
915
1862
  # @return [Types::JobProgressSummary]
916
1863
  #
917
1864
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobListDescriptor AWS API Documentation
@@ -1031,10 +1978,10 @@ module Aws::S3Control
1031
1978
  include Aws::Structure
1032
1979
  end
1033
1980
 
1034
- # The operation that you want this job to perform on each object listed
1981
+ # The operation that you want this job to perform on every object listed
1035
1982
  # in the manifest. For more information about the available operations,
1036
- # see [Available Operations][1] in the *Amazon Simple Storage Service
1037
- # Developer Guide*.
1983
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
1984
+ # Guide*.
1038
1985
  #
1039
1986
  #
1040
1987
  #
@@ -1126,184 +2073,492 @@ module Aws::S3Control
1126
2073
  # expiration_in_days: 1,
1127
2074
  # glacier_job_tier: "BULK", # accepts BULK, STANDARD
1128
2075
  # },
1129
- # s3_put_object_legal_hold: {
1130
- # legal_hold: { # required
1131
- # status: "OFF", # required, accepts OFF, ON
2076
+ # s3_put_object_legal_hold: {
2077
+ # legal_hold: { # required
2078
+ # status: "OFF", # required, accepts OFF, ON
2079
+ # },
2080
+ # },
2081
+ # s3_put_object_retention: {
2082
+ # bypass_governance_retention: false,
2083
+ # retention: { # required
2084
+ # retain_until_date: Time.now,
2085
+ # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
2086
+ # },
2087
+ # },
2088
+ # }
2089
+ #
2090
+ # @!attribute [rw] lambda_invoke
2091
+ # Directs the specified job to invoke an AWS Lambda function on every
2092
+ # object in the manifest.
2093
+ # @return [Types::LambdaInvokeOperation]
2094
+ #
2095
+ # @!attribute [rw] s3_put_object_copy
2096
+ # Directs the specified job to run a PUT Copy object call on every
2097
+ # object in the manifest.
2098
+ # @return [Types::S3CopyObjectOperation]
2099
+ #
2100
+ # @!attribute [rw] s3_put_object_acl
2101
+ # Directs the specified job to run a PUT Object acl call on every
2102
+ # object in the manifest.
2103
+ # @return [Types::S3SetObjectAclOperation]
2104
+ #
2105
+ # @!attribute [rw] s3_put_object_tagging
2106
+ # Directs the specified job to run a PUT Object tagging call on every
2107
+ # object in the manifest.
2108
+ # @return [Types::S3SetObjectTaggingOperation]
2109
+ #
2110
+ # @!attribute [rw] s3_initiate_restore_object
2111
+ # Directs the specified job to initiate restore requests for every
2112
+ # archived object in the manifest.
2113
+ # @return [Types::S3InitiateRestoreObjectOperation]
2114
+ #
2115
+ # @!attribute [rw] s3_put_object_legal_hold
2116
+ # Contains the configuration for an S3 Object Lock legal hold
2117
+ # operation that an S3 Batch Operations job passes every object to the
2118
+ # underlying `PutObjectLegalHold` API. For more information, see
2119
+ # [Using S3 Object Lock legal hold with S3 Batch Operations][1] in the
2120
+ # *Amazon Simple Storage Service Developer Guide*.
2121
+ #
2122
+ #
2123
+ #
2124
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
2125
+ # @return [Types::S3SetObjectLegalHoldOperation]
2126
+ #
2127
+ # @!attribute [rw] s3_put_object_retention
2128
+ # Contains the configuration parameters for the Object Lock retention
2129
+ # action for an S3 Batch Operations job. Batch Operations passes every
2130
+ # object to the underlying `PutObjectRetention` API. For more
2131
+ # information, see [Using S3 Object Lock retention with S3 Batch
2132
+ # Operations][1] in the *Amazon Simple Storage Service Developer
2133
+ # Guide*.
2134
+ #
2135
+ #
2136
+ #
2137
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2138
+ # @return [Types::S3SetObjectRetentionOperation]
2139
+ #
2140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
2141
+ #
2142
+ class JobOperation < Struct.new(
2143
+ :lambda_invoke,
2144
+ :s3_put_object_copy,
2145
+ :s3_put_object_acl,
2146
+ :s3_put_object_tagging,
2147
+ :s3_initiate_restore_object,
2148
+ :s3_put_object_legal_hold,
2149
+ :s3_put_object_retention)
2150
+ SENSITIVE = []
2151
+ include Aws::Structure
2152
+ end
2153
+
2154
+ # Describes the total number of tasks that the specified job has
2155
+ # started, the number of tasks that succeeded, and the number of tasks
2156
+ # that failed.
2157
+ #
2158
+ # @!attribute [rw] total_number_of_tasks
2159
+ # @return [Integer]
2160
+ #
2161
+ # @!attribute [rw] number_of_tasks_succeeded
2162
+ # @return [Integer]
2163
+ #
2164
+ # @!attribute [rw] number_of_tasks_failed
2165
+ # @return [Integer]
2166
+ #
2167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobProgressSummary AWS API Documentation
2168
+ #
2169
+ class JobProgressSummary < Struct.new(
2170
+ :total_number_of_tasks,
2171
+ :number_of_tasks_succeeded,
2172
+ :number_of_tasks_failed)
2173
+ SENSITIVE = []
2174
+ include Aws::Structure
2175
+ end
2176
+
2177
+ # Contains the configuration parameters for a job-completion report.
2178
+ #
2179
+ # @note When making an API call, you may pass JobReport
2180
+ # data as a hash:
2181
+ #
2182
+ # {
2183
+ # bucket: "S3BucketArnString",
2184
+ # format: "Report_CSV_20180820", # accepts Report_CSV_20180820
2185
+ # enabled: false, # required
2186
+ # prefix: "ReportPrefixString",
2187
+ # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
2188
+ # }
2189
+ #
2190
+ # @!attribute [rw] bucket
2191
+ # The Amazon Resource Name (ARN) for the bucket where specified
2192
+ # job-completion report will be stored.
2193
+ # @return [String]
2194
+ #
2195
+ # @!attribute [rw] format
2196
+ # The format of the specified job-completion report.
2197
+ # @return [String]
2198
+ #
2199
+ # @!attribute [rw] enabled
2200
+ # Indicates whether the specified job will generate a job-completion
2201
+ # report.
2202
+ # @return [Boolean]
2203
+ #
2204
+ # @!attribute [rw] prefix
2205
+ # An optional prefix to describe where in the specified bucket the
2206
+ # job-completion report will be stored. Amazon S3 stores the
2207
+ # job-completion report at `<prefix>/job-<job-id>/report.json`.
2208
+ # @return [String]
2209
+ #
2210
+ # @!attribute [rw] report_scope
2211
+ # Indicates whether the job-completion report will include details of
2212
+ # all tasks or only failed tasks.
2213
+ # @return [String]
2214
+ #
2215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobReport AWS API Documentation
2216
+ #
2217
+ class JobReport < Struct.new(
2218
+ :bucket,
2219
+ :format,
2220
+ :enabled,
2221
+ :prefix,
2222
+ :report_scope)
2223
+ SENSITIVE = []
2224
+ include Aws::Structure
2225
+ end
2226
+
2227
+ # @!attribute [rw] message
2228
+ # @return [String]
2229
+ #
2230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobStatusException AWS API Documentation
2231
+ #
2232
+ class JobStatusException < Struct.new(
2233
+ :message)
2234
+ SENSITIVE = []
2235
+ include Aws::Structure
2236
+ end
2237
+
2238
+ # Contains the configuration parameters for a `Lambda Invoke` operation.
2239
+ #
2240
+ # @note When making an API call, you may pass LambdaInvokeOperation
2241
+ # data as a hash:
2242
+ #
2243
+ # {
2244
+ # function_arn: "FunctionArnString",
2245
+ # }
2246
+ #
2247
+ # @!attribute [rw] function_arn
2248
+ # The Amazon Resource Name (ARN) for the AWS Lambda function that the
2249
+ # specified job will invoke on every object in the manifest.
2250
+ # @return [String]
2251
+ #
2252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
2253
+ #
2254
+ class LambdaInvokeOperation < Struct.new(
2255
+ :function_arn)
2256
+ SENSITIVE = []
2257
+ include Aws::Structure
2258
+ end
2259
+
2260
+ # The container for the Outposts bucket lifecycle configuration.
2261
+ #
2262
+ # @note When making an API call, you may pass LifecycleConfiguration
2263
+ # data as a hash:
2264
+ #
2265
+ # {
2266
+ # rules: [
2267
+ # {
2268
+ # expiration: {
2269
+ # date: Time.now,
2270
+ # days: 1,
2271
+ # expired_object_delete_marker: false,
2272
+ # },
2273
+ # id: "ID",
2274
+ # filter: {
2275
+ # prefix: "Prefix",
2276
+ # tag: {
2277
+ # key: "TagKeyString", # required
2278
+ # value: "TagValueString", # required
2279
+ # },
2280
+ # and: {
2281
+ # prefix: "Prefix",
2282
+ # tags: [
2283
+ # {
2284
+ # key: "TagKeyString", # required
2285
+ # value: "TagValueString", # required
2286
+ # },
2287
+ # ],
2288
+ # },
2289
+ # },
2290
+ # status: "Enabled", # required, accepts Enabled, Disabled
2291
+ # transitions: [
2292
+ # {
2293
+ # date: Time.now,
2294
+ # days: 1,
2295
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2296
+ # },
2297
+ # ],
2298
+ # noncurrent_version_transitions: [
2299
+ # {
2300
+ # noncurrent_days: 1,
2301
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2302
+ # },
2303
+ # ],
2304
+ # noncurrent_version_expiration: {
2305
+ # noncurrent_days: 1,
2306
+ # },
2307
+ # abort_incomplete_multipart_upload: {
2308
+ # days_after_initiation: 1,
2309
+ # },
2310
+ # },
2311
+ # ],
2312
+ # }
2313
+ #
2314
+ # @!attribute [rw] rules
2315
+ # A lifecycle rule for individual objects in an Outposts bucket.
2316
+ # @return [Array<Types::LifecycleRule>]
2317
+ #
2318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleConfiguration AWS API Documentation
2319
+ #
2320
+ class LifecycleConfiguration < Struct.new(
2321
+ :rules)
2322
+ SENSITIVE = []
2323
+ include Aws::Structure
2324
+ end
2325
+
2326
+ # The container of the Outposts bucket lifecycle expiration.
2327
+ #
2328
+ # @note When making an API call, you may pass LifecycleExpiration
2329
+ # data as a hash:
2330
+ #
2331
+ # {
2332
+ # date: Time.now,
2333
+ # days: 1,
2334
+ # expired_object_delete_marker: false,
2335
+ # }
2336
+ #
2337
+ # @!attribute [rw] date
2338
+ # Indicates at what date the object is to be deleted. Should be in GMT
2339
+ # ISO 8601 format.
2340
+ # @return [Time]
2341
+ #
2342
+ # @!attribute [rw] days
2343
+ # Indicates the lifetime, in days, of the objects that are subject to
2344
+ # the rule. The value must be a non-zero positive integer.
2345
+ # @return [Integer]
2346
+ #
2347
+ # @!attribute [rw] expired_object_delete_marker
2348
+ # Indicates whether Amazon S3 will remove a delete marker with no
2349
+ # noncurrent versions. If set to true, the delete marker will be
2350
+ # expired. If set to false, the policy takes no action. This cannot be
2351
+ # specified with Days or Date in a Lifecycle Expiration Policy.
2352
+ # @return [Boolean]
2353
+ #
2354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleExpiration AWS API Documentation
2355
+ #
2356
+ class LifecycleExpiration < Struct.new(
2357
+ :date,
2358
+ :days,
2359
+ :expired_object_delete_marker)
2360
+ SENSITIVE = []
2361
+ include Aws::Structure
2362
+ end
2363
+
2364
+ # The container for the Outposts bucket lifecycle rule.
2365
+ #
2366
+ # @note When making an API call, you may pass LifecycleRule
2367
+ # data as a hash:
2368
+ #
2369
+ # {
2370
+ # expiration: {
2371
+ # date: Time.now,
2372
+ # days: 1,
2373
+ # expired_object_delete_marker: false,
2374
+ # },
2375
+ # id: "ID",
2376
+ # filter: {
2377
+ # prefix: "Prefix",
2378
+ # tag: {
2379
+ # key: "TagKeyString", # required
2380
+ # value: "TagValueString", # required
2381
+ # },
2382
+ # and: {
2383
+ # prefix: "Prefix",
2384
+ # tags: [
2385
+ # {
2386
+ # key: "TagKeyString", # required
2387
+ # value: "TagValueString", # required
2388
+ # },
2389
+ # ],
1132
2390
  # },
1133
2391
  # },
1134
- # s3_put_object_retention: {
1135
- # bypass_governance_retention: false,
1136
- # retention: { # required
1137
- # retain_until_date: Time.now,
1138
- # mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
2392
+ # status: "Enabled", # required, accepts Enabled, Disabled
2393
+ # transitions: [
2394
+ # {
2395
+ # date: Time.now,
2396
+ # days: 1,
2397
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2398
+ # },
2399
+ # ],
2400
+ # noncurrent_version_transitions: [
2401
+ # {
2402
+ # noncurrent_days: 1,
2403
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
1139
2404
  # },
2405
+ # ],
2406
+ # noncurrent_version_expiration: {
2407
+ # noncurrent_days: 1,
2408
+ # },
2409
+ # abort_incomplete_multipart_upload: {
2410
+ # days_after_initiation: 1,
1140
2411
  # },
1141
2412
  # }
1142
2413
  #
1143
- # @!attribute [rw] lambda_invoke
1144
- # Directs the specified job to invoke an AWS Lambda function on each
1145
- # object in the manifest.
1146
- # @return [Types::LambdaInvokeOperation]
1147
- #
1148
- # @!attribute [rw] s3_put_object_copy
1149
- # Directs the specified job to execute a PUT Copy object call on each
1150
- # object in the manifest.
1151
- # @return [Types::S3CopyObjectOperation]
2414
+ # @!attribute [rw] expiration
2415
+ # Specifies the expiration for the lifecycle of the object in the form
2416
+ # of date, days and, whether the object has a delete marker.
2417
+ # @return [Types::LifecycleExpiration]
1152
2418
  #
1153
- # @!attribute [rw] s3_put_object_acl
1154
- # Directs the specified job to execute a PUT Object acl call on each
1155
- # object in the manifest.
1156
- # @return [Types::S3SetObjectAclOperation]
2419
+ # @!attribute [rw] id
2420
+ # Unique identifier for the rule. The value cannot be longer than 255
2421
+ # characters.
2422
+ # @return [String]
1157
2423
  #
1158
- # @!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.
1161
- # @return [Types::S3SetObjectTaggingOperation]
2424
+ # @!attribute [rw] filter
2425
+ # The container for the filter of lifecycle rule.
2426
+ # @return [Types::LifecycleRuleFilter]
1162
2427
  #
1163
- # @!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.
1166
- # @return [Types::S3InitiateRestoreObjectOperation]
2428
+ # @!attribute [rw] status
2429
+ # If 'Enabled', the rule is currently being applied. If
2430
+ # 'Disabled', the rule is not currently being applied.
2431
+ # @return [String]
1167
2432
  #
1168
- # @!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].
2433
+ # @!attribute [rw] transitions
2434
+ # Specifies when an Amazon S3 object transitions to a specified
2435
+ # storage class.
1173
2436
  #
2437
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
1174
2438
  #
2439
+ # </note>
2440
+ # @return [Array<Types::Transition>]
1175
2441
  #
1176
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
1177
- # @return [Types::S3SetObjectLegalHoldOperation]
2442
+ # @!attribute [rw] noncurrent_version_transitions
2443
+ # Specifies the transition rule for the lifecycle rule that describes
2444
+ # when noncurrent objects transition to a specific storage class. If
2445
+ # your bucket is versioning-enabled (or versioning is suspended), you
2446
+ # can set this action to request that Amazon S3 transition noncurrent
2447
+ # object versions to a specific storage class at a set period in the
2448
+ # object's lifetime.
1178
2449
  #
1179
- # @!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].
2450
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
1184
2451
  #
2452
+ # </note>
2453
+ # @return [Array<Types::NoncurrentVersionTransition>]
1185
2454
  #
2455
+ # @!attribute [rw] noncurrent_version_expiration
2456
+ # The noncurrent version expiration of the lifecycle rule.
1186
2457
  #
1187
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
1188
- # @return [Types::S3SetObjectRetentionOperation]
2458
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
1189
2459
  #
1190
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
2460
+ # </note>
2461
+ # @return [Types::NoncurrentVersionExpiration]
1191
2462
  #
1192
- class JobOperation < Struct.new(
1193
- :lambda_invoke,
1194
- :s3_put_object_copy,
1195
- :s3_put_object_acl,
1196
- :s3_put_object_tagging,
1197
- :s3_initiate_restore_object,
1198
- :s3_put_object_legal_hold,
1199
- :s3_put_object_retention)
1200
- SENSITIVE = []
1201
- include Aws::Structure
1202
- end
1203
-
1204
- # Describes the total number of tasks that the specified job has
1205
- # executed, the number of tasks that succeeded, and the number of tasks
1206
- # that failed.
2463
+ # @!attribute [rw] abort_incomplete_multipart_upload
2464
+ # Specifies the days since the initiation of an incomplete multipart
2465
+ # upload that Amazon S3 waits before permanently removing all parts of
2466
+ # the upload. For more information, see [ Aborting Incomplete
2467
+ # Multipart Uploads Using a Bucket Lifecycle Policy][1] in the *Amazon
2468
+ # Simple Storage Service Developer Guide*.
1207
2469
  #
1208
- # @!attribute [rw] total_number_of_tasks
1209
- # @return [Integer]
1210
2470
  #
1211
- # @!attribute [rw] number_of_tasks_succeeded
1212
- # @return [Integer]
1213
2471
  #
1214
- # @!attribute [rw] number_of_tasks_failed
1215
- # @return [Integer]
2472
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2473
+ # @return [Types::AbortIncompleteMultipartUpload]
1216
2474
  #
1217
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobProgressSummary AWS API Documentation
2475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
1218
2476
  #
1219
- class JobProgressSummary < Struct.new(
1220
- :total_number_of_tasks,
1221
- :number_of_tasks_succeeded,
1222
- :number_of_tasks_failed)
2477
+ class LifecycleRule < Struct.new(
2478
+ :expiration,
2479
+ :id,
2480
+ :filter,
2481
+ :status,
2482
+ :transitions,
2483
+ :noncurrent_version_transitions,
2484
+ :noncurrent_version_expiration,
2485
+ :abort_incomplete_multipart_upload)
1223
2486
  SENSITIVE = []
1224
2487
  include Aws::Structure
1225
2488
  end
1226
2489
 
1227
- # Contains the configuration parameters for a job-completion report.
2490
+ # The container for the Outposts bucket lifecycle rule and operator.
1228
2491
  #
1229
- # @note When making an API call, you may pass JobReport
2492
+ # @note When making an API call, you may pass LifecycleRuleAndOperator
1230
2493
  # data as a hash:
1231
2494
  #
1232
2495
  # {
1233
- # bucket: "S3BucketArnString",
1234
- # format: "Report_CSV_20180820", # accepts Report_CSV_20180820
1235
- # enabled: false, # required
1236
- # prefix: "ReportPrefixString",
1237
- # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
2496
+ # prefix: "Prefix",
2497
+ # tags: [
2498
+ # {
2499
+ # key: "TagKeyString", # required
2500
+ # value: "TagValueString", # required
2501
+ # },
2502
+ # ],
1238
2503
  # }
1239
2504
  #
1240
- # @!attribute [rw] bucket
1241
- # The Amazon Resource Name (ARN) for the bucket where specified
1242
- # job-completion report will be stored.
1243
- # @return [String]
1244
- #
1245
- # @!attribute [rw] format
1246
- # The format of the specified job-completion report.
1247
- # @return [String]
1248
- #
1249
- # @!attribute [rw] enabled
1250
- # Indicates whether the specified job will generate a job-completion
1251
- # report.
1252
- # @return [Boolean]
1253
- #
1254
2505
  # @!attribute [rw] prefix
1255
- # 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.
2506
+ # Prefix identifying one or more objects to which the rule applies.
1259
2507
  # @return [String]
1260
2508
  #
1261
- # @!attribute [rw] report_scope
1262
- # Indicates whether the job-completion report will include details of
1263
- # all tasks or only failed tasks.
1264
- # @return [String]
2509
+ # @!attribute [rw] tags
2510
+ # All of these tags must exist in the object's tag set in order for
2511
+ # the rule to apply.
2512
+ # @return [Array<Types::S3Tag>]
1265
2513
  #
1266
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobReport AWS API Documentation
2514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
1267
2515
  #
1268
- class JobReport < Struct.new(
1269
- :bucket,
1270
- :format,
1271
- :enabled,
2516
+ class LifecycleRuleAndOperator < Struct.new(
1272
2517
  :prefix,
1273
- :report_scope)
1274
- SENSITIVE = []
1275
- include Aws::Structure
1276
- end
1277
-
1278
- # @!attribute [rw] message
1279
- # @return [String]
1280
- #
1281
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobStatusException AWS API Documentation
1282
- #
1283
- class JobStatusException < Struct.new(
1284
- :message)
2518
+ :tags)
1285
2519
  SENSITIVE = []
1286
2520
  include Aws::Structure
1287
2521
  end
1288
2522
 
1289
- # Contains the configuration parameters for a `Lambda Invoke` operation.
2523
+ # The container for the filter of the lifecycle rule.
1290
2524
  #
1291
- # @note When making an API call, you may pass LambdaInvokeOperation
2525
+ # @note When making an API call, you may pass LifecycleRuleFilter
1292
2526
  # data as a hash:
1293
2527
  #
1294
2528
  # {
1295
- # function_arn: "FunctionArnString",
2529
+ # prefix: "Prefix",
2530
+ # tag: {
2531
+ # key: "TagKeyString", # required
2532
+ # value: "TagValueString", # required
2533
+ # },
2534
+ # and: {
2535
+ # prefix: "Prefix",
2536
+ # tags: [
2537
+ # {
2538
+ # key: "TagKeyString", # required
2539
+ # value: "TagValueString", # required
2540
+ # },
2541
+ # ],
2542
+ # },
1296
2543
  # }
1297
2544
  #
1298
- # @!attribute [rw] function_arn
1299
- # The Amazon Resource Name (ARN) for the AWS Lambda function that the
1300
- # specified job will invoke for each object in the manifest.
2545
+ # @!attribute [rw] prefix
2546
+ # Prefix identifying one or more objects to which the rule applies.
1301
2547
  # @return [String]
1302
2548
  #
1303
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
2549
+ # @!attribute [rw] tag
2550
+ # @return [Types::S3Tag]
1304
2551
  #
1305
- class LambdaInvokeOperation < Struct.new(
1306
- :function_arn)
2552
+ # @!attribute [rw] and
2553
+ # The container for the `AND` condition for the lifecycle rule.
2554
+ # @return [Types::LifecycleRuleAndOperator]
2555
+ #
2556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleFilter AWS API Documentation
2557
+ #
2558
+ class LifecycleRuleFilter < Struct.new(
2559
+ :prefix,
2560
+ :tag,
2561
+ :and)
1307
2562
  SENSITIVE = []
1308
2563
  include Aws::Structure
1309
2564
  end
@@ -1326,6 +2581,18 @@ module Aws::S3Control
1326
2581
  # @!attribute [rw] bucket
1327
2582
  # The name of the bucket whose associated access points you want to
1328
2583
  # list.
2584
+ #
2585
+ # For using this parameter with Amazon S3 on Outposts with the REST
2586
+ # API, you must specify the name and the x-amz-outpost-id as well.
2587
+ #
2588
+ # For using this parameter with S3 on Outposts with the AWS SDK and
2589
+ # CLI, you must specify the ARN of the bucket accessed in the format
2590
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
2591
+ # For example, to access the bucket `reports` through outpost
2592
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
2593
+ # use the URL encoding of
2594
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
2595
+ # The value must be URL encoded.
1329
2596
  # @return [String]
1330
2597
  #
1331
2598
  # @!attribute [rw] next_token
@@ -1361,9 +2628,9 @@ module Aws::S3Control
1361
2628
  #
1362
2629
  # @!attribute [rw] next_token
1363
2630
  # 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.
2631
+ # in one call to this API, this field contains a continuation token
2632
+ # that you can provide in subsequent calls to this API to retrieve
2633
+ # additional access points.
1367
2634
  # @return [String]
1368
2635
  #
1369
2636
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsResult AWS API Documentation
@@ -1437,17 +2704,218 @@ module Aws::S3Control
1437
2704
  include Aws::Structure
1438
2705
  end
1439
2706
 
1440
- # Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
1441
- # request against an account that doesn't have a
1442
- # `PublicAccessBlockConfiguration` set.
2707
+ # @note When making an API call, you may pass ListRegionalBucketsRequest
2708
+ # data as a hash:
2709
+ #
2710
+ # {
2711
+ # account_id: "AccountId", # required
2712
+ # next_token: "NonEmptyMaxLength1024String",
2713
+ # max_results: 1,
2714
+ # outpost_id: "NonEmptyMaxLength64String",
2715
+ # }
2716
+ #
2717
+ # @!attribute [rw] account_id
2718
+ # The AWS account ID of the Outposts bucket.
2719
+ # @return [String]
2720
+ #
2721
+ # @!attribute [rw] next_token
2722
+ # @return [String]
2723
+ #
2724
+ # @!attribute [rw] max_results
2725
+ # @return [Integer]
2726
+ #
2727
+ # @!attribute [rw] outpost_id
2728
+ # The ID of the AWS Outposts.
2729
+ #
2730
+ # <note markdown="1"> This is required by Amazon S3 on Outposts buckets.
2731
+ #
2732
+ # </note>
2733
+ # @return [String]
2734
+ #
2735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsRequest AWS API Documentation
2736
+ #
2737
+ class ListRegionalBucketsRequest < Struct.new(
2738
+ :account_id,
2739
+ :next_token,
2740
+ :max_results,
2741
+ :outpost_id)
2742
+ SENSITIVE = []
2743
+ include Aws::Structure
2744
+ end
2745
+
2746
+ # @!attribute [rw] regional_bucket_list
2747
+ # @return [Array<Types::RegionalBucket>]
2748
+ #
2749
+ # @!attribute [rw] next_token
2750
+ # `NextToken` is sent when `isTruncated` is true, which means there
2751
+ # are more buckets that can be listed. The next list requests to
2752
+ # Amazon S3 can be continued with this `NextToken`. `NextToken` is
2753
+ # obfuscated and is not a real key.
2754
+ # @return [String]
2755
+ #
2756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsResult AWS API Documentation
2757
+ #
2758
+ class ListRegionalBucketsResult < Struct.new(
2759
+ :regional_bucket_list,
2760
+ :next_token)
2761
+ SENSITIVE = []
2762
+ include Aws::Structure
2763
+ end
2764
+
2765
+ # Part of `ListStorageLensConfigurationResult`. Each entry includes the
2766
+ # description of the S3 Storage Lens configuration, its home Region,
2767
+ # whether it is enabled, its Amazon Resource Name (ARN), and config ID.
2768
+ #
2769
+ # @!attribute [rw] id
2770
+ # A container for the S3 Storage Lens configuration ID.
2771
+ # @return [String]
2772
+ #
2773
+ # @!attribute [rw] storage_lens_arn
2774
+ # The ARN of the S3 Storage Lens configuration. This property is
2775
+ # read-only.
2776
+ # @return [String]
2777
+ #
2778
+ # @!attribute [rw] home_region
2779
+ # A container for the S3 Storage Lens home Region. Your metrics data
2780
+ # is stored and retained in your designated S3 Storage Lens home
2781
+ # Region.
2782
+ # @return [String]
2783
+ #
2784
+ # @!attribute [rw] is_enabled
2785
+ # A container for whether the S3 Storage Lens configuration is
2786
+ # enabled. This property is required.
2787
+ # @return [Boolean]
2788
+ #
2789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationEntry AWS API Documentation
2790
+ #
2791
+ class ListStorageLensConfigurationEntry < Struct.new(
2792
+ :id,
2793
+ :storage_lens_arn,
2794
+ :home_region,
2795
+ :is_enabled)
2796
+ SENSITIVE = []
2797
+ include Aws::Structure
2798
+ end
2799
+
2800
+ # @note When making an API call, you may pass ListStorageLensConfigurationsRequest
2801
+ # data as a hash:
2802
+ #
2803
+ # {
2804
+ # account_id: "AccountId", # required
2805
+ # next_token: "ContinuationToken",
2806
+ # }
2807
+ #
2808
+ # @!attribute [rw] account_id
2809
+ # The account ID of the requester.
2810
+ # @return [String]
2811
+ #
2812
+ # @!attribute [rw] next_token
2813
+ # A pagination token to request the next page of results.
2814
+ # @return [String]
2815
+ #
2816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationsRequest AWS API Documentation
2817
+ #
2818
+ class ListStorageLensConfigurationsRequest < Struct.new(
2819
+ :account_id,
2820
+ :next_token)
2821
+ SENSITIVE = []
2822
+ include Aws::Structure
2823
+ end
2824
+
2825
+ # @!attribute [rw] next_token
2826
+ # If the request produced more than the maximum number of S3 Storage
2827
+ # Lens configuration results, you can pass this value into a
2828
+ # subsequent request to retrieve the next page of results.
2829
+ # @return [String]
2830
+ #
2831
+ # @!attribute [rw] storage_lens_configuration_list
2832
+ # A list of S3 Storage Lens configurations.
2833
+ # @return [Array<Types::ListStorageLensConfigurationEntry>]
2834
+ #
2835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationsResult AWS API Documentation
2836
+ #
2837
+ class ListStorageLensConfigurationsResult < Struct.new(
2838
+ :next_token,
2839
+ :storage_lens_configuration_list)
2840
+ SENSITIVE = []
2841
+ include Aws::Structure
2842
+ end
2843
+
2844
+ # Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
2845
+ # request against an account that doesn't have a
2846
+ # `PublicAccessBlockConfiguration` set.
2847
+ #
2848
+ # @!attribute [rw] message
2849
+ # @return [String]
2850
+ #
2851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoSuchPublicAccessBlockConfiguration AWS API Documentation
2852
+ #
2853
+ class NoSuchPublicAccessBlockConfiguration < Struct.new(
2854
+ :message)
2855
+ SENSITIVE = []
2856
+ include Aws::Structure
2857
+ end
2858
+
2859
+ # The container of the noncurrent version expiration.
2860
+ #
2861
+ # @note When making an API call, you may pass NoncurrentVersionExpiration
2862
+ # data as a hash:
2863
+ #
2864
+ # {
2865
+ # noncurrent_days: 1,
2866
+ # }
2867
+ #
2868
+ # @!attribute [rw] noncurrent_days
2869
+ # Specifies the number of days an object is noncurrent before Amazon
2870
+ # S3 can perform the associated action. For information about the
2871
+ # noncurrent days calculations, see [How Amazon S3 Calculates When an
2872
+ # Object Became Noncurrent][1] in the *Amazon Simple Storage Service
2873
+ # Developer Guide*.
2874
+ #
2875
+ #
2876
+ #
2877
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
2878
+ # @return [Integer]
2879
+ #
2880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionExpiration AWS API Documentation
2881
+ #
2882
+ class NoncurrentVersionExpiration < Struct.new(
2883
+ :noncurrent_days)
2884
+ SENSITIVE = []
2885
+ include Aws::Structure
2886
+ end
2887
+
2888
+ # The container for the noncurrent version transition.
1443
2889
  #
1444
- # @!attribute [rw] message
2890
+ # @note When making an API call, you may pass NoncurrentVersionTransition
2891
+ # data as a hash:
2892
+ #
2893
+ # {
2894
+ # noncurrent_days: 1,
2895
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
2896
+ # }
2897
+ #
2898
+ # @!attribute [rw] noncurrent_days
2899
+ # Specifies the number of days an object is noncurrent before Amazon
2900
+ # S3 can perform the associated action. For information about the
2901
+ # noncurrent days calculations, see [ How Amazon S3 Calculates How
2902
+ # Long an Object Has Been Noncurrent][1] in the *Amazon Simple Storage
2903
+ # Service Developer Guide*.
2904
+ #
2905
+ #
2906
+ #
2907
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations
2908
+ # @return [Integer]
2909
+ #
2910
+ # @!attribute [rw] storage_class
2911
+ # The class of storage used to store the object.
1445
2912
  # @return [String]
1446
2913
  #
1447
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoSuchPublicAccessBlockConfiguration AWS API Documentation
2914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionTransition AWS API Documentation
1448
2915
  #
1449
- class NoSuchPublicAccessBlockConfiguration < Struct.new(
1450
- :message)
2916
+ class NoncurrentVersionTransition < Struct.new(
2917
+ :noncurrent_days,
2918
+ :storage_class)
1451
2919
  SENSITIVE = []
1452
2920
  include Aws::Structure
1453
2921
  end
@@ -1483,11 +2951,72 @@ module Aws::S3Control
1483
2951
  include Aws::Structure
1484
2952
  end
1485
2953
 
2954
+ # A container for the prefix-level configuration.
2955
+ #
2956
+ # @note When making an API call, you may pass PrefixLevel
2957
+ # data as a hash:
2958
+ #
2959
+ # {
2960
+ # storage_metrics: { # required
2961
+ # is_enabled: false,
2962
+ # selection_criteria: {
2963
+ # delimiter: "StorageLensPrefixLevelDelimiter",
2964
+ # max_depth: 1,
2965
+ # min_storage_bytes_percentage: 1.0,
2966
+ # },
2967
+ # },
2968
+ # }
2969
+ #
2970
+ # @!attribute [rw] storage_metrics
2971
+ # A container for the prefix-level storage metrics for S3 Storage
2972
+ # Lens.
2973
+ # @return [Types::PrefixLevelStorageMetrics]
2974
+ #
2975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PrefixLevel AWS API Documentation
2976
+ #
2977
+ class PrefixLevel < Struct.new(
2978
+ :storage_metrics)
2979
+ SENSITIVE = []
2980
+ include Aws::Structure
2981
+ end
2982
+
2983
+ # A container for the prefix-level storage metrics for S3 Storage Lens.
2984
+ #
2985
+ # @note When making an API call, you may pass PrefixLevelStorageMetrics
2986
+ # data as a hash:
2987
+ #
2988
+ # {
2989
+ # is_enabled: false,
2990
+ # selection_criteria: {
2991
+ # delimiter: "StorageLensPrefixLevelDelimiter",
2992
+ # max_depth: 1,
2993
+ # min_storage_bytes_percentage: 1.0,
2994
+ # },
2995
+ # }
2996
+ #
2997
+ # @!attribute [rw] is_enabled
2998
+ # A container for whether prefix-level storage metrics are enabled.
2999
+ # @return [Boolean]
3000
+ #
3001
+ # @!attribute [rw] selection_criteria
3002
+ # @return [Types::SelectionCriteria]
3003
+ #
3004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PrefixLevelStorageMetrics AWS API Documentation
3005
+ #
3006
+ class PrefixLevelStorageMetrics < Struct.new(
3007
+ :is_enabled,
3008
+ :selection_criteria)
3009
+ SENSITIVE = []
3010
+ include Aws::Structure
3011
+ end
3012
+
1486
3013
  # The `PublicAccessBlock` configuration that you want to apply to this
1487
- # Amazon S3 bucket. You can enable the configuration options in any
3014
+ # Amazon S3 account. You can enable the configuration options in any
1488
3015
  # combination. For more information about when Amazon S3 considers a
1489
3016
  # bucket or object public, see [The Meaning of "Public"][1] in the
1490
- # Amazon Simple Storage Service Developer Guide.
3017
+ # *Amazon Simple Storage Service Developer Guide*.
3018
+ #
3019
+ # This is not supported for Amazon S3 on Outposts.
1491
3020
  #
1492
3021
  #
1493
3022
  #
@@ -1516,6 +3045,8 @@ module Aws::S3Control
1516
3045
  # * PUT Bucket calls fail if the request includes a public ACL.
1517
3046
  #
1518
3047
  # Enabling this setting doesn't affect existing policies or ACLs.
3048
+ #
3049
+ # This is not supported for Amazon S3 on Outposts.
1519
3050
  # @return [Boolean]
1520
3051
  #
1521
3052
  # @!attribute [rw] ignore_public_acls
@@ -1526,6 +3057,8 @@ module Aws::S3Control
1526
3057
  #
1527
3058
  # Enabling this setting doesn't affect the persistence of any
1528
3059
  # existing ACLs and doesn't prevent new public ACLs from being set.
3060
+ #
3061
+ # This is not supported for Amazon S3 on Outposts.
1529
3062
  # @return [Boolean]
1530
3063
  #
1531
3064
  # @!attribute [rw] block_public_policy
@@ -1535,18 +3068,22 @@ module Aws::S3Control
1535
3068
  # bucket policy allows public access.
1536
3069
  #
1537
3070
  # Enabling this setting doesn't affect existing bucket policies.
3071
+ #
3072
+ # This is not supported for Amazon S3 on Outposts.
1538
3073
  # @return [Boolean]
1539
3074
  #
1540
3075
  # @!attribute [rw] restrict_public_buckets
1541
3076
  # Specifies whether Amazon S3 should restrict public bucket policies
1542
3077
  # for buckets in this account. Setting this element to `TRUE`
1543
- # restricts access to buckets with public policies to only AWS
1544
- # services and authorized users within this account.
3078
+ # restricts access to buckets with public policies to only AWS service
3079
+ # principals and authorized users within this account.
1545
3080
  #
1546
3081
  # Enabling this setting doesn't affect previously stored bucket
1547
3082
  # policies, except that public and cross-account access within any
1548
3083
  # public bucket policy, including non-public delegation to specific
1549
3084
  # accounts, is blocked.
3085
+ #
3086
+ # This is not supported for Amazon S3 on Outposts.
1550
3087
  # @return [Boolean]
1551
3088
  #
1552
3089
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
@@ -1577,12 +3114,25 @@ module Aws::S3Control
1577
3114
  # @!attribute [rw] name
1578
3115
  # The name of the access point that you want to associate with the
1579
3116
  # specified policy.
3117
+ #
3118
+ # For using this parameter with Amazon S3 on Outposts with the REST
3119
+ # API, you must specify the name and the x-amz-outpost-id as well.
3120
+ #
3121
+ # For using this parameter with S3 on Outposts with the AWS SDK and
3122
+ # CLI, you must specify the ARN of the access point accessed in the
3123
+ # format
3124
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>`.
3125
+ # For example, to access the access point `reports-ap` through outpost
3126
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
3127
+ # use the URL encoding of
3128
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap`.
3129
+ # The value must be URL encoded.
1580
3130
  # @return [String]
1581
3131
  #
1582
3132
  # @!attribute [rw] policy
1583
3133
  # The policy that you want to apply to the specified access point. For
1584
- # more information about access point policies, see [Managing Data
1585
- # Access with Amazon S3 Access Points][1] in the *Amazon Simple
3134
+ # more information about access point policies, see [Managing data
3135
+ # access with Amazon S3 Access Points][1] in the *Amazon Simple
1586
3136
  # Storage Service Developer Guide*.
1587
3137
  #
1588
3138
  #
@@ -1600,6 +3150,187 @@ module Aws::S3Control
1600
3150
  include Aws::Structure
1601
3151
  end
1602
3152
 
3153
+ # @note When making an API call, you may pass PutBucketLifecycleConfigurationRequest
3154
+ # data as a hash:
3155
+ #
3156
+ # {
3157
+ # account_id: "AccountId", # required
3158
+ # bucket: "BucketName", # required
3159
+ # lifecycle_configuration: {
3160
+ # rules: [
3161
+ # {
3162
+ # expiration: {
3163
+ # date: Time.now,
3164
+ # days: 1,
3165
+ # expired_object_delete_marker: false,
3166
+ # },
3167
+ # id: "ID",
3168
+ # filter: {
3169
+ # prefix: "Prefix",
3170
+ # tag: {
3171
+ # key: "TagKeyString", # required
3172
+ # value: "TagValueString", # required
3173
+ # },
3174
+ # and: {
3175
+ # prefix: "Prefix",
3176
+ # tags: [
3177
+ # {
3178
+ # key: "TagKeyString", # required
3179
+ # value: "TagValueString", # required
3180
+ # },
3181
+ # ],
3182
+ # },
3183
+ # },
3184
+ # status: "Enabled", # required, accepts Enabled, Disabled
3185
+ # transitions: [
3186
+ # {
3187
+ # date: Time.now,
3188
+ # days: 1,
3189
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
3190
+ # },
3191
+ # ],
3192
+ # noncurrent_version_transitions: [
3193
+ # {
3194
+ # noncurrent_days: 1,
3195
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
3196
+ # },
3197
+ # ],
3198
+ # noncurrent_version_expiration: {
3199
+ # noncurrent_days: 1,
3200
+ # },
3201
+ # abort_incomplete_multipart_upload: {
3202
+ # days_after_initiation: 1,
3203
+ # },
3204
+ # },
3205
+ # ],
3206
+ # },
3207
+ # }
3208
+ #
3209
+ # @!attribute [rw] account_id
3210
+ # The AWS account ID of the Outposts bucket.
3211
+ # @return [String]
3212
+ #
3213
+ # @!attribute [rw] bucket
3214
+ # The name of the bucket for which to set the configuration.
3215
+ # @return [String]
3216
+ #
3217
+ # @!attribute [rw] lifecycle_configuration
3218
+ # Container for lifecycle rules. You can add as many as 1,000 rules.
3219
+ # @return [Types::LifecycleConfiguration]
3220
+ #
3221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfigurationRequest AWS API Documentation
3222
+ #
3223
+ class PutBucketLifecycleConfigurationRequest < Struct.new(
3224
+ :account_id,
3225
+ :bucket,
3226
+ :lifecycle_configuration)
3227
+ SENSITIVE = []
3228
+ include Aws::Structure
3229
+ end
3230
+
3231
+ # @note When making an API call, you may pass PutBucketPolicyRequest
3232
+ # data as a hash:
3233
+ #
3234
+ # {
3235
+ # account_id: "AccountId", # required
3236
+ # bucket: "BucketName", # required
3237
+ # confirm_remove_self_bucket_access: false,
3238
+ # policy: "Policy", # required
3239
+ # }
3240
+ #
3241
+ # @!attribute [rw] account_id
3242
+ # The AWS account ID of the Outposts bucket.
3243
+ # @return [String]
3244
+ #
3245
+ # @!attribute [rw] bucket
3246
+ # Specifies the bucket.
3247
+ #
3248
+ # For using this parameter with Amazon S3 on Outposts with the REST
3249
+ # API, you must specify the name and the x-amz-outpost-id as well.
3250
+ #
3251
+ # For using this parameter with S3 on Outposts with the AWS SDK and
3252
+ # CLI, you must specify the ARN of the bucket accessed in the format
3253
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
3254
+ # For example, to access the bucket `reports` through outpost
3255
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
3256
+ # use the URL encoding of
3257
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
3258
+ # The value must be URL encoded.
3259
+ # @return [String]
3260
+ #
3261
+ # @!attribute [rw] confirm_remove_self_bucket_access
3262
+ # Set this parameter to true to confirm that you want to remove your
3263
+ # permissions to change this bucket policy in the future.
3264
+ #
3265
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
3266
+ #
3267
+ # </note>
3268
+ # @return [Boolean]
3269
+ #
3270
+ # @!attribute [rw] policy
3271
+ # The bucket policy as a JSON document.
3272
+ # @return [String]
3273
+ #
3274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicyRequest AWS API Documentation
3275
+ #
3276
+ class PutBucketPolicyRequest < Struct.new(
3277
+ :account_id,
3278
+ :bucket,
3279
+ :confirm_remove_self_bucket_access,
3280
+ :policy)
3281
+ SENSITIVE = []
3282
+ include Aws::Structure
3283
+ end
3284
+
3285
+ # @note When making an API call, you may pass PutBucketTaggingRequest
3286
+ # data as a hash:
3287
+ #
3288
+ # {
3289
+ # account_id: "AccountId", # required
3290
+ # bucket: "BucketName", # required
3291
+ # tagging: { # required
3292
+ # tag_set: [ # required
3293
+ # {
3294
+ # key: "TagKeyString", # required
3295
+ # value: "TagValueString", # required
3296
+ # },
3297
+ # ],
3298
+ # },
3299
+ # }
3300
+ #
3301
+ # @!attribute [rw] account_id
3302
+ # The AWS account ID of the Outposts bucket.
3303
+ # @return [String]
3304
+ #
3305
+ # @!attribute [rw] bucket
3306
+ # The Amazon Resource Name (ARN) of the bucket.
3307
+ #
3308
+ # For using this parameter with Amazon S3 on Outposts with the REST
3309
+ # API, you must specify the name and the x-amz-outpost-id as well.
3310
+ #
3311
+ # For using this parameter with S3 on Outposts with the AWS SDK and
3312
+ # CLI, you must specify the ARN of the bucket accessed in the format
3313
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>`.
3314
+ # For example, to access the bucket `reports` through outpost
3315
+ # `my-outpost` owned by account `123456789012` in Region `us-west-2`,
3316
+ # use the URL encoding of
3317
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports`.
3318
+ # The value must be URL encoded.
3319
+ # @return [String]
3320
+ #
3321
+ # @!attribute [rw] tagging
3322
+ # @return [Types::Tagging]
3323
+ #
3324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTaggingRequest AWS API Documentation
3325
+ #
3326
+ class PutBucketTaggingRequest < Struct.new(
3327
+ :account_id,
3328
+ :bucket,
3329
+ :tagging)
3330
+ SENSITIVE = []
3331
+ include Aws::Structure
3332
+ end
3333
+
1603
3334
  # @note When making an API call, you may pass PutJobTaggingRequest
1604
3335
  # data as a hash:
1605
3336
  #
@@ -1615,62 +3346,233 @@ module Aws::S3Control
1615
3346
  # }
1616
3347
  #
1617
3348
  # @!attribute [rw] account_id
1618
- # The AWS account ID associated with the Amazon S3 Batch Operations
1619
- # job.
3349
+ # The AWS account ID associated with the S3 Batch Operations job.
1620
3350
  # @return [String]
1621
3351
  #
1622
3352
  # @!attribute [rw] job_id
1623
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
3353
+ # The ID for the S3 Batch Operations job whose tags you want to
1624
3354
  # replace.
1625
3355
  # @return [String]
1626
3356
  #
1627
3357
  # @!attribute [rw] tags
1628
- # The set of tags to associate with the Amazon S3 Batch Operations
1629
- # job.
1630
- # @return [Array<Types::S3Tag>]
3358
+ # The set of tags to associate with the S3 Batch Operations job.
3359
+ # @return [Array<Types::S3Tag>]
3360
+ #
3361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingRequest AWS API Documentation
3362
+ #
3363
+ class PutJobTaggingRequest < Struct.new(
3364
+ :account_id,
3365
+ :job_id,
3366
+ :tags)
3367
+ SENSITIVE = []
3368
+ include Aws::Structure
3369
+ end
3370
+
3371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingResult AWS API Documentation
3372
+ #
3373
+ class PutJobTaggingResult < Aws::EmptyStructure; end
3374
+
3375
+ # @note When making an API call, you may pass PutPublicAccessBlockRequest
3376
+ # data as a hash:
3377
+ #
3378
+ # {
3379
+ # public_access_block_configuration: { # required
3380
+ # block_public_acls: false,
3381
+ # ignore_public_acls: false,
3382
+ # block_public_policy: false,
3383
+ # restrict_public_buckets: false,
3384
+ # },
3385
+ # account_id: "AccountId", # required
3386
+ # }
3387
+ #
3388
+ # @!attribute [rw] public_access_block_configuration
3389
+ # The `PublicAccessBlock` configuration that you want to apply to the
3390
+ # specified AWS account.
3391
+ # @return [Types::PublicAccessBlockConfiguration]
3392
+ #
3393
+ # @!attribute [rw] account_id
3394
+ # The account ID for the AWS account whose `PublicAccessBlock`
3395
+ # configuration you want to set.
3396
+ # @return [String]
3397
+ #
3398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
3399
+ #
3400
+ class PutPublicAccessBlockRequest < Struct.new(
3401
+ :public_access_block_configuration,
3402
+ :account_id)
3403
+ SENSITIVE = []
3404
+ include Aws::Structure
3405
+ end
3406
+
3407
+ # @note When making an API call, you may pass PutStorageLensConfigurationRequest
3408
+ # data as a hash:
3409
+ #
3410
+ # {
3411
+ # config_id: "ConfigId", # required
3412
+ # account_id: "AccountId", # required
3413
+ # storage_lens_configuration: { # required
3414
+ # id: "ConfigId", # required
3415
+ # account_level: { # required
3416
+ # activity_metrics: {
3417
+ # is_enabled: false,
3418
+ # },
3419
+ # bucket_level: { # required
3420
+ # activity_metrics: {
3421
+ # is_enabled: false,
3422
+ # },
3423
+ # prefix_level: {
3424
+ # storage_metrics: { # required
3425
+ # is_enabled: false,
3426
+ # selection_criteria: {
3427
+ # delimiter: "StorageLensPrefixLevelDelimiter",
3428
+ # max_depth: 1,
3429
+ # min_storage_bytes_percentage: 1.0,
3430
+ # },
3431
+ # },
3432
+ # },
3433
+ # },
3434
+ # },
3435
+ # include: {
3436
+ # buckets: ["S3BucketArnString"],
3437
+ # regions: ["S3AWSRegion"],
3438
+ # },
3439
+ # exclude: {
3440
+ # buckets: ["S3BucketArnString"],
3441
+ # regions: ["S3AWSRegion"],
3442
+ # },
3443
+ # data_export: {
3444
+ # s3_bucket_destination: { # required
3445
+ # format: "CSV", # required, accepts CSV, Parquet
3446
+ # output_schema_version: "V_1", # required, accepts V_1
3447
+ # account_id: "AccountId", # required
3448
+ # arn: "S3BucketArnString", # required
3449
+ # prefix: "Prefix",
3450
+ # encryption: {
3451
+ # sses3: {
3452
+ # },
3453
+ # ssekms: {
3454
+ # key_id: "SSEKMSKeyId", # required
3455
+ # },
3456
+ # },
3457
+ # },
3458
+ # },
3459
+ # is_enabled: false, # required
3460
+ # aws_org: {
3461
+ # arn: "AwsOrgArn", # required
3462
+ # },
3463
+ # storage_lens_arn: "StorageLensArn",
3464
+ # },
3465
+ # tags: [
3466
+ # {
3467
+ # key: "TagKeyString", # required
3468
+ # value: "TagValueString", # required
3469
+ # },
3470
+ # ],
3471
+ # }
3472
+ #
3473
+ # @!attribute [rw] config_id
3474
+ # The ID of the S3 Storage Lens configuration.
3475
+ # @return [String]
3476
+ #
3477
+ # @!attribute [rw] account_id
3478
+ # The account ID of the requester.
3479
+ # @return [String]
3480
+ #
3481
+ # @!attribute [rw] storage_lens_configuration
3482
+ # The S3 Storage Lens configuration.
3483
+ # @return [Types::StorageLensConfiguration]
3484
+ #
3485
+ # @!attribute [rw] tags
3486
+ # The tag set of the S3 Storage Lens configuration.
3487
+ #
3488
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
3489
+ #
3490
+ # </note>
3491
+ # @return [Array<Types::StorageLensTag>]
3492
+ #
3493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationRequest AWS API Documentation
3494
+ #
3495
+ class PutStorageLensConfigurationRequest < Struct.new(
3496
+ :config_id,
3497
+ :account_id,
3498
+ :storage_lens_configuration,
3499
+ :tags)
3500
+ SENSITIVE = []
3501
+ include Aws::Structure
3502
+ end
3503
+
3504
+ # @note When making an API call, you may pass PutStorageLensConfigurationTaggingRequest
3505
+ # data as a hash:
3506
+ #
3507
+ # {
3508
+ # config_id: "ConfigId", # required
3509
+ # account_id: "AccountId", # required
3510
+ # tags: [ # required
3511
+ # {
3512
+ # key: "TagKeyString", # required
3513
+ # value: "TagValueString", # required
3514
+ # },
3515
+ # ],
3516
+ # }
3517
+ #
3518
+ # @!attribute [rw] config_id
3519
+ # The ID of the S3 Storage Lens configuration.
3520
+ # @return [String]
3521
+ #
3522
+ # @!attribute [rw] account_id
3523
+ # The account ID of the requester.
3524
+ # @return [String]
3525
+ #
3526
+ # @!attribute [rw] tags
3527
+ # The tag set of the S3 Storage Lens configuration.
1631
3528
  #
1632
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingRequest AWS API Documentation
3529
+ # <note markdown="1"> You can set up to a maximum of 50 tags.
1633
3530
  #
1634
- class PutJobTaggingRequest < Struct.new(
3531
+ # </note>
3532
+ # @return [Array<Types::StorageLensTag>]
3533
+ #
3534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTaggingRequest AWS API Documentation
3535
+ #
3536
+ class PutStorageLensConfigurationTaggingRequest < Struct.new(
3537
+ :config_id,
1635
3538
  :account_id,
1636
- :job_id,
1637
3539
  :tags)
1638
3540
  SENSITIVE = []
1639
3541
  include Aws::Structure
1640
3542
  end
1641
3543
 
1642
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTaggingResult AWS API Documentation
3544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTaggingResult AWS API Documentation
1643
3545
  #
1644
- class PutJobTaggingResult < Aws::EmptyStructure; end
3546
+ class PutStorageLensConfigurationTaggingResult < Aws::EmptyStructure; end
1645
3547
 
1646
- # @note When making an API call, you may pass PutPublicAccessBlockRequest
1647
- # data as a hash:
3548
+ # The container for the regional bucket.
1648
3549
  #
1649
- # {
1650
- # public_access_block_configuration: { # required
1651
- # block_public_acls: false,
1652
- # ignore_public_acls: false,
1653
- # block_public_policy: false,
1654
- # restrict_public_buckets: false,
1655
- # },
1656
- # account_id: "AccountId", # required
1657
- # }
3550
+ # @!attribute [rw] bucket
3551
+ # @return [String]
1658
3552
  #
1659
- # @!attribute [rw] public_access_block_configuration
1660
- # The `PublicAccessBlock` configuration that you want to apply to the
1661
- # specified Amazon Web Services account.
1662
- # @return [Types::PublicAccessBlockConfiguration]
3553
+ # @!attribute [rw] bucket_arn
3554
+ # The Amazon Resource Name (ARN) for the regional bucket.
3555
+ # @return [String]
1663
3556
  #
1664
- # @!attribute [rw] account_id
1665
- # The account ID for the Amazon Web Services account whose
1666
- # `PublicAccessBlock` configuration you want to set.
3557
+ # @!attribute [rw] public_access_block_enabled
3558
+ # @return [Boolean]
3559
+ #
3560
+ # @!attribute [rw] creation_date
3561
+ # The creation date of the regional bucket
3562
+ # @return [Time]
3563
+ #
3564
+ # @!attribute [rw] outpost_id
3565
+ # The AWS Outposts ID of the regional bucket.
1667
3566
  # @return [String]
1668
3567
  #
1669
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
3568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/RegionalBucket AWS API Documentation
1670
3569
  #
1671
- class PutPublicAccessBlockRequest < Struct.new(
1672
- :public_access_block_configuration,
1673
- :account_id)
3570
+ class RegionalBucket < Struct.new(
3571
+ :bucket,
3572
+ :bucket_arn,
3573
+ :public_access_block_enabled,
3574
+ :creation_date,
3575
+ :outpost_id)
1674
3576
  SENSITIVE = []
1675
3577
  include Aws::Structure
1676
3578
  end
@@ -1748,10 +3650,73 @@ module Aws::S3Control
1748
3650
  include Aws::Structure
1749
3651
  end
1750
3652
 
3653
+ # A container for the bucket where the Amazon S3 Storage Lens metrics
3654
+ # export files are located.
3655
+ #
3656
+ # @note When making an API call, you may pass S3BucketDestination
3657
+ # data as a hash:
3658
+ #
3659
+ # {
3660
+ # format: "CSV", # required, accepts CSV, Parquet
3661
+ # output_schema_version: "V_1", # required, accepts V_1
3662
+ # account_id: "AccountId", # required
3663
+ # arn: "S3BucketArnString", # required
3664
+ # prefix: "Prefix",
3665
+ # encryption: {
3666
+ # sses3: {
3667
+ # },
3668
+ # ssekms: {
3669
+ # key_id: "SSEKMSKeyId", # required
3670
+ # },
3671
+ # },
3672
+ # }
3673
+ #
3674
+ # @!attribute [rw] format
3675
+ # @return [String]
3676
+ #
3677
+ # @!attribute [rw] output_schema_version
3678
+ # The schema version of the export file.
3679
+ # @return [String]
3680
+ #
3681
+ # @!attribute [rw] account_id
3682
+ # The account ID of the owner of the S3 Storage Lens metrics export
3683
+ # bucket.
3684
+ # @return [String]
3685
+ #
3686
+ # @!attribute [rw] arn
3687
+ # The Amazon Resource Name (ARN) of the bucket. This property is
3688
+ # read-only and follows the following format: `
3689
+ # arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name
3690
+ # `
3691
+ # @return [String]
3692
+ #
3693
+ # @!attribute [rw] prefix
3694
+ # The prefix of the destination bucket where the metrics export will
3695
+ # be delivered.
3696
+ # @return [String]
3697
+ #
3698
+ # @!attribute [rw] encryption
3699
+ # The container for the type encryption of the metrics exports in this
3700
+ # bucket.
3701
+ # @return [Types::StorageLensDataExportEncryption]
3702
+ #
3703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3BucketDestination AWS API Documentation
3704
+ #
3705
+ class S3BucketDestination < Struct.new(
3706
+ :format,
3707
+ :output_schema_version,
3708
+ :account_id,
3709
+ :arn,
3710
+ :prefix,
3711
+ :encryption)
3712
+ SENSITIVE = []
3713
+ include Aws::Structure
3714
+ end
3715
+
1751
3716
  # 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].
3717
+ # S3 Batch Operations passes every object to the underlying PUT Copy
3718
+ # object API. For more information about the parameters for this
3719
+ # operation, see [PUT Object - Copy][1].
1755
3720
  #
1756
3721
  #
1757
3722
  #
@@ -1808,6 +3773,10 @@ module Aws::S3Control
1808
3773
  # }
1809
3774
  #
1810
3775
  # @!attribute [rw] target_resource
3776
+ # Specifies the destination bucket ARN for the batch copy operation.
3777
+ # For example, to copy objects to a bucket named
3778
+ # "destinationBucket", set the TargetResource to
3779
+ # "arn:aws:s3:::destinationBucket".
1811
3780
  # @return [String]
1812
3781
  #
1813
3782
  # @!attribute [rw] canned_access_control_list
@@ -1829,6 +3798,9 @@ module Aws::S3Control
1829
3798
  # @return [Array<Types::S3Tag>]
1830
3799
  #
1831
3800
  # @!attribute [rw] redirect_location
3801
+ # Specifies an optional metadata property for website redirects,
3802
+ # `x-amz-website-redirect-location`. Allows webpage redirects if the
3803
+ # object is accessed through a website endpoint.
1832
3804
  # @return [String]
1833
3805
  #
1834
3806
  # @!attribute [rw] requester_pays
@@ -1844,21 +3816,25 @@ module Aws::S3Control
1844
3816
  # @return [String]
1845
3817
  #
1846
3818
  # @!attribute [rw] target_key_prefix
3819
+ # Specifies the folder prefix into which you would like the objects to
3820
+ # be copied. For example, to copy objects into a folder named
3821
+ # "Folder1" in the destination bucket, set the TargetKeyPrefix to
3822
+ # "Folder1/".
1847
3823
  # @return [String]
1848
3824
  #
1849
3825
  # @!attribute [rw] object_lock_legal_hold_status
1850
- # The Legal Hold status to be applied to all objects in the Batch
3826
+ # The legal hold status to be applied to all objects in the Batch
1851
3827
  # Operations job.
1852
3828
  # @return [String]
1853
3829
  #
1854
3830
  # @!attribute [rw] object_lock_mode
1855
- # The Retention mode to be applied to all objects in the Batch
3831
+ # The retention mode to be applied to all objects in the Batch
1856
3832
  # Operations job.
1857
3833
  # @return [String]
1858
3834
  #
1859
3835
  # @!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.
3836
+ # The date when the applied object retention configuration expires on
3837
+ # all objects in the Batch Operations job.
1862
3838
  # @return [Time]
1863
3839
  #
1864
3840
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
@@ -1939,10 +3915,10 @@ module Aws::S3Control
1939
3915
  include Aws::Structure
1940
3916
  end
1941
3917
 
1942
- # 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].
3918
+ # Contains the configuration parameters for an S3 Initiate Restore
3919
+ # Object job. S3 Batch Operations passes every object to the underlying
3920
+ # POST Object restore API. For more information about the parameters for
3921
+ # this operation, see [RestoreObject][1].
1946
3922
  #
1947
3923
  #
1948
3924
  #
@@ -1957,9 +3933,29 @@ module Aws::S3Control
1957
3933
  # }
1958
3934
  #
1959
3935
  # @!attribute [rw] expiration_in_days
3936
+ # This argument specifies how long the S3 Glacier or S3 Glacier Deep
3937
+ # Archive object remains available in Amazon S3. S3 Initiate Restore
3938
+ # Object jobs that target S3 Glacier and S3 Glacier Deep Archive
3939
+ # objects require `ExpirationInDays` set to 1 or greater.
3940
+ #
3941
+ # Conversely, do *not* set `ExpirationInDays` when creating S3
3942
+ # Initiate Restore Object jobs that target S3 Intelligent-Tiering
3943
+ # Archive Access and Deep Archive Access tier objects. Objects in S3
3944
+ # Intelligent-Tiering archive access tiers are not subject to restore
3945
+ # expiry, so specifying `ExpirationInDays` results in restore request
3946
+ # failure.
3947
+ #
3948
+ # S3 Batch Operations jobs can operate either on S3 Glacier and S3
3949
+ # Glacier Deep Archive storage class objects or on S3
3950
+ # Intelligent-Tiering Archive Access and Deep Archive Access storage
3951
+ # tier objects, but not both types in the same job. If you need to
3952
+ # restore objects of both types you *must* create separate Batch
3953
+ # Operations jobs.
1960
3954
  # @return [Integer]
1961
3955
  #
1962
3956
  # @!attribute [rw] glacier_job_tier
3957
+ # S3 Batch Operations supports `STANDARD` and `BULK` retrieval tiers,
3958
+ # but not the `EXPEDITED` retrieval tier.
1963
3959
  # @return [String]
1964
3960
  #
1965
3961
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3InitiateRestoreObjectOperation AWS API Documentation
@@ -1971,6 +3967,9 @@ module Aws::S3Control
1971
3967
  include Aws::Structure
1972
3968
  end
1973
3969
 
3970
+ # Whether S3 Object Lock legal hold will be applied to objects in an S3
3971
+ # Batch Operations job.
3972
+ #
1974
3973
  # @note When making an API call, you may pass S3ObjectLockLegalHold
1975
3974
  # data as a hash:
1976
3975
  #
@@ -1979,8 +3978,8 @@ module Aws::S3Control
1979
3978
  # }
1980
3979
  #
1981
3980
  # @!attribute [rw] status
1982
- # The Legal Hold status to be applied to all objects in the Batch
1983
- # Operations job.
3981
+ # The Object Lock legal hold status to be applied to all objects in
3982
+ # the Batch Operations job.
1984
3983
  # @return [String]
1985
3984
  #
1986
3985
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectLockLegalHold AWS API Documentation
@@ -2084,6 +4083,17 @@ module Aws::S3Control
2084
4083
  include Aws::Structure
2085
4084
  end
2086
4085
 
4086
+ # Contains the S3 Object Lock retention mode to be applied to all
4087
+ # objects in the S3 Batch Operations job. If you don't provide `Mode`
4088
+ # and `RetainUntilDate` data types in your operation, you will remove
4089
+ # the retention from your objects. For more information, see [Using S3
4090
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4091
+ # Simple Storage Service Developer Guide*.
4092
+ #
4093
+ #
4094
+ #
4095
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
4096
+ #
2087
4097
  # @note When making an API call, you may pass S3Retention
2088
4098
  # data as a hash:
2089
4099
  #
@@ -2093,13 +4103,13 @@ module Aws::S3Control
2093
4103
  # }
2094
4104
  #
2095
4105
  # @!attribute [rw] retain_until_date
2096
- # The date when the applied Object Retention will expire on all
2097
- # objects in the Batch Operations job.
4106
+ # The date when the applied Object Lock retention will expire on all
4107
+ # objects set by the Batch Operations job.
2098
4108
  # @return [Time]
2099
4109
  #
2100
4110
  # @!attribute [rw] mode
2101
- # The Retention mode to be applied to all objects in the Batch
2102
- # Operations job.
4111
+ # The Object Lock retention mode to be applied to all objects in the
4112
+ # Batch Operations job.
2103
4113
  # @return [String]
2104
4114
  #
2105
4115
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Retention AWS API Documentation
@@ -2112,9 +4122,9 @@ module Aws::S3Control
2112
4122
  end
2113
4123
 
2114
4124
  # 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
2117
- # operation, see [PUT Object acl][1].
4125
+ # S3 Batch Operations passes every object to the underlying PUT Object
4126
+ # acl API. For more information about the parameters for this operation,
4127
+ # see [PUT Object acl][1].
2118
4128
  #
2119
4129
  #
2120
4130
  #
@@ -2156,14 +4166,15 @@ module Aws::S3Control
2156
4166
  include Aws::Structure
2157
4167
  end
2158
4168
 
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].
4169
+ # Contains the configuration for an S3 Object Lock legal hold operation
4170
+ # that an S3 Batch Operations job passes every object to the underlying
4171
+ # `PutObjectLegalHold` API. For more information, see [Using S3 Object
4172
+ # Lock legal hold with S3 Batch Operations][1] in the *Amazon Simple
4173
+ # Storage Service Developer Guide*.
2163
4174
  #
2164
4175
  #
2165
4176
  #
2166
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
4177
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
2167
4178
  #
2168
4179
  # @note When making an API call, you may pass S3SetObjectLegalHoldOperation
2169
4180
  # data as a hash:
@@ -2175,8 +4186,8 @@ module Aws::S3Control
2175
4186
  # }
2176
4187
  #
2177
4188
  # @!attribute [rw] legal_hold
2178
- # The Legal Hold contains the status to be applied to all objects in
2179
- # the Batch Operations job.
4189
+ # Contains the Object Lock legal hold status to be applied to all
4190
+ # objects in the Batch Operations job.
2180
4191
  # @return [Types::S3ObjectLockLegalHold]
2181
4192
  #
2182
4193
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectLegalHoldOperation AWS API Documentation
@@ -2187,14 +4198,15 @@ module Aws::S3Control
2187
4198
  include Aws::Structure
2188
4199
  end
2189
4200
 
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].
4201
+ # Contains the configuration parameters for the Object Lock retention
4202
+ # action for an S3 Batch Operations job. Batch Operations passes every
4203
+ # object to the underlying `PutObjectRetention` API. For more
4204
+ # information, see [Using S3 Object Lock retention with S3 Batch
4205
+ # Operations][1] in the *Amazon Simple Storage Service Developer Guide*.
2194
4206
  #
2195
4207
  #
2196
4208
  #
2197
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
4209
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2198
4210
  #
2199
4211
  # @note When making an API call, you may pass S3SetObjectRetentionOperation
2200
4212
  # data as a hash:
@@ -2208,14 +4220,20 @@ module Aws::S3Control
2208
4220
  # }
2209
4221
  #
2210
4222
  # @!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
4223
+ # Indicates if the action should be applied to objects in the Batch
4224
+ # Operations job even if they have Object Lock ` GOVERNANCE` type in
2213
4225
  # place.
2214
4226
  # @return [Boolean]
2215
4227
  #
2216
4228
  # @!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.
4229
+ # Contains the Object Lock retention mode to be applied to all objects
4230
+ # in the Batch Operations job. For more information, see [Using S3
4231
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4232
+ # Simple Storage Service Developer Guide*.
4233
+ #
4234
+ #
4235
+ #
4236
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2219
4237
  # @return [Types::S3Retention]
2220
4238
  #
2221
4239
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectRetentionOperation AWS API Documentation
@@ -2228,9 +4246,9 @@ module Aws::S3Control
2228
4246
  end
2229
4247
 
2230
4248
  # Contains the configuration parameters for a Set Object Tagging
2231
- # operation. Amazon S3 Batch Operations passes each value through to the
2232
- # underlying PUT Object tagging API. For more information about the
2233
- # parameters for this operation, see [PUT Object tagging][1].
4249
+ # operation. S3 Batch Operations passes every object to the underlying
4250
+ # PUT Object tagging API. For more information about the parameters for
4251
+ # this operation, see [PUT Object tagging][1].
2234
4252
  #
2235
4253
  #
2236
4254
  #
@@ -2282,6 +4300,322 @@ module Aws::S3Control
2282
4300
  include Aws::Structure
2283
4301
  end
2284
4302
 
4303
+ # @note When making an API call, you may pass SSEKMS
4304
+ # data as a hash:
4305
+ #
4306
+ # {
4307
+ # key_id: "SSEKMSKeyId", # required
4308
+ # }
4309
+ #
4310
+ # @!attribute [rw] key_id
4311
+ # A container for the ARN of the SSE-KMS encryption. This property is
4312
+ # read-only and follows the following format: `
4313
+ # arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e
4314
+ # `
4315
+ # @return [String]
4316
+ #
4317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSEKMS AWS API Documentation
4318
+ #
4319
+ class SSEKMS < Struct.new(
4320
+ :key_id)
4321
+ SENSITIVE = []
4322
+ include Aws::Structure
4323
+ end
4324
+
4325
+ # @api private
4326
+ #
4327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3 AWS API Documentation
4328
+ #
4329
+ class SSES3 < Aws::EmptyStructure; end
4330
+
4331
+ # @note When making an API call, you may pass SelectionCriteria
4332
+ # data as a hash:
4333
+ #
4334
+ # {
4335
+ # delimiter: "StorageLensPrefixLevelDelimiter",
4336
+ # max_depth: 1,
4337
+ # min_storage_bytes_percentage: 1.0,
4338
+ # }
4339
+ #
4340
+ # @!attribute [rw] delimiter
4341
+ # A container for the delimiter of the selection criteria being used.
4342
+ # @return [String]
4343
+ #
4344
+ # @!attribute [rw] max_depth
4345
+ # The max depth of the selection criteria
4346
+ # @return [Integer]
4347
+ #
4348
+ # @!attribute [rw] min_storage_bytes_percentage
4349
+ # The minimum number of storage bytes percentage whose metrics will be
4350
+ # selected.
4351
+ #
4352
+ # <note markdown="1"> You must choose a value greater than or equal to `1.0`.
4353
+ #
4354
+ # </note>
4355
+ # @return [Float]
4356
+ #
4357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SelectionCriteria AWS API Documentation
4358
+ #
4359
+ class SelectionCriteria < Struct.new(
4360
+ :delimiter,
4361
+ :max_depth,
4362
+ :min_storage_bytes_percentage)
4363
+ SENSITIVE = []
4364
+ include Aws::Structure
4365
+ end
4366
+
4367
+ # The AWS organization for your S3 Storage Lens.
4368
+ #
4369
+ # @note When making an API call, you may pass StorageLensAwsOrg
4370
+ # data as a hash:
4371
+ #
4372
+ # {
4373
+ # arn: "AwsOrgArn", # required
4374
+ # }
4375
+ #
4376
+ # @!attribute [rw] arn
4377
+ # A container for the Amazon Resource Name (ARN) of the AWS
4378
+ # organization. This property is read-only and follows the following
4379
+ # format: `
4380
+ # arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck
4381
+ # `
4382
+ # @return [String]
4383
+ #
4384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensAwsOrg AWS API Documentation
4385
+ #
4386
+ class StorageLensAwsOrg < Struct.new(
4387
+ :arn)
4388
+ SENSITIVE = []
4389
+ include Aws::Structure
4390
+ end
4391
+
4392
+ # A container for the Amazon S3 Storage Lens configuration.
4393
+ #
4394
+ # @note When making an API call, you may pass StorageLensConfiguration
4395
+ # data as a hash:
4396
+ #
4397
+ # {
4398
+ # id: "ConfigId", # required
4399
+ # account_level: { # required
4400
+ # activity_metrics: {
4401
+ # is_enabled: false,
4402
+ # },
4403
+ # bucket_level: { # required
4404
+ # activity_metrics: {
4405
+ # is_enabled: false,
4406
+ # },
4407
+ # prefix_level: {
4408
+ # storage_metrics: { # required
4409
+ # is_enabled: false,
4410
+ # selection_criteria: {
4411
+ # delimiter: "StorageLensPrefixLevelDelimiter",
4412
+ # max_depth: 1,
4413
+ # min_storage_bytes_percentage: 1.0,
4414
+ # },
4415
+ # },
4416
+ # },
4417
+ # },
4418
+ # },
4419
+ # include: {
4420
+ # buckets: ["S3BucketArnString"],
4421
+ # regions: ["S3AWSRegion"],
4422
+ # },
4423
+ # exclude: {
4424
+ # buckets: ["S3BucketArnString"],
4425
+ # regions: ["S3AWSRegion"],
4426
+ # },
4427
+ # data_export: {
4428
+ # s3_bucket_destination: { # required
4429
+ # format: "CSV", # required, accepts CSV, Parquet
4430
+ # output_schema_version: "V_1", # required, accepts V_1
4431
+ # account_id: "AccountId", # required
4432
+ # arn: "S3BucketArnString", # required
4433
+ # prefix: "Prefix",
4434
+ # encryption: {
4435
+ # sses3: {
4436
+ # },
4437
+ # ssekms: {
4438
+ # key_id: "SSEKMSKeyId", # required
4439
+ # },
4440
+ # },
4441
+ # },
4442
+ # },
4443
+ # is_enabled: false, # required
4444
+ # aws_org: {
4445
+ # arn: "AwsOrgArn", # required
4446
+ # },
4447
+ # storage_lens_arn: "StorageLensArn",
4448
+ # }
4449
+ #
4450
+ # @!attribute [rw] id
4451
+ # A container for the Amazon S3 Storage Lens configuration ID.
4452
+ # @return [String]
4453
+ #
4454
+ # @!attribute [rw] account_level
4455
+ # A container for all the account-level configurations of your S3
4456
+ # Storage Lens configuration.
4457
+ # @return [Types::AccountLevel]
4458
+ #
4459
+ # @!attribute [rw] include
4460
+ # A container for what is included in this configuration. This
4461
+ # container can only be valid if there is no `Exclude` container
4462
+ # submitted, and it's not empty.
4463
+ # @return [Types::Include]
4464
+ #
4465
+ # @!attribute [rw] exclude
4466
+ # A container for what is excluded in this configuration. This
4467
+ # container can only be valid if there is no `Include` container
4468
+ # submitted, and it's not empty.
4469
+ # @return [Types::Exclude]
4470
+ #
4471
+ # @!attribute [rw] data_export
4472
+ # A container to specify the properties of your S3 Storage Lens
4473
+ # metrics export including, the destination, schema and format.
4474
+ # @return [Types::StorageLensDataExport]
4475
+ #
4476
+ # @!attribute [rw] is_enabled
4477
+ # A container for whether the S3 Storage Lens configuration is
4478
+ # enabled.
4479
+ # @return [Boolean]
4480
+ #
4481
+ # @!attribute [rw] aws_org
4482
+ # A container for the AWS organization for this S3 Storage Lens
4483
+ # configuration.
4484
+ # @return [Types::StorageLensAwsOrg]
4485
+ #
4486
+ # @!attribute [rw] storage_lens_arn
4487
+ # The Amazon Resource Name (ARN) of the S3 Storage Lens configuration.
4488
+ # This property is read-only and follows the following format: `
4489
+ # arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name
4490
+ # `
4491
+ # @return [String]
4492
+ #
4493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensConfiguration AWS API Documentation
4494
+ #
4495
+ class StorageLensConfiguration < Struct.new(
4496
+ :id,
4497
+ :account_level,
4498
+ :include,
4499
+ :exclude,
4500
+ :data_export,
4501
+ :is_enabled,
4502
+ :aws_org,
4503
+ :storage_lens_arn)
4504
+ SENSITIVE = []
4505
+ include Aws::Structure
4506
+ end
4507
+
4508
+ # A container to specify the properties of your S3 Storage Lens metrics
4509
+ # export, including the destination, schema, and format.
4510
+ #
4511
+ # @note When making an API call, you may pass StorageLensDataExport
4512
+ # data as a hash:
4513
+ #
4514
+ # {
4515
+ # s3_bucket_destination: { # required
4516
+ # format: "CSV", # required, accepts CSV, Parquet
4517
+ # output_schema_version: "V_1", # required, accepts V_1
4518
+ # account_id: "AccountId", # required
4519
+ # arn: "S3BucketArnString", # required
4520
+ # prefix: "Prefix",
4521
+ # encryption: {
4522
+ # sses3: {
4523
+ # },
4524
+ # ssekms: {
4525
+ # key_id: "SSEKMSKeyId", # required
4526
+ # },
4527
+ # },
4528
+ # },
4529
+ # }
4530
+ #
4531
+ # @!attribute [rw] s3_bucket_destination
4532
+ # A container for the bucket where the S3 Storage Lens metrics export
4533
+ # will be located.
4534
+ # @return [Types::S3BucketDestination]
4535
+ #
4536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExport AWS API Documentation
4537
+ #
4538
+ class StorageLensDataExport < Struct.new(
4539
+ :s3_bucket_destination)
4540
+ SENSITIVE = []
4541
+ include Aws::Structure
4542
+ end
4543
+
4544
+ # A container for the encryption of the S3 Storage Lens metrics exports.
4545
+ #
4546
+ # @note When making an API call, you may pass StorageLensDataExportEncryption
4547
+ # data as a hash:
4548
+ #
4549
+ # {
4550
+ # sses3: {
4551
+ # },
4552
+ # ssekms: {
4553
+ # key_id: "SSEKMSKeyId", # required
4554
+ # },
4555
+ # }
4556
+ #
4557
+ # @!attribute [rw] sses3
4558
+ # @return [Types::SSES3]
4559
+ #
4560
+ # @!attribute [rw] ssekms
4561
+ # @return [Types::SSEKMS]
4562
+ #
4563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExportEncryption AWS API Documentation
4564
+ #
4565
+ class StorageLensDataExportEncryption < Struct.new(
4566
+ :sses3,
4567
+ :ssekms)
4568
+ SENSITIVE = []
4569
+ include Aws::Structure
4570
+ end
4571
+
4572
+ # @note When making an API call, you may pass StorageLensTag
4573
+ # data as a hash:
4574
+ #
4575
+ # {
4576
+ # key: "TagKeyString", # required
4577
+ # value: "TagValueString", # required
4578
+ # }
4579
+ #
4580
+ # @!attribute [rw] key
4581
+ # @return [String]
4582
+ #
4583
+ # @!attribute [rw] value
4584
+ # @return [String]
4585
+ #
4586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensTag AWS API Documentation
4587
+ #
4588
+ class StorageLensTag < Struct.new(
4589
+ :key,
4590
+ :value)
4591
+ SENSITIVE = []
4592
+ include Aws::Structure
4593
+ end
4594
+
4595
+ # @note When making an API call, you may pass Tagging
4596
+ # data as a hash:
4597
+ #
4598
+ # {
4599
+ # tag_set: [ # required
4600
+ # {
4601
+ # key: "TagKeyString", # required
4602
+ # value: "TagValueString", # required
4603
+ # },
4604
+ # ],
4605
+ # }
4606
+ #
4607
+ # @!attribute [rw] tag_set
4608
+ # A collection for a set of tags.
4609
+ # @return [Array<Types::S3Tag>]
4610
+ #
4611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tagging AWS API Documentation
4612
+ #
4613
+ class Tagging < Struct.new(
4614
+ :tag_set)
4615
+ SENSITIVE = []
4616
+ include Aws::Structure
4617
+ end
4618
+
2285
4619
  # @!attribute [rw] message
2286
4620
  # @return [String]
2287
4621
  #
@@ -2293,6 +4627,9 @@ module Aws::S3Control
2293
4627
  include Aws::Structure
2294
4628
  end
2295
4629
 
4630
+ # Amazon S3 throws this exception if you have too many tags in your tag
4631
+ # set.
4632
+ #
2296
4633
  # @!attribute [rw] message
2297
4634
  # @return [String]
2298
4635
  #
@@ -2304,6 +4641,50 @@ module Aws::S3Control
2304
4641
  include Aws::Structure
2305
4642
  end
2306
4643
 
4644
+ # Specifies when an object transitions to a specified storage class. For
4645
+ # more information about Amazon S3 Lifecycle configuration rules, see [
4646
+ # Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon
4647
+ # Simple Storage Service Developer Guide*.
4648
+ #
4649
+ #
4650
+ #
4651
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
4652
+ #
4653
+ # @note When making an API call, you may pass Transition
4654
+ # data as a hash:
4655
+ #
4656
+ # {
4657
+ # date: Time.now,
4658
+ # days: 1,
4659
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4660
+ # }
4661
+ #
4662
+ # @!attribute [rw] date
4663
+ # Indicates when objects are transitioned to the specified storage
4664
+ # class. The date value must be in ISO 8601 format. The time is always
4665
+ # midnight UTC.
4666
+ # @return [Time]
4667
+ #
4668
+ # @!attribute [rw] days
4669
+ # Indicates the number of days after creation when objects are
4670
+ # transitioned to the specified storage class. The value must be a
4671
+ # positive integer.
4672
+ # @return [Integer]
4673
+ #
4674
+ # @!attribute [rw] storage_class
4675
+ # The storage class to which you want the object to transition.
4676
+ # @return [String]
4677
+ #
4678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Transition AWS API Documentation
4679
+ #
4680
+ class Transition < Struct.new(
4681
+ :date,
4682
+ :days,
4683
+ :storage_class)
4684
+ SENSITIVE = []
4685
+ include Aws::Structure
4686
+ end
4687
+
2307
4688
  # @note When making an API call, you may pass UpdateJobPriorityRequest
2308
4689
  # data as a hash:
2309
4690
  #