aws-sdk-s3control 1.20.1 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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