aws-sdk-s3control 1.20.1 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -26,6 +28,8 @@ module Aws::S3Control
26
28
  #
27
29
  # ## Error Classes
28
30
  # * {BadRequestException}
31
+ # * {BucketAlreadyExists}
32
+ # * {BucketAlreadyOwnedByYou}
29
33
  # * {IdempotencyException}
30
34
  # * {InternalServiceException}
31
35
  # * {InvalidNextTokenException}
@@ -57,6 +61,26 @@ module Aws::S3Control
57
61
  end
58
62
  end
59
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
+
60
84
  class IdempotencyException < ServiceError
61
85
 
62
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3Control
3
5
  module Plugins
@@ -20,7 +22,9 @@ for all operations.
20
22
  # @api private
21
23
  class OptionHandler < Seahorse::Client::Handler
22
24
  def call(context)
23
- dualstack = context.params.delete(:use_dualstack_endpoint)
25
+ if context.params.is_a?(Hash)
26
+ dualstack = context.params.delete(:use_dualstack_endpoint)
27
+ end
24
28
  dualstack = context.config.use_dualstack_endpoint if dualstack.nil?
25
29
  context[:use_dualstack_endpoint] = dualstack
26
30
  @handler.call(context)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-sigv4'
2
4
 
3
5
  module Aws
@@ -5,10 +7,15 @@ module Aws
5
7
  module Plugins
6
8
  # This plugin is an implementation detail and may be modified.
7
9
  # @api private
8
- class S3Signer < Seahorse::Client::Plugin
10
+ class S3ControlSigner < Seahorse::Client::Plugin
11
+ SPECIAL_OUTPOST_OPERATIONS = [
12
+ 'CreateBucket',
13
+ 'ListRegionalBuckets'
14
+ ].freeze
9
15
 
10
16
  option(:sigv4_signer) do |cfg|
11
- S3Signer.build_v4_signer(
17
+ S3ControlSigner.build_v4_signer(
18
+ service: 's3',
12
19
  region: cfg.sigv4_region,
13
20
  credentials: cfg.credentials
14
21
  )
@@ -20,12 +27,11 @@ module Aws
20
27
  Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3')
21
28
  end
22
29
 
23
- def add_handlers(handlers, cfg)
30
+ def add_handlers(handlers, _cfg)
24
31
  handlers.add(V4Handler, step: :sign)
25
32
  end
26
33
 
27
34
  class V4Handler < Seahorse::Client::Handler
28
-
29
35
  def call(context)
30
36
  Aws::Plugins::SignatureV4.apply_signature(
31
37
  context: context,
@@ -37,47 +43,48 @@ module Aws
37
43
  private
38
44
 
39
45
  def sigv4_signer(context)
40
- # If the client was configured with the wrong region,
41
- # we have to build a new signer.
42
- if
43
- context[:cached_sigv4_region] &&
44
- context[:cached_sigv4_region] != context.config.sigv4_signer.region
45
- then
46
- S3Signer.build_v4_signer(
47
- 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,
48
59
  credentials: context.config.credentials
49
60
  )
50
61
  else
51
62
  context.config.sigv4_signer
52
63
  end
53
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
54
73
  end
55
74
 
56
75
  class << self
57
-
58
76
  # @option options [required, String] :region
59
77
  # @option options [required, #credentials] :credentials
60
78
  # @api private
61
79
  def build_v4_signer(options = {})
62
- Aws::Sigv4::Signer.new({
63
- service: 's3',
80
+ Aws::Sigv4::Signer.new(
81
+ service: options[:service],
64
82
  region: options[:region],
65
83
  credentials_provider: options[:credentials],
66
84
  uri_escape_path: false,
67
- unsigned_headers: ['content-length', 'x-amzn-trace-id'],
68
- })
69
- end
70
-
71
- def new_hostname(context, region)
72
- bucket = context.params[:bucket]
73
- if region == 'us-east-1'
74
- "#{bucket}.s3.amazonaws.com"
75
- else
76
- endpoint = Aws::Partitions::EndpointProvider.resolve(region, 's3')
77
- bucket + '.' + URI.parse(endpoint).host
78
- end
85
+ unsigned_headers: ['content-length', 'x-amzn-trace-id']
86
+ )
79
87
  end
80
-
81
88
  end
82
89
  end
83
90
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3Control
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -8,6 +10,28 @@
8
10
  module Aws::S3Control
9
11
  module Types
10
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
+
11
35
  # An access point used to access a bucket.
12
36
  #
13
37
  # @!attribute [rw] name
@@ -32,13 +56,84 @@ module Aws::S3Control
32
56
  # The name of the bucket associated with this access point.
33
57
  # @return [String]
34
58
  #
59
+ # @!attribute [rw] access_point_arn
60
+ # The ARN for the access point.
61
+ # @return [String]
62
+ #
35
63
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AccessPoint AWS API Documentation
36
64
  #
37
65
  class AccessPoint < Struct.new(
38
66
  :name,
39
67
  :network_origin,
40
68
  :vpc_configuration,
41
- :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)
136
+ SENSITIVE = []
42
137
  include Aws::Structure
43
138
  end
44
139
 
@@ -49,6 +144,62 @@ module Aws::S3Control
49
144
  #
50
145
  class BadRequestException < Struct.new(
51
146
  :message)
147
+ SENSITIVE = []
148
+ include Aws::Structure
149
+ end
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 = []
52
203
  include Aws::Structure
53
204
  end
54
205
 
@@ -82,19 +233,38 @@ module Aws::S3Control
82
233
  # @!attribute [rw] bucket
83
234
  # The name of the bucket that you want to associate this access point
84
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.
85
248
  # @return [String]
86
249
  #
87
250
  # @!attribute [rw] vpc_configuration
88
251
  # If you include this field, Amazon S3 restricts access to this access
89
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>
90
258
  # @return [Types::VpcConfiguration]
91
259
  #
92
260
  # @!attribute [rw] public_access_block_configuration
93
261
  # The `PublicAccessBlock` configuration that you want to apply to this
94
- # Amazon S3 bucket. You can enable the configuration options in any
262
+ # Amazon S3 account. You can enable the configuration options in any
95
263
  # combination. For more information about when Amazon S3 considers a
96
264
  # bucket or object public, see [The Meaning of "Public"][1] in the
97
- # Amazon Simple Storage Service Developer Guide.
265
+ # *Amazon Simple Storage Service Developer Guide*.
266
+ #
267
+ # This is not supported for Amazon S3 on Outposts.
98
268
  #
99
269
  #
100
270
  #
@@ -109,6 +279,197 @@ module Aws::S3Control
109
279
  :bucket,
110
280
  :vpc_configuration,
111
281
  :public_access_block_configuration)
282
+ SENSITIVE = []
283
+ include Aws::Structure
284
+ end
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 = []
112
473
  include Aws::Structure
113
474
  end
114
475
 
@@ -245,6 +606,7 @@ module Aws::S3Control
245
606
  # }
246
607
  #
247
608
  # @!attribute [rw] account_id
609
+ # The AWS account ID that creates the job.
248
610
  # @return [String]
249
611
  #
250
612
  # @!attribute [rw] confirmation_required
@@ -256,8 +618,8 @@ module Aws::S3Control
256
618
  # @!attribute [rw] operation
257
619
  # The operation that you want this job to perform on each object
258
620
  # listed in the manifest. For more information about the available
259
- # operations, see [Available Operations][1] in the *Amazon Simple
260
- # Storage Service Developer Guide*.
621
+ # operations, see [Operations][1] in the *Amazon Simple Storage
622
+ # Service Developer Guide*.
261
623
  #
262
624
  #
263
625
  #
@@ -294,13 +656,13 @@ module Aws::S3Control
294
656
  #
295
657
  # @!attribute [rw] role_arn
296
658
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
297
- # Management (IAM) role that Batch Operations will use to execute this
659
+ # Management (IAM) role that Batch Operations will use to run this
298
660
  # job's operation on each object in the manifest.
299
661
  # @return [String]
300
662
  #
301
663
  # @!attribute [rw] tags
302
- # A set of tags to associate with the Amazon S3 Batch Operations job.
303
- # This is an optional parameter.
664
+ # A set of tags to associate with the S3 Batch Operations job. This is
665
+ # an optional parameter.
304
666
  # @return [Array<Types::S3Tag>]
305
667
  #
306
668
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
@@ -316,6 +678,7 @@ module Aws::S3Control
316
678
  :priority,
317
679
  :role_arn,
318
680
  :tags)
681
+ SENSITIVE = []
319
682
  include Aws::Structure
320
683
  end
321
684
 
@@ -328,6 +691,7 @@ module Aws::S3Control
328
691
  #
329
692
  class CreateJobResult < Struct.new(
330
693
  :job_id)
694
+ SENSITIVE = []
331
695
  include Aws::Structure
332
696
  end
333
697
 
@@ -345,6 +709,19 @@ module Aws::S3Control
345
709
  #
346
710
  # @!attribute [rw] name
347
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.
348
725
  # @return [String]
349
726
  #
350
727
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyRequest AWS API Documentation
@@ -352,6 +729,7 @@ module Aws::S3Control
352
729
  class DeleteAccessPointPolicyRequest < Struct.new(
353
730
  :account_id,
354
731
  :name)
732
+ SENSITIVE = []
355
733
  include Aws::Structure
356
734
  end
357
735
 
@@ -369,6 +747,19 @@ module Aws::S3Control
369
747
  #
370
748
  # @!attribute [rw] name
371
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.
372
763
  # @return [String]
373
764
  #
374
765
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointRequest AWS API Documentation
@@ -376,138 +767,386 @@ module Aws::S3Control
376
767
  class DeleteAccessPointRequest < Struct.new(
377
768
  :account_id,
378
769
  :name)
770
+ SENSITIVE = []
379
771
  include Aws::Structure
380
772
  end
381
773
 
382
- # @note When making an API call, you may pass DeleteJobTaggingRequest
774
+ # @note When making an API call, you may pass DeleteBucketLifecycleConfigurationRequest
383
775
  # data as a hash:
384
776
  #
385
777
  # {
386
778
  # account_id: "AccountId", # required
387
- # job_id: "JobId", # required
779
+ # bucket: "BucketName", # required
388
780
  # }
389
781
  #
390
782
  # @!attribute [rw] account_id
391
- # The AWS account ID associated with the Amazon S3 Batch Operations
392
- # job.
783
+ # The account ID of the lifecycle configuration to delete.
393
784
  # @return [String]
394
785
  #
395
- # @!attribute [rw] job_id
396
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
397
- # 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.
398
800
  # @return [String]
399
801
  #
400
- # @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
401
803
  #
402
- class DeleteJobTaggingRequest < Struct.new(
804
+ class DeleteBucketLifecycleConfigurationRequest < Struct.new(
403
805
  :account_id,
404
- :job_id)
806
+ :bucket)
807
+ SENSITIVE = []
405
808
  include Aws::Structure
406
809
  end
407
810
 
408
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingResult AWS API Documentation
409
- #
410
- class DeleteJobTaggingResult < Aws::EmptyStructure; end
411
-
412
- # @note When making an API call, you may pass DeletePublicAccessBlockRequest
811
+ # @note When making an API call, you may pass DeleteBucketPolicyRequest
413
812
  # data as a hash:
414
813
  #
415
814
  # {
416
815
  # account_id: "AccountId", # required
816
+ # bucket: "BucketName", # required
417
817
  # }
418
818
  #
419
819
  # @!attribute [rw] account_id
420
- # The account ID for the Amazon Web Services account whose
421
- # `PublicAccessBlock` configuration you want to remove.
820
+ # The account ID of the Outposts bucket.
422
821
  # @return [String]
423
822
  #
424
- # @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]
425
838
  #
426
- class DeletePublicAccessBlockRequest < Struct.new(
427
- :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)
844
+ SENSITIVE = []
428
845
  include Aws::Structure
429
846
  end
430
847
 
431
- # @note When making an API call, you may pass DescribeJobRequest
848
+ # @note When making an API call, you may pass DeleteBucketRequest
432
849
  # data as a hash:
433
850
  #
434
851
  # {
435
852
  # account_id: "AccountId", # required
436
- # job_id: "JobId", # required
853
+ # bucket: "BucketName", # required
437
854
  # }
438
855
  #
439
856
  # @!attribute [rw] account_id
857
+ # The account ID that owns the Outposts bucket.
440
858
  # @return [String]
441
859
  #
442
- # @!attribute [rw] job_id
443
- # 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.
444
874
  # @return [String]
445
875
  #
446
- # @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
447
877
  #
448
- class DescribeJobRequest < Struct.new(
878
+ class DeleteBucketRequest < Struct.new(
449
879
  :account_id,
450
- :job_id)
880
+ :bucket)
881
+ SENSITIVE = []
451
882
  include Aws::Structure
452
883
  end
453
884
 
454
- # @!attribute [rw] job
455
- # Contains the configuration parameters and status for the job
456
- # specified in the `Describe Job` request.
457
- # @return [Types::JobDescriptor]
885
+ # @note When making an API call, you may pass DeleteBucketTaggingRequest
886
+ # data as a hash:
458
887
  #
459
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobResult AWS API Documentation
888
+ # {
889
+ # account_id: "AccountId", # required
890
+ # bucket: "BucketName", # required
891
+ # }
460
892
  #
461
- class DescribeJobResult < Struct.new(
462
- :job)
893
+ # @!attribute [rw] account_id
894
+ # The AWS account ID of the Outposts bucket tag set to be removed.
895
+ # @return [String]
896
+ #
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.
911
+ # @return [String]
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTaggingRequest AWS API Documentation
914
+ #
915
+ class DeleteBucketTaggingRequest < Struct.new(
916
+ :account_id,
917
+ :bucket)
918
+ SENSITIVE = []
463
919
  include Aws::Structure
464
920
  end
465
921
 
466
- # @note When making an API call, you may pass GetAccessPointPolicyRequest
922
+ # @note When making an API call, you may pass DeleteJobTaggingRequest
467
923
  # data as a hash:
468
924
  #
469
925
  # {
470
926
  # account_id: "AccountId", # required
471
- # name: "AccessPointName", # required
927
+ # job_id: "JobId", # required
472
928
  # }
473
929
  #
474
930
  # @!attribute [rw] account_id
475
- # The account ID for the account that owns the specified access point.
931
+ # The AWS account ID associated with the S3 Batch Operations job.
476
932
  # @return [String]
477
933
  #
478
- # @!attribute [rw] name
479
- # The name of the access point whose policy you want to retrieve.
934
+ # @!attribute [rw] job_id
935
+ # The ID for the S3 Batch Operations job whose tags you want to
936
+ # delete.
480
937
  # @return [String]
481
938
  #
482
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyRequest AWS API Documentation
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTaggingRequest AWS API Documentation
483
940
  #
484
- class GetAccessPointPolicyRequest < Struct.new(
941
+ class DeleteJobTaggingRequest < Struct.new(
485
942
  :account_id,
486
- :name)
943
+ :job_id)
944
+ SENSITIVE = []
487
945
  include Aws::Structure
488
946
  end
489
947
 
490
- # @!attribute [rw] policy
491
- # The access point policy associated with 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.
492
962
  # @return [String]
493
963
  #
494
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyResult AWS API Documentation
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
495
965
  #
496
- class GetAccessPointPolicyResult < Struct.new(
497
- :policy)
966
+ class DeletePublicAccessBlockRequest < Struct.new(
967
+ :account_id)
968
+ SENSITIVE = []
498
969
  include Aws::Structure
499
970
  end
500
971
 
501
- # @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
972
+ # @note When making an API call, you may pass DeleteStorageLensConfigurationRequest
502
973
  # data as a hash:
503
974
  #
504
975
  # {
976
+ # config_id: "ConfigId", # required
505
977
  # account_id: "AccountId", # required
506
- # name: "AccessPointName", # required
507
978
  # }
508
979
  #
980
+ # @!attribute [rw] config_id
981
+ # The ID of the S3 Storage Lens configuration.
982
+ # @return [String]
983
+ #
509
984
  # @!attribute [rw] account_id
510
- # The account ID for the account that owns the specified access point.
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.
511
1150
  # @return [String]
512
1151
  #
513
1152
  # @!attribute [rw] name
@@ -520,6 +1159,7 @@ module Aws::S3Control
520
1159
  class GetAccessPointPolicyStatusRequest < Struct.new(
521
1160
  :account_id,
522
1161
  :name)
1162
+ SENSITIVE = []
523
1163
  include Aws::Structure
524
1164
  end
525
1165
 
@@ -531,6 +1171,7 @@ module Aws::S3Control
531
1171
  #
532
1172
  class GetAccessPointPolicyStatusResult < Struct.new(
533
1173
  :policy_status)
1174
+ SENSITIVE = []
534
1175
  include Aws::Structure
535
1176
  end
536
1177
 
@@ -549,6 +1190,19 @@ module Aws::S3Control
549
1190
  # @!attribute [rw] name
550
1191
  # The name of the access point whose configuration information you
551
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.
552
1206
  # @return [String]
553
1207
  #
554
1208
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointRequest AWS API Documentation
@@ -556,6 +1210,7 @@ module Aws::S3Control
556
1210
  class GetAccessPointRequest < Struct.new(
557
1211
  :account_id,
558
1212
  :name)
1213
+ SENSITIVE = []
559
1214
  include Aws::Structure
560
1215
  end
561
1216
 
@@ -574,6 +1229,8 @@ module Aws::S3Control
574
1229
  # access from the public internet. Otherwise, `NetworkOrigin` is
575
1230
  # `Internet`, and the access point allows access from the public
576
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
577
1234
  # @return [String]
578
1235
  #
579
1236
  # @!attribute [rw] vpc_configuration
@@ -583,10 +1240,12 @@ module Aws::S3Control
583
1240
  #
584
1241
  # @!attribute [rw] public_access_block_configuration
585
1242
  # The `PublicAccessBlock` configuration that you want to apply to this
586
- # Amazon S3 bucket. You can enable the configuration options in any
1243
+ # Amazon S3 account. You can enable the configuration options in any
587
1244
  # combination. For more information about when Amazon S3 considers a
588
1245
  # bucket or object public, see [The Meaning of "Public"][1] in the
589
- # Amazon Simple Storage Service Developer Guide.
1246
+ # *Amazon Simple Storage Service Developer Guide*.
1247
+ #
1248
+ # This is not supported for Amazon S3 on Outposts.
590
1249
  #
591
1250
  #
592
1251
  #
@@ -606,6 +1265,212 @@ module Aws::S3Control
606
1265
  :vpc_configuration,
607
1266
  :public_access_block_configuration,
608
1267
  :creation_date)
1268
+ SENSITIVE = []
1269
+ include Aws::Structure
1270
+ end
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 = []
609
1474
  include Aws::Structure
610
1475
  end
611
1476
 
@@ -618,12 +1483,11 @@ module Aws::S3Control
618
1483
  # }
619
1484
  #
620
1485
  # @!attribute [rw] account_id
621
- # The AWS account ID associated with the Amazon S3 Batch Operations
622
- # job.
1486
+ # The AWS account ID associated with the S3 Batch Operations job.
623
1487
  # @return [String]
624
1488
  #
625
1489
  # @!attribute [rw] job_id
626
- # 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
627
1491
  # retrieve.
628
1492
  # @return [String]
629
1493
  #
@@ -632,29 +1496,32 @@ module Aws::S3Control
632
1496
  class GetJobTaggingRequest < Struct.new(
633
1497
  :account_id,
634
1498
  :job_id)
1499
+ SENSITIVE = []
635
1500
  include Aws::Structure
636
1501
  end
637
1502
 
638
1503
  # @!attribute [rw] tags
639
- # The set of tags associated with the Amazon S3 Batch Operations job.
1504
+ # The set of tags associated with the S3 Batch Operations job.
640
1505
  # @return [Array<Types::S3Tag>]
641
1506
  #
642
1507
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTaggingResult AWS API Documentation
643
1508
  #
644
1509
  class GetJobTaggingResult < Struct.new(
645
1510
  :tags)
1511
+ SENSITIVE = []
646
1512
  include Aws::Structure
647
1513
  end
648
1514
 
649
1515
  # @!attribute [rw] public_access_block_configuration
650
1516
  # The `PublicAccessBlock` configuration currently in effect for this
651
- # Amazon Web Services account.
1517
+ # AWS account.
652
1518
  # @return [Types::PublicAccessBlockConfiguration]
653
1519
  #
654
1520
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
655
1521
  #
656
1522
  class GetPublicAccessBlockOutput < Struct.new(
657
1523
  :public_access_block_configuration)
1524
+ SENSITIVE = []
658
1525
  include Aws::Structure
659
1526
  end
660
1527
 
@@ -666,44 +1533,149 @@ module Aws::S3Control
666
1533
  # }
667
1534
  #
668
1535
  # @!attribute [rw] account_id
669
- # The account ID for the Amazon Web Services account whose
670
- # `PublicAccessBlock` configuration you want to retrieve.
1536
+ # The account ID for the AWS account whose `PublicAccessBlock`
1537
+ # configuration you want to retrieve.
671
1538
  # @return [String]
672
1539
  #
673
1540
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
674
1541
  #
675
1542
  class GetPublicAccessBlockRequest < Struct.new(
676
1543
  :account_id)
1544
+ SENSITIVE = []
677
1545
  include Aws::Structure
678
1546
  end
679
1547
 
680
- # @!attribute [rw] message
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.
681
1558
  # @return [String]
682
1559
  #
683
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/IdempotencyException AWS API Documentation
1560
+ # @!attribute [rw] account_id
1561
+ # The account ID of the requester.
1562
+ # @return [String]
684
1563
  #
685
- class IdempotencyException < Struct.new(
686
- :message)
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)
1569
+ SENSITIVE = []
687
1570
  include Aws::Structure
688
1571
  end
689
1572
 
690
- # @!attribute [rw] message
691
- # @return [String]
1573
+ # @!attribute [rw] storage_lens_configuration
1574
+ # The S3 Storage Lens configuration requested.
1575
+ # @return [Types::StorageLensConfiguration]
692
1576
  #
693
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InternalServiceException AWS API Documentation
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationResult AWS API Documentation
694
1578
  #
695
- class InternalServiceException < Struct.new(
696
- :message)
1579
+ class GetStorageLensConfigurationResult < Struct.new(
1580
+ :storage_lens_configuration)
1581
+ SENSITIVE = []
697
1582
  include Aws::Structure
698
1583
  end
699
1584
 
700
- # @!attribute [rw] message
701
- # @return [String]
1585
+ # @note When making an API call, you may pass GetStorageLensConfigurationTaggingRequest
1586
+ # data as a hash:
1587
+ #
1588
+ # {
1589
+ # config_id: "ConfigId", # required
1590
+ # account_id: "AccountId", # required
1591
+ # }
1592
+ #
1593
+ # @!attribute [rw] config_id
1594
+ # The ID of the Amazon S3 Storage Lens configuration.
1595
+ # @return [String]
1596
+ #
1597
+ # @!attribute [rw] account_id
1598
+ # The account ID of the requester.
1599
+ # @return [String]
1600
+ #
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTaggingRequest AWS API Documentation
1602
+ #
1603
+ class GetStorageLensConfigurationTaggingRequest < Struct.new(
1604
+ :config_id,
1605
+ :account_id)
1606
+ SENSITIVE = []
1607
+ include Aws::Structure
1608
+ end
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
+
1622
+ # @!attribute [rw] message
1623
+ # @return [String]
1624
+ #
1625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/IdempotencyException AWS API Documentation
1626
+ #
1627
+ class IdempotencyException < Struct.new(
1628
+ :message)
1629
+ SENSITIVE = []
1630
+ include Aws::Structure
1631
+ end
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
+
1660
+ # @!attribute [rw] message
1661
+ # @return [String]
1662
+ #
1663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InternalServiceException AWS API Documentation
1664
+ #
1665
+ class InternalServiceException < Struct.new(
1666
+ :message)
1667
+ SENSITIVE = []
1668
+ include Aws::Structure
1669
+ end
1670
+
1671
+ # @!attribute [rw] message
1672
+ # @return [String]
702
1673
  #
703
1674
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/InvalidNextTokenException AWS API Documentation
704
1675
  #
705
1676
  class InvalidNextTokenException < Struct.new(
706
1677
  :message)
1678
+ SENSITIVE = []
707
1679
  include Aws::Structure
708
1680
  end
709
1681
 
@@ -714,6 +1686,7 @@ module Aws::S3Control
714
1686
  #
715
1687
  class InvalidRequestException < Struct.new(
716
1688
  :message)
1689
+ SENSITIVE = []
717
1690
  include Aws::Structure
718
1691
  end
719
1692
 
@@ -749,7 +1722,7 @@ module Aws::S3Control
749
1722
  # @return [Types::JobManifest]
750
1723
  #
751
1724
  # @!attribute [rw] operation
752
- # 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
753
1726
  # objects listed in the manifest.
754
1727
  # @return [Types::JobOperation]
755
1728
  #
@@ -758,12 +1731,13 @@ module Aws::S3Control
758
1731
  # @return [Integer]
759
1732
  #
760
1733
  # @!attribute [rw] progress_summary
761
- # Describes the total number of tasks that the specified job has
762
- # executed, the number of tasks that succeeded, and the number of
763
- # 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.
764
1737
  # @return [Types::JobProgressSummary]
765
1738
  #
766
1739
  # @!attribute [rw] status_update_reason
1740
+ # The reason for updating the job.
767
1741
  # @return [String]
768
1742
  #
769
1743
  # @!attribute [rw] failure_reasons
@@ -788,7 +1762,7 @@ module Aws::S3Control
788
1762
  #
789
1763
  # @!attribute [rw] role_arn
790
1764
  # The Amazon Resource Name (ARN) for the AWS Identity and Access
791
- # Management (IAM) role assigned to execute the tasks for this job.
1765
+ # Management (IAM) role assigned to run the tasks for this job.
792
1766
  # @return [String]
793
1767
  #
794
1768
  # @!attribute [rw] suspended_date
@@ -823,6 +1797,7 @@ module Aws::S3Control
823
1797
  :role_arn,
824
1798
  :suspended_date,
825
1799
  :suspended_cause)
1800
+ SENSITIVE = []
826
1801
  include Aws::Structure
827
1802
  end
828
1803
 
@@ -841,6 +1816,7 @@ module Aws::S3Control
841
1816
  class JobFailure < Struct.new(
842
1817
  :failure_code,
843
1818
  :failure_reason)
1819
+ SENSITIVE = []
844
1820
  include Aws::Structure
845
1821
  end
846
1822
 
@@ -880,9 +1856,9 @@ module Aws::S3Control
880
1856
  # @return [Time]
881
1857
  #
882
1858
  # @!attribute [rw] progress_summary
883
- # Describes the total number of tasks that the specified job has
884
- # executed, the number of tasks that succeeded, and the number of
885
- # 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.
886
1862
  # @return [Types::JobProgressSummary]
887
1863
  #
888
1864
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobListDescriptor AWS API Documentation
@@ -896,6 +1872,7 @@ module Aws::S3Control
896
1872
  :creation_time,
897
1873
  :termination_date,
898
1874
  :progress_summary)
1875
+ SENSITIVE = []
899
1876
  include Aws::Structure
900
1877
  end
901
1878
 
@@ -932,6 +1909,7 @@ module Aws::S3Control
932
1909
  class JobManifest < Struct.new(
933
1910
  :spec,
934
1911
  :location)
1912
+ SENSITIVE = []
935
1913
  include Aws::Structure
936
1914
  end
937
1915
 
@@ -965,6 +1943,7 @@ module Aws::S3Control
965
1943
  :object_arn,
966
1944
  :object_version_id,
967
1945
  :etag)
1946
+ SENSITIVE = []
968
1947
  include Aws::Structure
969
1948
  end
970
1949
 
@@ -995,13 +1974,14 @@ module Aws::S3Control
995
1974
  class JobManifestSpec < Struct.new(
996
1975
  :format,
997
1976
  :fields)
1977
+ SENSITIVE = []
998
1978
  include Aws::Structure
999
1979
  end
1000
1980
 
1001
1981
  # The operation that you want this job to perform on each object listed
1002
1982
  # in the manifest. For more information about the available operations,
1003
- # see [Available Operations][1] in the *Amazon Simple Storage Service
1004
- # Developer Guide*.
1983
+ # see [Operations][1] in the *Amazon Simple Storage Service Developer
1984
+ # Guide*.
1005
1985
  #
1006
1986
  #
1007
1987
  #
@@ -1113,45 +2093,48 @@ module Aws::S3Control
1113
2093
  # @return [Types::LambdaInvokeOperation]
1114
2094
  #
1115
2095
  # @!attribute [rw] s3_put_object_copy
1116
- # Directs the specified job to execute a PUT Copy object call on each
2096
+ # Directs the specified job to run a PUT Copy object call on each
1117
2097
  # object in the manifest.
1118
2098
  # @return [Types::S3CopyObjectOperation]
1119
2099
  #
1120
2100
  # @!attribute [rw] s3_put_object_acl
1121
- # Directs the specified job to execute a PUT Object acl call on each
2101
+ # Directs the specified job to run a PUT Object acl call on each
1122
2102
  # object in the manifest.
1123
2103
  # @return [Types::S3SetObjectAclOperation]
1124
2104
  #
1125
2105
  # @!attribute [rw] s3_put_object_tagging
1126
- # Directs the specified job to execute a PUT Object tagging call on
1127
- # each object in the manifest.
2106
+ # Directs the specified job to run a PUT Object tagging call on each
2107
+ # object in the manifest.
1128
2108
  # @return [Types::S3SetObjectTaggingOperation]
1129
2109
  #
1130
2110
  # @!attribute [rw] s3_initiate_restore_object
1131
- # Directs the specified job to execute an Initiate Glacier Restore
1132
- # call on each object in the manifest.
2111
+ # Directs the specified job to run an Initiate Glacier Restore call on
2112
+ # each object in the manifest.
1133
2113
  # @return [Types::S3InitiateRestoreObjectOperation]
1134
2114
  #
1135
2115
  # @!attribute [rw] s3_put_object_legal_hold
1136
- # Contains the configuration parameters for a Set Object Legal Hold
1137
- # operation. Amazon S3 Batch Operations passes each value through to
1138
- # the underlying PUT Object Legal Hold API. For more information about
1139
- # the parameters for this operation, see [PUT Object Legal Hold][1].
2116
+ # Contains the configuration for an S3 Object Lock legal hold
2117
+ # operation that an S3 Batch Operations job passes each object through
2118
+ # to the underlying `PutObjectLegalHold` API. For more information,
2119
+ # see [Using S3 Object Lock legal hold with S3 Batch Operations][1] in
2120
+ # the *Amazon Simple Storage Service Developer Guide*.
1140
2121
  #
1141
2122
  #
1142
2123
  #
1143
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
2124
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
1144
2125
  # @return [Types::S3SetObjectLegalHoldOperation]
1145
2126
  #
1146
2127
  # @!attribute [rw] s3_put_object_retention
1147
- # Contains the configuration parameters for a Set Object Retention
1148
- # operation. Amazon S3 Batch Operations passes each value through to
1149
- # the underlying PUT Object Retention API. For more information about
1150
- # the parameters for this operation, see [PUT Object Retention][1].
2128
+ # Contains the configuration parameters for the Object Lock retention
2129
+ # action for an S3 Batch Operations job. Batch Operations passes each
2130
+ # value through to the underlying `PutObjectRetention` API. For more
2131
+ # information, see [Using S3 Object Lock retention with S3 Batch
2132
+ # Operations][1] in the *Amazon Simple Storage Service Developer
2133
+ # Guide*.
1151
2134
  #
1152
2135
  #
1153
2136
  #
1154
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
2137
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
1155
2138
  # @return [Types::S3SetObjectRetentionOperation]
1156
2139
  #
1157
2140
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
@@ -1164,11 +2147,12 @@ module Aws::S3Control
1164
2147
  :s3_initiate_restore_object,
1165
2148
  :s3_put_object_legal_hold,
1166
2149
  :s3_put_object_retention)
2150
+ SENSITIVE = []
1167
2151
  include Aws::Structure
1168
2152
  end
1169
2153
 
1170
2154
  # Describes the total number of tasks that the specified job has
1171
- # executed, the number of tasks that succeeded, and the number of tasks
2155
+ # started, the number of tasks that succeeded, and the number of tasks
1172
2156
  # that failed.
1173
2157
  #
1174
2158
  # @!attribute [rw] total_number_of_tasks
@@ -1186,6 +2170,7 @@ module Aws::S3Control
1186
2170
  :total_number_of_tasks,
1187
2171
  :number_of_tasks_succeeded,
1188
2172
  :number_of_tasks_failed)
2173
+ SENSITIVE = []
1189
2174
  include Aws::Structure
1190
2175
  end
1191
2176
 
@@ -1218,9 +2203,8 @@ module Aws::S3Control
1218
2203
  #
1219
2204
  # @!attribute [rw] prefix
1220
2205
  # An optional prefix to describe where in the specified bucket the
1221
- # job-completion report will be stored. Amazon S3 will store the
1222
- # job-completion report at
1223
- # &lt;prefix&gt;/job-&lt;job-id&gt;/report.json.
2206
+ # job-completion report will be stored. Amazon S3 stores the
2207
+ # job-completion report at `<prefix>/job-<job-id>/report.json`.
1224
2208
  # @return [String]
1225
2209
  #
1226
2210
  # @!attribute [rw] report_scope
@@ -1236,6 +2220,7 @@ module Aws::S3Control
1236
2220
  :enabled,
1237
2221
  :prefix,
1238
2222
  :report_scope)
2223
+ SENSITIVE = []
1239
2224
  include Aws::Structure
1240
2225
  end
1241
2226
 
@@ -1246,6 +2231,7 @@ module Aws::S3Control
1246
2231
  #
1247
2232
  class JobStatusException < Struct.new(
1248
2233
  :message)
2234
+ SENSITIVE = []
1249
2235
  include Aws::Structure
1250
2236
  end
1251
2237
 
@@ -1267,6 +2253,313 @@ module Aws::S3Control
1267
2253
  #
1268
2254
  class LambdaInvokeOperation < Struct.new(
1269
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
+ # ],
2390
+ # },
2391
+ # },
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
2404
+ # },
2405
+ # ],
2406
+ # noncurrent_version_expiration: {
2407
+ # noncurrent_days: 1,
2408
+ # },
2409
+ # abort_incomplete_multipart_upload: {
2410
+ # days_after_initiation: 1,
2411
+ # },
2412
+ # }
2413
+ #
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]
2418
+ #
2419
+ # @!attribute [rw] id
2420
+ # Unique identifier for the rule. The value cannot be longer than 255
2421
+ # characters.
2422
+ # @return [String]
2423
+ #
2424
+ # @!attribute [rw] filter
2425
+ # The container for the filter of lifecycle rule.
2426
+ # @return [Types::LifecycleRuleFilter]
2427
+ #
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]
2432
+ #
2433
+ # @!attribute [rw] transitions
2434
+ # Specifies when an Amazon S3 object transitions to a specified
2435
+ # storage class.
2436
+ #
2437
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2438
+ #
2439
+ # </note>
2440
+ # @return [Array<Types::Transition>]
2441
+ #
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.
2449
+ #
2450
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2451
+ #
2452
+ # </note>
2453
+ # @return [Array<Types::NoncurrentVersionTransition>]
2454
+ #
2455
+ # @!attribute [rw] noncurrent_version_expiration
2456
+ # The noncurrent version expiration of the lifecycle rule.
2457
+ #
2458
+ # <note markdown="1"> This is not supported by Amazon S3 on Outposts buckets.
2459
+ #
2460
+ # </note>
2461
+ # @return [Types::NoncurrentVersionExpiration]
2462
+ #
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*.
2469
+ #
2470
+ #
2471
+ #
2472
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2473
+ # @return [Types::AbortIncompleteMultipartUpload]
2474
+ #
2475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRule AWS API Documentation
2476
+ #
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)
2486
+ SENSITIVE = []
2487
+ include Aws::Structure
2488
+ end
2489
+
2490
+ # The container for the Outposts bucket lifecycle rule and operator.
2491
+ #
2492
+ # @note When making an API call, you may pass LifecycleRuleAndOperator
2493
+ # data as a hash:
2494
+ #
2495
+ # {
2496
+ # prefix: "Prefix",
2497
+ # tags: [
2498
+ # {
2499
+ # key: "TagKeyString", # required
2500
+ # value: "TagValueString", # required
2501
+ # },
2502
+ # ],
2503
+ # }
2504
+ #
2505
+ # @!attribute [rw] prefix
2506
+ # Prefix identifying one or more objects to which the rule applies.
2507
+ # @return [String]
2508
+ #
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>]
2513
+ #
2514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LifecycleRuleAndOperator AWS API Documentation
2515
+ #
2516
+ class LifecycleRuleAndOperator < Struct.new(
2517
+ :prefix,
2518
+ :tags)
2519
+ SENSITIVE = []
2520
+ include Aws::Structure
2521
+ end
2522
+
2523
+ # The container for the filter of the lifecycle rule.
2524
+ #
2525
+ # @note When making an API call, you may pass LifecycleRuleFilter
2526
+ # data as a hash:
2527
+ #
2528
+ # {
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
+ # },
2543
+ # }
2544
+ #
2545
+ # @!attribute [rw] prefix
2546
+ # Prefix identifying one or more objects to which the rule applies.
2547
+ # @return [String]
2548
+ #
2549
+ # @!attribute [rw] tag
2550
+ # @return [Types::S3Tag]
2551
+ #
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)
2562
+ SENSITIVE = []
1270
2563
  include Aws::Structure
1271
2564
  end
1272
2565
 
@@ -1288,6 +2581,18 @@ module Aws::S3Control
1288
2581
  # @!attribute [rw] bucket
1289
2582
  # The name of the bucket whose associated access points you want to
1290
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.
1291
2596
  # @return [String]
1292
2597
  #
1293
2598
  # @!attribute [rw] next_token
@@ -1312,6 +2617,7 @@ module Aws::S3Control
1312
2617
  :bucket,
1313
2618
  :next_token,
1314
2619
  :max_results)
2620
+ SENSITIVE = []
1315
2621
  include Aws::Structure
1316
2622
  end
1317
2623
 
@@ -1322,9 +2628,9 @@ module Aws::S3Control
1322
2628
  #
1323
2629
  # @!attribute [rw] next_token
1324
2630
  # If the specified bucket has more access points than can be returned
1325
- # in one call to this API, then this field contains a continuation
1326
- # token that you can provide in subsequent calls to this API to
1327
- # retrieve additional access points.
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.
1328
2634
  # @return [String]
1329
2635
  #
1330
2636
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsResult AWS API Documentation
@@ -1332,6 +2638,7 @@ module Aws::S3Control
1332
2638
  class ListAccessPointsResult < Struct.new(
1333
2639
  :access_point_list,
1334
2640
  :next_token)
2641
+ SENSITIVE = []
1335
2642
  include Aws::Structure
1336
2643
  end
1337
2644
 
@@ -1373,6 +2680,7 @@ module Aws::S3Control
1373
2680
  :job_statuses,
1374
2681
  :next_token,
1375
2682
  :max_results)
2683
+ SENSITIVE = []
1376
2684
  include Aws::Structure
1377
2685
  end
1378
2686
 
@@ -1392,57 +2700,323 @@ module Aws::S3Control
1392
2700
  class ListJobsResult < Struct.new(
1393
2701
  :next_token,
1394
2702
  :jobs)
2703
+ SENSITIVE = []
1395
2704
  include Aws::Structure
1396
2705
  end
1397
2706
 
1398
- # Amazon S3 throws this exception if you make a `GetPublicAccessBlock`
1399
- # request against an account that doesn't have a
1400
- # `PublicAccessBlockConfiguration` set.
2707
+ # @note When making an API call, you may pass ListRegionalBucketsRequest
2708
+ # data as a hash:
1401
2709
  #
1402
- # @!attribute [rw] message
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.
1403
2719
  # @return [String]
1404
2720
  #
1405
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoSuchPublicAccessBlockConfiguration AWS API Documentation
2721
+ # @!attribute [rw] next_token
2722
+ # @return [String]
1406
2723
  #
1407
- class NoSuchPublicAccessBlockConfiguration < Struct.new(
1408
- :message)
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 = []
1409
2743
  include Aws::Structure
1410
2744
  end
1411
2745
 
1412
- # @!attribute [rw] message
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.
1413
2754
  # @return [String]
1414
2755
  #
1415
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NotFoundException AWS API Documentation
2756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBucketsResult AWS API Documentation
1416
2757
  #
1417
- class NotFoundException < Struct.new(
1418
- :message)
2758
+ class ListRegionalBucketsResult < Struct.new(
2759
+ :regional_bucket_list,
2760
+ :next_token)
2761
+ SENSITIVE = []
1419
2762
  include Aws::Structure
1420
2763
  end
1421
2764
 
1422
- # Indicates whether this access point policy is public. For more
1423
- # information about how Amazon S3 evaluates policies to determine
1424
- # whether they are public, see [The Meaning of "Public"][1] in the
1425
- # *Amazon Simple Storage Service Developer Guide*.
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.
1426
2768
  #
2769
+ # @!attribute [rw] id
2770
+ # A container for the S3 Storage Lens configuration ID.
2771
+ # @return [String]
1427
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]
1428
2777
  #
1429
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
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]
1430
2783
  #
1431
- # @!attribute [rw] is_public
2784
+ # @!attribute [rw] is_enabled
2785
+ # A container for whether the S3 Storage Lens configuration is
2786
+ # enabled. This property is required.
1432
2787
  # @return [Boolean]
1433
2788
  #
1434
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PolicyStatus AWS API Documentation
2789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurationEntry AWS API Documentation
1435
2790
  #
1436
- class PolicyStatus < Struct.new(
1437
- :is_public)
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.
2889
+ #
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.
2912
+ # @return [String]
2913
+ #
2914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NoncurrentVersionTransition AWS API Documentation
2915
+ #
2916
+ class NoncurrentVersionTransition < Struct.new(
2917
+ :noncurrent_days,
2918
+ :storage_class)
2919
+ SENSITIVE = []
2920
+ include Aws::Structure
2921
+ end
2922
+
2923
+ # @!attribute [rw] message
2924
+ # @return [String]
2925
+ #
2926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/NotFoundException AWS API Documentation
2927
+ #
2928
+ class NotFoundException < Struct.new(
2929
+ :message)
2930
+ SENSITIVE = []
2931
+ include Aws::Structure
2932
+ end
2933
+
2934
+ # Indicates whether this access point policy is public. For more
2935
+ # information about how Amazon S3 evaluates policies to determine
2936
+ # whether they are public, see [The Meaning of "Public"][1] in the
2937
+ # *Amazon Simple Storage Service Developer Guide*.
2938
+ #
2939
+ #
2940
+ #
2941
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
2942
+ #
2943
+ # @!attribute [rw] is_public
2944
+ # @return [Boolean]
2945
+ #
2946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PolicyStatus AWS API Documentation
2947
+ #
2948
+ class PolicyStatus < Struct.new(
2949
+ :is_public)
2950
+ SENSITIVE = []
2951
+ include Aws::Structure
2952
+ end
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 = []
1438
3010
  include Aws::Structure
1439
3011
  end
1440
3012
 
1441
3013
  # The `PublicAccessBlock` configuration that you want to apply to this
1442
- # Amazon S3 bucket. You can enable the configuration options in any
3014
+ # Amazon S3 account. You can enable the configuration options in any
1443
3015
  # combination. For more information about when Amazon S3 considers a
1444
3016
  # bucket or object public, see [The Meaning of "Public"][1] in the
1445
- # Amazon Simple Storage Service Developer Guide.
3017
+ # *Amazon Simple Storage Service Developer Guide*.
3018
+ #
3019
+ # This is not supported for Amazon S3 on Outposts.
1446
3020
  #
1447
3021
  #
1448
3022
  #
@@ -1471,6 +3045,8 @@ module Aws::S3Control
1471
3045
  # * PUT Bucket calls fail if the request includes a public ACL.
1472
3046
  #
1473
3047
  # Enabling this setting doesn't affect existing policies or ACLs.
3048
+ #
3049
+ # This is not supported for Amazon S3 on Outposts.
1474
3050
  # @return [Boolean]
1475
3051
  #
1476
3052
  # @!attribute [rw] ignore_public_acls
@@ -1481,6 +3057,8 @@ module Aws::S3Control
1481
3057
  #
1482
3058
  # Enabling this setting doesn't affect the persistence of any
1483
3059
  # existing ACLs and doesn't prevent new public ACLs from being set.
3060
+ #
3061
+ # This is not supported for Amazon S3 on Outposts.
1484
3062
  # @return [Boolean]
1485
3063
  #
1486
3064
  # @!attribute [rw] block_public_policy
@@ -1490,18 +3068,22 @@ module Aws::S3Control
1490
3068
  # bucket policy allows public access.
1491
3069
  #
1492
3070
  # Enabling this setting doesn't affect existing bucket policies.
3071
+ #
3072
+ # This is not supported for Amazon S3 on Outposts.
1493
3073
  # @return [Boolean]
1494
3074
  #
1495
3075
  # @!attribute [rw] restrict_public_buckets
1496
3076
  # Specifies whether Amazon S3 should restrict public bucket policies
1497
3077
  # for buckets in this account. Setting this element to `TRUE`
1498
- # restricts access to buckets with public policies to only AWS
1499
- # services and authorized users within this account.
3078
+ # restricts access to buckets with public policies to only AWS service
3079
+ # principals and authorized users within this account.
1500
3080
  #
1501
3081
  # Enabling this setting doesn't affect previously stored bucket
1502
3082
  # policies, except that public and cross-account access within any
1503
3083
  # public bucket policy, including non-public delegation to specific
1504
3084
  # accounts, is blocked.
3085
+ #
3086
+ # This is not supported for Amazon S3 on Outposts.
1505
3087
  # @return [Boolean]
1506
3088
  #
1507
3089
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
@@ -1511,6 +3093,7 @@ module Aws::S3Control
1511
3093
  :ignore_public_acls,
1512
3094
  :block_public_policy,
1513
3095
  :restrict_public_buckets)
3096
+ SENSITIVE = []
1514
3097
  include Aws::Structure
1515
3098
  end
1516
3099
 
@@ -1531,12 +3114,25 @@ module Aws::S3Control
1531
3114
  # @!attribute [rw] name
1532
3115
  # The name of the access point that you want to associate with the
1533
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.
1534
3130
  # @return [String]
1535
3131
  #
1536
3132
  # @!attribute [rw] policy
1537
3133
  # The policy that you want to apply to the specified access point. For
1538
- # more information about access point policies, see [Managing Data
1539
- # Access with Amazon S3 Access Points][1] in the *Amazon Simple
3134
+ # more information about access point policies, see [Managing data
3135
+ # access with Amazon S3 Access Points][1] in the *Amazon Simple
1540
3136
  # Storage Service Developer Guide*.
1541
3137
  #
1542
3138
  #
@@ -1544,21 +3140,373 @@ module Aws::S3Control
1544
3140
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
1545
3141
  # @return [String]
1546
3142
  #
1547
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyRequest AWS API Documentation
3143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyRequest AWS API Documentation
3144
+ #
3145
+ class PutAccessPointPolicyRequest < Struct.new(
3146
+ :account_id,
3147
+ :name,
3148
+ :policy)
3149
+ SENSITIVE = []
3150
+ include Aws::Structure
3151
+ end
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
+
3334
+ # @note When making an API call, you may pass PutJobTaggingRequest
3335
+ # data as a hash:
3336
+ #
3337
+ # {
3338
+ # account_id: "AccountId", # required
3339
+ # job_id: "JobId", # required
3340
+ # tags: [ # required
3341
+ # {
3342
+ # key: "TagKeyString", # required
3343
+ # value: "TagValueString", # required
3344
+ # },
3345
+ # ],
3346
+ # }
3347
+ #
3348
+ # @!attribute [rw] account_id
3349
+ # The AWS account ID associated with the S3 Batch Operations job.
3350
+ # @return [String]
3351
+ #
3352
+ # @!attribute [rw] job_id
3353
+ # The ID for the S3 Batch Operations job whose tags you want to
3354
+ # replace.
3355
+ # @return [String]
3356
+ #
3357
+ # @!attribute [rw] tags
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>]
1548
3492
  #
1549
- class PutAccessPointPolicyRequest < Struct.new(
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,
1550
3497
  :account_id,
1551
- :name,
1552
- :policy)
3498
+ :storage_lens_configuration,
3499
+ :tags)
3500
+ SENSITIVE = []
1553
3501
  include Aws::Structure
1554
3502
  end
1555
3503
 
1556
- # @note When making an API call, you may pass PutJobTaggingRequest
3504
+ # @note When making an API call, you may pass PutStorageLensConfigurationTaggingRequest
1557
3505
  # data as a hash:
1558
3506
  #
1559
3507
  # {
3508
+ # config_id: "ConfigId", # required
1560
3509
  # account_id: "AccountId", # required
1561
- # job_id: "JobId", # required
1562
3510
  # tags: [ # required
1563
3511
  # {
1564
3512
  # key: "TagKeyString", # required
@@ -1567,62 +3515,65 @@ module Aws::S3Control
1567
3515
  # ],
1568
3516
  # }
1569
3517
  #
1570
- # @!attribute [rw] account_id
1571
- # The AWS account ID associated with the Amazon S3 Batch Operations
1572
- # job.
3518
+ # @!attribute [rw] config_id
3519
+ # The ID of the S3 Storage Lens configuration.
1573
3520
  # @return [String]
1574
3521
  #
1575
- # @!attribute [rw] job_id
1576
- # The ID for the Amazon S3 Batch Operations job whose tags you want to
1577
- # replace.
3522
+ # @!attribute [rw] account_id
3523
+ # The account ID of the requester.
1578
3524
  # @return [String]
1579
3525
  #
1580
3526
  # @!attribute [rw] tags
1581
- # The set of tags to associate with the Amazon S3 Batch Operations
1582
- # job.
1583
- # @return [Array<Types::S3Tag>]
3527
+ # The tag set of the S3 Storage Lens configuration.
1584
3528
  #
1585
- # @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.
1586
3530
  #
1587
- 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,
1588
3538
  :account_id,
1589
- :job_id,
1590
3539
  :tags)
3540
+ SENSITIVE = []
1591
3541
  include Aws::Structure
1592
3542
  end
1593
3543
 
1594
- # @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
1595
3545
  #
1596
- class PutJobTaggingResult < Aws::EmptyStructure; end
3546
+ class PutStorageLensConfigurationTaggingResult < Aws::EmptyStructure; end
1597
3547
 
1598
- # @note When making an API call, you may pass PutPublicAccessBlockRequest
1599
- # data as a hash:
3548
+ # The container for the regional bucket.
1600
3549
  #
1601
- # {
1602
- # public_access_block_configuration: { # required
1603
- # block_public_acls: false,
1604
- # ignore_public_acls: false,
1605
- # block_public_policy: false,
1606
- # restrict_public_buckets: false,
1607
- # },
1608
- # account_id: "AccountId", # required
1609
- # }
3550
+ # @!attribute [rw] bucket
3551
+ # @return [String]
1610
3552
  #
1611
- # @!attribute [rw] public_access_block_configuration
1612
- # The `PublicAccessBlock` configuration that you want to apply to the
1613
- # specified Amazon Web Services account.
1614
- # @return [Types::PublicAccessBlockConfiguration]
3553
+ # @!attribute [rw] bucket_arn
3554
+ # The Amazon Resource Name (ARN) for the regional bucket.
3555
+ # @return [String]
1615
3556
  #
1616
- # @!attribute [rw] account_id
1617
- # The account ID for the Amazon Web Services account whose
1618
- # `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.
1619
3566
  # @return [String]
1620
3567
  #
1621
- # @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
1622
3569
  #
1623
- class PutPublicAccessBlockRequest < Struct.new(
1624
- :public_access_block_configuration,
1625
- :account_id)
3570
+ class RegionalBucket < Struct.new(
3571
+ :bucket,
3572
+ :bucket_arn,
3573
+ :public_access_block_enabled,
3574
+ :creation_date,
3575
+ :outpost_id)
3576
+ SENSITIVE = []
1626
3577
  include Aws::Structure
1627
3578
  end
1628
3579
 
@@ -1657,6 +3608,7 @@ module Aws::S3Control
1657
3608
  class S3AccessControlList < Struct.new(
1658
3609
  :owner,
1659
3610
  :grants)
3611
+ SENSITIVE = []
1660
3612
  include Aws::Structure
1661
3613
  end
1662
3614
 
@@ -1694,13 +3646,77 @@ module Aws::S3Control
1694
3646
  class S3AccessControlPolicy < Struct.new(
1695
3647
  :access_control_list,
1696
3648
  :canned_access_control_list)
3649
+ SENSITIVE = []
3650
+ include Aws::Structure
3651
+ end
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 = []
1697
3713
  include Aws::Structure
1698
3714
  end
1699
3715
 
1700
3716
  # Contains the configuration parameters for a PUT Copy object operation.
1701
- # Amazon S3 Batch Operations passes each value through to the underlying
1702
- # PUT Copy object API. For more information about the parameters for
1703
- # this operation, see [PUT Object - Copy][1].
3717
+ # S3 Batch Operations passes each value through to the underlying PUT
3718
+ # Copy object API. For more information about the parameters for this
3719
+ # operation, see [PUT Object - Copy][1].
1704
3720
  #
1705
3721
  #
1706
3722
  #
@@ -1757,6 +3773,10 @@ module Aws::S3Control
1757
3773
  # }
1758
3774
  #
1759
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".
1760
3780
  # @return [String]
1761
3781
  #
1762
3782
  # @!attribute [rw] canned_access_control_list
@@ -1778,6 +3798,9 @@ module Aws::S3Control
1778
3798
  # @return [Array<Types::S3Tag>]
1779
3799
  #
1780
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.
1781
3804
  # @return [String]
1782
3805
  #
1783
3806
  # @!attribute [rw] requester_pays
@@ -1793,21 +3816,25 @@ module Aws::S3Control
1793
3816
  # @return [String]
1794
3817
  #
1795
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/".
1796
3823
  # @return [String]
1797
3824
  #
1798
3825
  # @!attribute [rw] object_lock_legal_hold_status
1799
- # 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
1800
3827
  # Operations job.
1801
3828
  # @return [String]
1802
3829
  #
1803
3830
  # @!attribute [rw] object_lock_mode
1804
- # 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
1805
3832
  # Operations job.
1806
3833
  # @return [String]
1807
3834
  #
1808
3835
  # @!attribute [rw] object_lock_retain_until_date
1809
- # The date when the applied Object Retention configuration will expire
1810
- # on all objects in the Batch Operations job.
3836
+ # The date when the applied object retention configuration expires on
3837
+ # all objects in the Batch Operations job.
1811
3838
  # @return [Time]
1812
3839
  #
1813
3840
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
@@ -1829,6 +3856,7 @@ module Aws::S3Control
1829
3856
  :object_lock_legal_hold_status,
1830
3857
  :object_lock_mode,
1831
3858
  :object_lock_retain_until_date)
3859
+ SENSITIVE = []
1832
3860
  include Aws::Structure
1833
3861
  end
1834
3862
 
@@ -1855,6 +3883,7 @@ module Aws::S3Control
1855
3883
  class S3Grant < Struct.new(
1856
3884
  :grantee,
1857
3885
  :permission)
3886
+ SENSITIVE = []
1858
3887
  include Aws::Structure
1859
3888
  end
1860
3889
 
@@ -1882,13 +3911,14 @@ module Aws::S3Control
1882
3911
  :type_identifier,
1883
3912
  :identifier,
1884
3913
  :display_name)
3914
+ SENSITIVE = []
1885
3915
  include Aws::Structure
1886
3916
  end
1887
3917
 
1888
3918
  # Contains the configuration parameters for an Initiate Glacier Restore
1889
- # job. Amazon S3 Batch Operations passes each value through to the
1890
- # underlying POST Object restore API. For more information about the
1891
- # parameters for this operation, see [Restoring Archives][1].
3919
+ # job. S3 Batch Operations passes each value through to the underlying
3920
+ # POST Object restore API. For more information about the parameters for
3921
+ # this operation, see [RestoreObject][1].
1892
3922
  #
1893
3923
  #
1894
3924
  #
@@ -1913,9 +3943,13 @@ module Aws::S3Control
1913
3943
  class S3InitiateRestoreObjectOperation < Struct.new(
1914
3944
  :expiration_in_days,
1915
3945
  :glacier_job_tier)
3946
+ SENSITIVE = []
1916
3947
  include Aws::Structure
1917
3948
  end
1918
3949
 
3950
+ # Whether S3 Object Lock legal hold will be applied to objects in an S3
3951
+ # Batch Operations job.
3952
+ #
1919
3953
  # @note When making an API call, you may pass S3ObjectLockLegalHold
1920
3954
  # data as a hash:
1921
3955
  #
@@ -1924,14 +3958,15 @@ module Aws::S3Control
1924
3958
  # }
1925
3959
  #
1926
3960
  # @!attribute [rw] status
1927
- # The Legal Hold status to be applied to all objects in the Batch
1928
- # Operations job.
3961
+ # The Object Lock legal hold status to be applied to all objects in
3962
+ # the Batch Operations job.
1929
3963
  # @return [String]
1930
3964
  #
1931
3965
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectLockLegalHold AWS API Documentation
1932
3966
  #
1933
3967
  class S3ObjectLockLegalHold < Struct.new(
1934
3968
  :status)
3969
+ SENSITIVE = []
1935
3970
  include Aws::Structure
1936
3971
  end
1937
3972
 
@@ -2001,6 +4036,7 @@ module Aws::S3Control
2001
4036
  :http_expires_date,
2002
4037
  :requester_charged,
2003
4038
  :sse_algorithm)
4039
+ SENSITIVE = []
2004
4040
  include Aws::Structure
2005
4041
  end
2006
4042
 
@@ -2023,9 +4059,21 @@ module Aws::S3Control
2023
4059
  class S3ObjectOwner < Struct.new(
2024
4060
  :id,
2025
4061
  :display_name)
4062
+ SENSITIVE = []
2026
4063
  include Aws::Structure
2027
4064
  end
2028
4065
 
4066
+ # Contains the S3 Object Lock retention mode to be applied to all
4067
+ # objects in the S3 Batch Operations job. If you don't provide `Mode`
4068
+ # and `RetainUntilDate` data types in your operation, you will remove
4069
+ # the retention from your objects. For more information, see [Using S3
4070
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4071
+ # Simple Storage Service Developer Guide*.
4072
+ #
4073
+ #
4074
+ #
4075
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
4076
+ #
2029
4077
  # @note When making an API call, you may pass S3Retention
2030
4078
  # data as a hash:
2031
4079
  #
@@ -2035,13 +4083,13 @@ module Aws::S3Control
2035
4083
  # }
2036
4084
  #
2037
4085
  # @!attribute [rw] retain_until_date
2038
- # The date when the applied Object Retention will expire on all
2039
- # objects in the Batch Operations job.
4086
+ # The date when the applied Object Lock retention will expire on all
4087
+ # objects set by the Batch Operations job.
2040
4088
  # @return [Time]
2041
4089
  #
2042
4090
  # @!attribute [rw] mode
2043
- # The Retention mode to be applied to all objects in the Batch
2044
- # Operations job.
4091
+ # The Object Lock retention mode to be applied to all objects in the
4092
+ # Batch Operations job.
2045
4093
  # @return [String]
2046
4094
  #
2047
4095
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Retention AWS API Documentation
@@ -2049,12 +4097,13 @@ module Aws::S3Control
2049
4097
  class S3Retention < Struct.new(
2050
4098
  :retain_until_date,
2051
4099
  :mode)
4100
+ SENSITIVE = []
2052
4101
  include Aws::Structure
2053
4102
  end
2054
4103
 
2055
4104
  # Contains the configuration parameters for a Set Object ACL operation.
2056
- # Amazon S3 Batch Operations passes each value through to the underlying
2057
- # PUT Object acl API. For more information about the parameters for this
4105
+ # S3 Batch Operations passes each value through to the underlying PUT
4106
+ # Object acl API. For more information about the parameters for this
2058
4107
  # operation, see [PUT Object acl][1].
2059
4108
  #
2060
4109
  #
@@ -2093,17 +4142,19 @@ module Aws::S3Control
2093
4142
  #
2094
4143
  class S3SetObjectAclOperation < Struct.new(
2095
4144
  :access_control_policy)
4145
+ SENSITIVE = []
2096
4146
  include Aws::Structure
2097
4147
  end
2098
4148
 
2099
- # Contains the configuration parameters for a Set Object Legal Hold
2100
- # operation. Amazon S3 Batch Operations passes each value through to the
2101
- # underlying PUT Object Legal Hold API. For more information about the
2102
- # parameters for this operation, see [PUT Object Legal Hold][1].
4149
+ # Contains the configuration for an S3 Object Lock legal hold operation
4150
+ # that an S3 Batch Operations job passes each object through to the
4151
+ # underlying `PutObjectLegalHold` API. For more information, see [Using
4152
+ # S3 Object Lock legal hold with S3 Batch Operations][1] in the *Amazon
4153
+ # Simple Storage Service Developer Guide*.
2103
4154
  #
2104
4155
  #
2105
4156
  #
2106
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htmll#object-lock-legal-holds
4157
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html
2107
4158
  #
2108
4159
  # @note When making an API call, you may pass S3SetObjectLegalHoldOperation
2109
4160
  # data as a hash:
@@ -2115,25 +4166,27 @@ module Aws::S3Control
2115
4166
  # }
2116
4167
  #
2117
4168
  # @!attribute [rw] legal_hold
2118
- # The Legal Hold contains the status to be applied to all objects in
2119
- # the Batch Operations job.
4169
+ # Contains the Object Lock legal hold status to be applied to all
4170
+ # objects in the Batch Operations job.
2120
4171
  # @return [Types::S3ObjectLockLegalHold]
2121
4172
  #
2122
4173
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectLegalHoldOperation AWS API Documentation
2123
4174
  #
2124
4175
  class S3SetObjectLegalHoldOperation < Struct.new(
2125
4176
  :legal_hold)
4177
+ SENSITIVE = []
2126
4178
  include Aws::Structure
2127
4179
  end
2128
4180
 
2129
- # Contains the configuration parameters for a Set Object Retention
2130
- # operation. Amazon S3 Batch Operations passes each value through to the
2131
- # underlying PUT Object Retention API. For more information about the
2132
- # parameters for this operation, see [PUT Object Retention][1].
4181
+ # Contains the configuration parameters for the Object Lock retention
4182
+ # action for an S3 Batch Operations job. Batch Operations passes each
4183
+ # value through to the underlying `PutObjectRetention` API. For more
4184
+ # information, see [Using S3 Object Lock retention with S3 Batch
4185
+ # Operations][1] in the *Amazon Simple Storage Service Developer Guide*.
2133
4186
  #
2134
4187
  #
2135
4188
  #
2136
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes
4189
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2137
4190
  #
2138
4191
  # @note When making an API call, you may pass S3SetObjectRetentionOperation
2139
4192
  # data as a hash:
@@ -2147,14 +4200,20 @@ module Aws::S3Control
2147
4200
  # }
2148
4201
  #
2149
4202
  # @!attribute [rw] bypass_governance_retention
2150
- # Indicates if the operation should be applied to objects in the Batch
2151
- # Operations job even if they have Governance-type Object Lock in
4203
+ # Indicates if the action should be applied to objects in the Batch
4204
+ # Operations job even if they have Object Lock ` GOVERNANCE` type in
2152
4205
  # place.
2153
4206
  # @return [Boolean]
2154
4207
  #
2155
4208
  # @!attribute [rw] retention
2156
- # Amazon S3 object lock Retention contains the retention mode to be
2157
- # applied to all objects in the Batch Operations job.
4209
+ # Contains the Object Lock retention mode to be applied to all objects
4210
+ # in the Batch Operations job. For more information, see [Using S3
4211
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4212
+ # Simple Storage Service Developer Guide*.
4213
+ #
4214
+ #
4215
+ #
4216
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html
2158
4217
  # @return [Types::S3Retention]
2159
4218
  #
2160
4219
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectRetentionOperation AWS API Documentation
@@ -2162,11 +4221,12 @@ module Aws::S3Control
2162
4221
  class S3SetObjectRetentionOperation < Struct.new(
2163
4222
  :bypass_governance_retention,
2164
4223
  :retention)
4224
+ SENSITIVE = []
2165
4225
  include Aws::Structure
2166
4226
  end
2167
4227
 
2168
4228
  # Contains the configuration parameters for a Set Object Tagging
2169
- # operation. Amazon S3 Batch Operations passes each value through to the
4229
+ # operation. S3 Batch Operations passes each value through to the
2170
4230
  # underlying PUT Object tagging API. For more information about the
2171
4231
  # parameters for this operation, see [PUT Object tagging][1].
2172
4232
  #
@@ -2193,6 +4253,7 @@ module Aws::S3Control
2193
4253
  #
2194
4254
  class S3SetObjectTaggingOperation < Struct.new(
2195
4255
  :tag_set)
4256
+ SENSITIVE = []
2196
4257
  include Aws::Structure
2197
4258
  end
2198
4259
 
@@ -2215,6 +4276,323 @@ module Aws::S3Control
2215
4276
  class S3Tag < Struct.new(
2216
4277
  :key,
2217
4278
  :value)
4279
+ SENSITIVE = []
4280
+ include Aws::Structure
4281
+ end
4282
+
4283
+ # @note When making an API call, you may pass SSEKMS
4284
+ # data as a hash:
4285
+ #
4286
+ # {
4287
+ # key_id: "SSEKMSKeyId", # required
4288
+ # }
4289
+ #
4290
+ # @!attribute [rw] key_id
4291
+ # A container for the ARN of the SSE-KMS encryption. This property is
4292
+ # read-only and follows the following format: `
4293
+ # arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e
4294
+ # `
4295
+ # @return [String]
4296
+ #
4297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSEKMS AWS API Documentation
4298
+ #
4299
+ class SSEKMS < Struct.new(
4300
+ :key_id)
4301
+ SENSITIVE = []
4302
+ include Aws::Structure
4303
+ end
4304
+
4305
+ # @api private
4306
+ #
4307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SSES3 AWS API Documentation
4308
+ #
4309
+ class SSES3 < Aws::EmptyStructure; end
4310
+
4311
+ # @note When making an API call, you may pass SelectionCriteria
4312
+ # data as a hash:
4313
+ #
4314
+ # {
4315
+ # delimiter: "StorageLensPrefixLevelDelimiter",
4316
+ # max_depth: 1,
4317
+ # min_storage_bytes_percentage: 1.0,
4318
+ # }
4319
+ #
4320
+ # @!attribute [rw] delimiter
4321
+ # A container for the delimiter of the selection criteria being used.
4322
+ # @return [String]
4323
+ #
4324
+ # @!attribute [rw] max_depth
4325
+ # The max depth of the selection criteria
4326
+ # @return [Integer]
4327
+ #
4328
+ # @!attribute [rw] min_storage_bytes_percentage
4329
+ # The minimum number of storage bytes percentage whose metrics will be
4330
+ # selected.
4331
+ #
4332
+ # <note markdown="1"> You must choose a value greater than or equal to `1.0`.
4333
+ #
4334
+ # </note>
4335
+ # @return [Float]
4336
+ #
4337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/SelectionCriteria AWS API Documentation
4338
+ #
4339
+ class SelectionCriteria < Struct.new(
4340
+ :delimiter,
4341
+ :max_depth,
4342
+ :min_storage_bytes_percentage)
4343
+ SENSITIVE = []
4344
+ include Aws::Structure
4345
+ end
4346
+
4347
+ # The AWS organization for your S3 Storage Lens.
4348
+ #
4349
+ # @note When making an API call, you may pass StorageLensAwsOrg
4350
+ # data as a hash:
4351
+ #
4352
+ # {
4353
+ # arn: "AwsOrgArn", # required
4354
+ # }
4355
+ #
4356
+ # @!attribute [rw] arn
4357
+ # A container for the Amazon Resource Name (ARN) of the AWS
4358
+ # organization. This property is read-only and follows the following
4359
+ # format: `
4360
+ # arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck
4361
+ # `
4362
+ # @return [String]
4363
+ #
4364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensAwsOrg AWS API Documentation
4365
+ #
4366
+ class StorageLensAwsOrg < Struct.new(
4367
+ :arn)
4368
+ SENSITIVE = []
4369
+ include Aws::Structure
4370
+ end
4371
+
4372
+ # A container for the Amazon S3 Storage Lens configuration.
4373
+ #
4374
+ # @note When making an API call, you may pass StorageLensConfiguration
4375
+ # data as a hash:
4376
+ #
4377
+ # {
4378
+ # id: "ConfigId", # required
4379
+ # account_level: { # required
4380
+ # activity_metrics: {
4381
+ # is_enabled: false,
4382
+ # },
4383
+ # bucket_level: { # required
4384
+ # activity_metrics: {
4385
+ # is_enabled: false,
4386
+ # },
4387
+ # prefix_level: {
4388
+ # storage_metrics: { # required
4389
+ # is_enabled: false,
4390
+ # selection_criteria: {
4391
+ # delimiter: "StorageLensPrefixLevelDelimiter",
4392
+ # max_depth: 1,
4393
+ # min_storage_bytes_percentage: 1.0,
4394
+ # },
4395
+ # },
4396
+ # },
4397
+ # },
4398
+ # },
4399
+ # include: {
4400
+ # buckets: ["S3BucketArnString"],
4401
+ # regions: ["S3AWSRegion"],
4402
+ # },
4403
+ # exclude: {
4404
+ # buckets: ["S3BucketArnString"],
4405
+ # regions: ["S3AWSRegion"],
4406
+ # },
4407
+ # data_export: {
4408
+ # s3_bucket_destination: { # required
4409
+ # format: "CSV", # required, accepts CSV, Parquet
4410
+ # output_schema_version: "V_1", # required, accepts V_1
4411
+ # account_id: "AccountId", # required
4412
+ # arn: "S3BucketArnString", # required
4413
+ # prefix: "Prefix",
4414
+ # encryption: {
4415
+ # sses3: {
4416
+ # },
4417
+ # ssekms: {
4418
+ # key_id: "SSEKMSKeyId", # required
4419
+ # },
4420
+ # },
4421
+ # },
4422
+ # },
4423
+ # is_enabled: false, # required
4424
+ # aws_org: {
4425
+ # arn: "AwsOrgArn", # required
4426
+ # },
4427
+ # storage_lens_arn: "StorageLensArn",
4428
+ # }
4429
+ #
4430
+ # @!attribute [rw] id
4431
+ # A container for the Amazon S3 Storage Lens configuration ID.
4432
+ # @return [String]
4433
+ #
4434
+ # @!attribute [rw] account_level
4435
+ # A container for all the account-level configurations of your S3
4436
+ # Storage Lens configuration.
4437
+ # @return [Types::AccountLevel]
4438
+ #
4439
+ # @!attribute [rw] include
4440
+ # A container for what is included in this configuration. This
4441
+ # container can only be valid if there is no `Exclude` container
4442
+ # submitted, and it's not empty.
4443
+ # @return [Types::Include]
4444
+ #
4445
+ # @!attribute [rw] exclude
4446
+ # A container for what is excluded in this configuration. This
4447
+ # container can only be valid if there is no `Include` container
4448
+ # submitted, and it's not empty.
4449
+ # @return [Types::Exclude]
4450
+ #
4451
+ # @!attribute [rw] data_export
4452
+ # A container to specify the properties of your S3 Storage Lens
4453
+ # metrics export including, the destination, schema and format.
4454
+ # @return [Types::StorageLensDataExport]
4455
+ #
4456
+ # @!attribute [rw] is_enabled
4457
+ # A container for whether the S3 Storage Lens configuration is
4458
+ # enabled.
4459
+ # @return [Boolean]
4460
+ #
4461
+ # @!attribute [rw] aws_org
4462
+ # A container for the AWS organization for this S3 Storage Lens
4463
+ # configuration.
4464
+ # @return [Types::StorageLensAwsOrg]
4465
+ #
4466
+ # @!attribute [rw] storage_lens_arn
4467
+ # The Amazon Resource Name (ARN) of the S3 Storage Lens configuration.
4468
+ # This property is read-only and follows the following format: `
4469
+ # arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name
4470
+ # `
4471
+ # @return [String]
4472
+ #
4473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensConfiguration AWS API Documentation
4474
+ #
4475
+ class StorageLensConfiguration < Struct.new(
4476
+ :id,
4477
+ :account_level,
4478
+ :include,
4479
+ :exclude,
4480
+ :data_export,
4481
+ :is_enabled,
4482
+ :aws_org,
4483
+ :storage_lens_arn)
4484
+ SENSITIVE = []
4485
+ include Aws::Structure
4486
+ end
4487
+
4488
+ # A container to specify the properties of your S3 Storage Lens metrics
4489
+ # export, including the destination, schema, and format.
4490
+ #
4491
+ # @note When making an API call, you may pass StorageLensDataExport
4492
+ # data as a hash:
4493
+ #
4494
+ # {
4495
+ # s3_bucket_destination: { # required
4496
+ # format: "CSV", # required, accepts CSV, Parquet
4497
+ # output_schema_version: "V_1", # required, accepts V_1
4498
+ # account_id: "AccountId", # required
4499
+ # arn: "S3BucketArnString", # required
4500
+ # prefix: "Prefix",
4501
+ # encryption: {
4502
+ # sses3: {
4503
+ # },
4504
+ # ssekms: {
4505
+ # key_id: "SSEKMSKeyId", # required
4506
+ # },
4507
+ # },
4508
+ # },
4509
+ # }
4510
+ #
4511
+ # @!attribute [rw] s3_bucket_destination
4512
+ # A container for the bucket where the S3 Storage Lens metrics export
4513
+ # will be located.
4514
+ # @return [Types::S3BucketDestination]
4515
+ #
4516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExport AWS API Documentation
4517
+ #
4518
+ class StorageLensDataExport < Struct.new(
4519
+ :s3_bucket_destination)
4520
+ SENSITIVE = []
4521
+ include Aws::Structure
4522
+ end
4523
+
4524
+ # A container for the encryption of the S3 Storage Lens metrics exports.
4525
+ #
4526
+ # @note When making an API call, you may pass StorageLensDataExportEncryption
4527
+ # data as a hash:
4528
+ #
4529
+ # {
4530
+ # sses3: {
4531
+ # },
4532
+ # ssekms: {
4533
+ # key_id: "SSEKMSKeyId", # required
4534
+ # },
4535
+ # }
4536
+ #
4537
+ # @!attribute [rw] sses3
4538
+ # @return [Types::SSES3]
4539
+ #
4540
+ # @!attribute [rw] ssekms
4541
+ # @return [Types::SSEKMS]
4542
+ #
4543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExportEncryption AWS API Documentation
4544
+ #
4545
+ class StorageLensDataExportEncryption < Struct.new(
4546
+ :sses3,
4547
+ :ssekms)
4548
+ SENSITIVE = []
4549
+ include Aws::Structure
4550
+ end
4551
+
4552
+ # @note When making an API call, you may pass StorageLensTag
4553
+ # data as a hash:
4554
+ #
4555
+ # {
4556
+ # key: "TagKeyString", # required
4557
+ # value: "TagValueString", # required
4558
+ # }
4559
+ #
4560
+ # @!attribute [rw] key
4561
+ # @return [String]
4562
+ #
4563
+ # @!attribute [rw] value
4564
+ # @return [String]
4565
+ #
4566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensTag AWS API Documentation
4567
+ #
4568
+ class StorageLensTag < Struct.new(
4569
+ :key,
4570
+ :value)
4571
+ SENSITIVE = []
4572
+ include Aws::Structure
4573
+ end
4574
+
4575
+ # @note When making an API call, you may pass Tagging
4576
+ # data as a hash:
4577
+ #
4578
+ # {
4579
+ # tag_set: [ # required
4580
+ # {
4581
+ # key: "TagKeyString", # required
4582
+ # value: "TagValueString", # required
4583
+ # },
4584
+ # ],
4585
+ # }
4586
+ #
4587
+ # @!attribute [rw] tag_set
4588
+ # A collection for a set of tags.
4589
+ # @return [Array<Types::S3Tag>]
4590
+ #
4591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Tagging AWS API Documentation
4592
+ #
4593
+ class Tagging < Struct.new(
4594
+ :tag_set)
4595
+ SENSITIVE = []
2218
4596
  include Aws::Structure
2219
4597
  end
2220
4598
 
@@ -2225,9 +4603,13 @@ module Aws::S3Control
2225
4603
  #
2226
4604
  class TooManyRequestsException < Struct.new(
2227
4605
  :message)
4606
+ SENSITIVE = []
2228
4607
  include Aws::Structure
2229
4608
  end
2230
4609
 
4610
+ # Amazon S3 throws this exception if you have too many tags in your tag
4611
+ # set.
4612
+ #
2231
4613
  # @!attribute [rw] message
2232
4614
  # @return [String]
2233
4615
  #
@@ -2235,6 +4617,51 @@ module Aws::S3Control
2235
4617
  #
2236
4618
  class TooManyTagsException < Struct.new(
2237
4619
  :message)
4620
+ SENSITIVE = []
4621
+ include Aws::Structure
4622
+ end
4623
+
4624
+ # Specifies when an object transitions to a specified storage class. For
4625
+ # more information about Amazon S3 Lifecycle configuration rules, see [
4626
+ # Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon
4627
+ # Simple Storage Service Developer Guide*.
4628
+ #
4629
+ #
4630
+ #
4631
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html
4632
+ #
4633
+ # @note When making an API call, you may pass Transition
4634
+ # data as a hash:
4635
+ #
4636
+ # {
4637
+ # date: Time.now,
4638
+ # days: 1,
4639
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4640
+ # }
4641
+ #
4642
+ # @!attribute [rw] date
4643
+ # Indicates when objects are transitioned to the specified storage
4644
+ # class. The date value must be in ISO 8601 format. The time is always
4645
+ # midnight UTC.
4646
+ # @return [Time]
4647
+ #
4648
+ # @!attribute [rw] days
4649
+ # Indicates the number of days after creation when objects are
4650
+ # transitioned to the specified storage class. The value must be a
4651
+ # positive integer.
4652
+ # @return [Integer]
4653
+ #
4654
+ # @!attribute [rw] storage_class
4655
+ # The storage class to which you want the object to transition.
4656
+ # @return [String]
4657
+ #
4658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/Transition AWS API Documentation
4659
+ #
4660
+ class Transition < Struct.new(
4661
+ :date,
4662
+ :days,
4663
+ :storage_class)
4664
+ SENSITIVE = []
2238
4665
  include Aws::Structure
2239
4666
  end
2240
4667
 
@@ -2264,6 +4691,7 @@ module Aws::S3Control
2264
4691
  :account_id,
2265
4692
  :job_id,
2266
4693
  :priority)
4694
+ SENSITIVE = []
2267
4695
  include Aws::Structure
2268
4696
  end
2269
4697
 
@@ -2280,6 +4708,7 @@ module Aws::S3Control
2280
4708
  class UpdateJobPriorityResult < Struct.new(
2281
4709
  :job_id,
2282
4710
  :priority)
4711
+ SENSITIVE = []
2283
4712
  include Aws::Structure
2284
4713
  end
2285
4714
 
@@ -2317,6 +4746,7 @@ module Aws::S3Control
2317
4746
  :job_id,
2318
4747
  :requested_job_status,
2319
4748
  :status_update_reason)
4749
+ SENSITIVE = []
2320
4750
  include Aws::Structure
2321
4751
  end
2322
4752
 
@@ -2338,6 +4768,7 @@ module Aws::S3Control
2338
4768
  :job_id,
2339
4769
  :status,
2340
4770
  :status_update_reason)
4771
+ SENSITIVE = []
2341
4772
  include Aws::Structure
2342
4773
  end
2343
4774
 
@@ -2359,6 +4790,7 @@ module Aws::S3Control
2359
4790
  #
2360
4791
  class VpcConfiguration < Struct.new(
2361
4792
  :vpc_id)
4793
+ SENSITIVE = []
2362
4794
  include Aws::Structure
2363
4795
  end
2364
4796