aws-sdk-s3control 1.41.1 → 1.45.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3control/arn/outpost_access_point_arn.rb +15 -9
- data/lib/aws-sdk-s3control/arn/outpost_bucket_arn.rb +13 -8
- data/lib/aws-sdk-s3control/client.rb +27 -7
- data/lib/aws-sdk-s3control/client_api.rb +6 -1
- data/lib/aws-sdk-s3control/plugins/arn.rb +12 -32
- data/lib/aws-sdk-s3control/plugins/dualstack.rb +15 -23
- data/lib/aws-sdk-s3control/plugins/s3_control_signer.rb +2 -1
- data/lib/aws-sdk-s3control/types.rb +51 -4
- data/lib/aws-sdk-s3control.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 394461af3889dea962fb922b10acb064fbeb43636554532a2d60dd196033f1f9
|
4
|
+
data.tar.gz: e934049e756a8eb3b6c4ca9f1a9ef205e7e42d1871bcb7b8ab4ba509d5135609
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 974ad600e1cbc80d0441c6fed958d1dd1d913c59d1980afee5e7652c3267607b79c57191dcd4e294c0162bb24b70ae6645013acb1aa28abd75cea5e469b77ee2
|
7
|
+
data.tar.gz: 1291604cfef869f2ee8b4ba57e2ac4629bda6b0bfc00e45ace1443e11fc65e5e59e50abe88270941e8ad93fe49936eb70badc257f651b2ce728346f52b2f1bdc
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,30 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.45.0 (2021-12-21)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
8
|
+
|
9
|
+
1.44.0 (2021-11-30)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
14
|
+
* Issue - Fix a bug where the dualstack plugin was dropping URI paths.
|
15
|
+
|
16
|
+
1.43.0 (2021-11-22)
|
17
|
+
------------------
|
18
|
+
|
19
|
+
* Feature - Added Amazon CloudWatch publishing option for S3 Storage Lens metrics.
|
20
|
+
|
21
|
+
1.42.0 (2021-11-04)
|
22
|
+
------------------
|
23
|
+
|
24
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
25
|
+
|
26
|
+
* Feature - Support FIPS endpoints for S3 Outposts using Bucket and Access Point ARNs.
|
27
|
+
|
4
28
|
1.41.1 (2021-10-20)
|
5
29
|
------------------
|
6
30
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.45.0
|
@@ -23,30 +23,36 @@ module Aws
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def support_fips?
|
26
|
-
|
26
|
+
true
|
27
27
|
end
|
28
28
|
|
29
29
|
def validate_arn!
|
30
30
|
unless @service == 's3-outposts'
|
31
|
-
raise ArgumentError, 'Must provide a valid S3
|
31
|
+
raise ArgumentError, 'Must provide a valid S3 Outpost Access '\
|
32
|
+
'Point ARN.'
|
32
33
|
end
|
33
34
|
|
34
35
|
if @region.empty? || @account_id.empty?
|
35
36
|
raise ArgumentError,
|
36
|
-
'S3
|
37
|
-
'and an
|
37
|
+
'S3 Outpost Access Point ARNs must contain both a region '\
|
38
|
+
'and an Account ID.'
|
39
|
+
end
|
40
|
+
|
41
|
+
if @region.include?('-fips') || @region.include?('fips-')
|
42
|
+
raise ArgumentError,
|
43
|
+
'S3 Outpost Access Point ARNs cannot contain a FIPS region.'
|
38
44
|
end
|
39
45
|
|
40
46
|
if @type != 'outpost' && @subtype != 'accesspoint'
|
41
|
-
raise ArgumentError, 'Invalid ARN, resource format is not correct'
|
47
|
+
raise ArgumentError, 'Invalid ARN, resource format is not correct.'
|
42
48
|
end
|
43
49
|
|
44
50
|
if @outpost_id.nil? || @outpost_id.empty?
|
45
|
-
raise ArgumentError, 'Missing ARN
|
51
|
+
raise ArgumentError, 'Missing ARN Outpost ID.'
|
46
52
|
end
|
47
53
|
|
48
54
|
if @access_point_name.nil? || @access_point_name.empty?
|
49
|
-
raise ArgumentError, 'Missing ARN
|
55
|
+
raise ArgumentError, 'Missing ARN Access Point name.'
|
50
56
|
end
|
51
57
|
|
52
58
|
if @extra
|
@@ -68,11 +74,11 @@ module Aws
|
|
68
74
|
end
|
69
75
|
|
70
76
|
# Outpost Access Point ARNs currently do not support dualstack
|
71
|
-
def host_url(region, _dualstack = false, custom_endpoint = nil)
|
77
|
+
def host_url(region, fips = false, _dualstack = false, custom_endpoint = nil)
|
72
78
|
if custom_endpoint
|
73
79
|
custom_endpoint
|
74
80
|
else
|
75
|
-
"s3-outposts.#{region}.amazonaws.com"
|
81
|
+
"s3-outposts#{'-fips' if fips}.#{region}.amazonaws.com"
|
76
82
|
end
|
77
83
|
end
|
78
84
|
end
|
@@ -28,13 +28,18 @@ module Aws
|
|
28
28
|
|
29
29
|
def validate_arn!
|
30
30
|
unless @service == 's3-outposts'
|
31
|
-
raise ArgumentError, 'Must provide a valid S3
|
31
|
+
raise ArgumentError, 'Must provide a valid S3 Outpost Bucket ARN.'
|
32
32
|
end
|
33
33
|
|
34
34
|
if @region.empty? || @account_id.empty?
|
35
35
|
raise ArgumentError,
|
36
|
-
'S3
|
37
|
-
'and an
|
36
|
+
'S3 Outpost Bucket ARNs must contain both a region '\
|
37
|
+
'and an Account ID.'
|
38
|
+
end
|
39
|
+
|
40
|
+
if @region.include?('-fips') || @region.include?('fips-')
|
41
|
+
raise ArgumentError,
|
42
|
+
'S3 Outpost Bucket ARNs cannot contain a FIPS region.'
|
38
43
|
end
|
39
44
|
|
40
45
|
if @type != 'outpost' && @subtype != 'bucket'
|
@@ -42,16 +47,16 @@ module Aws
|
|
42
47
|
end
|
43
48
|
|
44
49
|
if @outpost_id.nil? || @outpost_id.empty?
|
45
|
-
raise ArgumentError, 'Missing ARN
|
50
|
+
raise ArgumentError, 'Missing ARN Outpost ID.'
|
46
51
|
end
|
47
52
|
|
48
53
|
if @bucket_name.nil? || @bucket_name.empty?
|
49
|
-
raise ArgumentError, 'Missing ARN
|
54
|
+
raise ArgumentError, 'Missing ARN bucket name.'
|
50
55
|
end
|
51
56
|
|
52
57
|
if @extra
|
53
58
|
raise ArgumentError,
|
54
|
-
'ARN
|
59
|
+
'ARN Outpost bucket must be a single value.'
|
55
60
|
end
|
56
61
|
|
57
62
|
unless Seahorse::Util.host_label?(@outpost_id)
|
@@ -64,11 +69,11 @@ module Aws
|
|
64
69
|
end
|
65
70
|
|
66
71
|
# Outpost Bucket ARNs currently do not support dualstack
|
67
|
-
def host_url(region, _dualstack = false, custom_endpoint = nil)
|
72
|
+
def host_url(region, fips = false, _dualstack = false, custom_endpoint = nil)
|
68
73
|
if custom_endpoint
|
69
74
|
custom_endpoint
|
70
75
|
else
|
71
|
-
"s3-outposts.#{region}.amazonaws.com"
|
76
|
+
"s3-outposts#{'-fips' if fips}.#{region}.amazonaws.com"
|
72
77
|
end
|
73
78
|
end
|
74
79
|
end
|
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
|
|
27
27
|
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
|
28
28
|
require 'aws-sdk-core/plugins/transfer_encoding.rb'
|
29
29
|
require 'aws-sdk-core/plugins/http_checksum.rb'
|
30
|
+
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
30
31
|
require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
|
31
32
|
require 'aws-sdk-s3control/plugins/arn.rb'
|
32
33
|
require 'aws-sdk-s3control/plugins/dualstack.rb'
|
@@ -76,6 +77,7 @@ module Aws::S3Control
|
|
76
77
|
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
|
77
78
|
add_plugin(Aws::Plugins::TransferEncoding)
|
78
79
|
add_plugin(Aws::Plugins::HttpChecksum)
|
80
|
+
add_plugin(Aws::Plugins::DefaultsMode)
|
79
81
|
add_plugin(Aws::Plugins::Protocols::RestXml)
|
80
82
|
add_plugin(Aws::S3Control::Plugins::ARN)
|
81
83
|
add_plugin(Aws::S3Control::Plugins::Dualstack)
|
@@ -125,7 +127,9 @@ module Aws::S3Control
|
|
125
127
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
126
128
|
# are very aggressive. Construct and pass an instance of
|
127
129
|
# `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
|
128
|
-
# enable retries and extended timeouts.
|
130
|
+
# enable retries and extended timeouts. Instance profile credential
|
131
|
+
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
132
|
+
# to true.
|
129
133
|
#
|
130
134
|
# @option options [required, String] :region
|
131
135
|
# The AWS region to connect to. The configured `:region` is
|
@@ -179,6 +183,10 @@ module Aws::S3Control
|
|
179
183
|
# Used only in `standard` and adaptive retry modes. Specifies whether to apply
|
180
184
|
# a clock skew correction and retry requests with skewed client clocks.
|
181
185
|
#
|
186
|
+
# @option options [String] :defaults_mode ("legacy")
|
187
|
+
# See {Aws::DefaultsModeConfiguration} for a list of the
|
188
|
+
# accepted modes and the configuration defaults that are included.
|
189
|
+
#
|
182
190
|
# @option options [Boolean] :disable_host_prefix_injection (false)
|
183
191
|
# Set to true to disable SDK automatically adding host prefix
|
184
192
|
# to default service endpoint when available.
|
@@ -287,9 +295,14 @@ module Aws::S3Control
|
|
287
295
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
288
296
|
# requests are made, and retries are disabled.
|
289
297
|
#
|
290
|
-
# @option options [Boolean] :use_dualstack_endpoint
|
291
|
-
# When set to `true`,
|
292
|
-
#
|
298
|
+
# @option options [Boolean] :use_dualstack_endpoint
|
299
|
+
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
300
|
+
# will be used if available.
|
301
|
+
#
|
302
|
+
# @option options [Boolean] :use_fips_endpoint
|
303
|
+
# When set to `true`, fips compatible endpoints will be used if available.
|
304
|
+
# When a `fips` region is used, the region is normalized and this config
|
305
|
+
# is set to `true`.
|
293
306
|
#
|
294
307
|
# @option options [Boolean] :validate_params (true)
|
295
308
|
# When `true`, request parameters are validated before
|
@@ -302,7 +315,7 @@ module Aws::S3Control
|
|
302
315
|
# seconds to wait when opening a HTTP session before raising a
|
303
316
|
# `Timeout::Error`.
|
304
317
|
#
|
305
|
-
# @option options [
|
318
|
+
# @option options [Float] :http_read_timeout (60) The default
|
306
319
|
# number of seconds to wait for response data. This value can
|
307
320
|
# safely be set per-request on the session.
|
308
321
|
#
|
@@ -318,6 +331,9 @@ module Aws::S3Control
|
|
318
331
|
# disables this behaviour. This value can safely be set per
|
319
332
|
# request on the session.
|
320
333
|
#
|
334
|
+
# @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
|
335
|
+
# in seconds.
|
336
|
+
#
|
321
337
|
# @option options [Boolean] :http_wire_trace (false) When `true`,
|
322
338
|
# HTTP debug output will be sent to the `:logger`.
|
323
339
|
#
|
@@ -3095,6 +3111,7 @@ module Aws::S3Control
|
|
3095
3111
|
# resp.storage_lens_configuration.data_export.s3_bucket_destination.arn #=> String
|
3096
3112
|
# resp.storage_lens_configuration.data_export.s3_bucket_destination.prefix #=> String
|
3097
3113
|
# resp.storage_lens_configuration.data_export.s3_bucket_destination.encryption.ssekms.key_id #=> String
|
3114
|
+
# resp.storage_lens_configuration.data_export.cloud_watch_metrics.is_enabled #=> Boolean
|
3098
3115
|
# resp.storage_lens_configuration.is_enabled #=> Boolean
|
3099
3116
|
# resp.storage_lens_configuration.aws_org.arn #=> String
|
3100
3117
|
# resp.storage_lens_configuration.storage_lens_arn #=> String
|
@@ -4417,7 +4434,7 @@ module Aws::S3Control
|
|
4417
4434
|
# regions: ["S3AWSRegion"],
|
4418
4435
|
# },
|
4419
4436
|
# data_export: {
|
4420
|
-
# s3_bucket_destination: {
|
4437
|
+
# s3_bucket_destination: {
|
4421
4438
|
# format: "CSV", # required, accepts CSV, Parquet
|
4422
4439
|
# output_schema_version: "V_1", # required, accepts V_1
|
4423
4440
|
# account_id: "AccountId", # required
|
@@ -4431,6 +4448,9 @@ module Aws::S3Control
|
|
4431
4448
|
# },
|
4432
4449
|
# },
|
4433
4450
|
# },
|
4451
|
+
# cloud_watch_metrics: {
|
4452
|
+
# is_enabled: false, # required
|
4453
|
+
# },
|
4434
4454
|
# },
|
4435
4455
|
# is_enabled: false, # required
|
4436
4456
|
# aws_org: {
|
@@ -4652,7 +4672,7 @@ module Aws::S3Control
|
|
4652
4672
|
params: params,
|
4653
4673
|
config: config)
|
4654
4674
|
context[:gem_name] = 'aws-sdk-s3control'
|
4655
|
-
context[:gem_version] = '1.
|
4675
|
+
context[:gem_version] = '1.45.0'
|
4656
4676
|
Seahorse::Client::Request.new(handlers, context)
|
4657
4677
|
end
|
4658
4678
|
|
@@ -41,6 +41,7 @@ module Aws::S3Control
|
|
41
41
|
BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
|
42
42
|
BucketName = Shapes::StringShape.new(name: 'BucketName')
|
43
43
|
Buckets = Shapes::ListShape.new(name: 'Buckets')
|
44
|
+
CloudWatchMetrics = Shapes::StructureShape.new(name: 'CloudWatchMetrics')
|
44
45
|
ConfigId = Shapes::StringShape.new(name: 'ConfigId')
|
45
46
|
ConfirmRemoveSelfBucketAccess = Shapes::BooleanShape.new(name: 'ConfirmRemoveSelfBucketAccess')
|
46
47
|
ConfirmationRequired = Shapes::BooleanShape.new(name: 'ConfirmationRequired')
|
@@ -399,6 +400,9 @@ module Aws::S3Control
|
|
399
400
|
|
400
401
|
Buckets.member = Shapes::ShapeRef.new(shape: S3BucketArnString, location_name: "Arn")
|
401
402
|
|
403
|
+
CloudWatchMetrics.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
|
404
|
+
CloudWatchMetrics.struct_class = Types::CloudWatchMetrics
|
405
|
+
|
402
406
|
CreateAccessPointForObjectLambdaRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id", metadata: {"hostLabel"=>true, "hostLabelName"=>"AccountId"}))
|
403
407
|
CreateAccessPointForObjectLambdaRequest.add_member(:name, Shapes::ShapeRef.new(shape: ObjectLambdaAccessPointName, required: true, location: "uri", location_name: "name"))
|
404
408
|
CreateAccessPointForObjectLambdaRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ObjectLambdaConfiguration, required: true, location_name: "Configuration"))
|
@@ -1186,7 +1190,8 @@ module Aws::S3Control
|
|
1186
1190
|
|
1187
1191
|
StorageLensConfigurationList.member = Shapes::ShapeRef.new(shape: ListStorageLensConfigurationEntry, location_name: "StorageLensConfiguration")
|
1188
1192
|
|
1189
|
-
StorageLensDataExport.add_member(:s3_bucket_destination, Shapes::ShapeRef.new(shape: S3BucketDestination,
|
1193
|
+
StorageLensDataExport.add_member(:s3_bucket_destination, Shapes::ShapeRef.new(shape: S3BucketDestination, location_name: "S3BucketDestination"))
|
1194
|
+
StorageLensDataExport.add_member(:cloud_watch_metrics, Shapes::ShapeRef.new(shape: CloudWatchMetrics, location_name: "CloudWatchMetrics"))
|
1190
1195
|
StorageLensDataExport.struct_class = Types::StorageLensDataExport
|
1191
1196
|
|
1192
1197
|
StorageLensDataExportEncryption.add_member(:sses3, Shapes::ShapeRef.new(shape: SSES3, location_name: "SSE-S3"))
|
@@ -39,6 +39,7 @@ client's region instead.
|
|
39
39
|
context.http_request.endpoint,
|
40
40
|
context.metadata[:s3_arn][:arn],
|
41
41
|
context.metadata[:s3_arn][:resolved_region],
|
42
|
+
context.metadata[:s3_arn][:fips],
|
42
43
|
context.metadata[:s3_arn][:dualstack],
|
43
44
|
# if regional_endpoint is false, a custom endpoint was provided
|
44
45
|
# in this case, we want to prefix the endpoint using the ARN
|
@@ -78,6 +79,7 @@ client's region instead.
|
|
78
79
|
context.metadata[:s3_arn] = {
|
79
80
|
arn: arn,
|
80
81
|
resolved_region: resolved_region,
|
82
|
+
fips: context.config.use_fips_endpoint,
|
81
83
|
dualstack: extract_dualstack_config!(context)
|
82
84
|
}
|
83
85
|
end
|
@@ -121,8 +123,8 @@ client's region instead.
|
|
121
123
|
def validate_config!(context, arn)
|
122
124
|
if !arn.support_dualstack? && context[:use_dualstack_endpoint]
|
123
125
|
raise ArgumentError,
|
124
|
-
'Cannot provide an Outpost Access Point ARN
|
125
|
-
'`:use_dualstack_endpoint` is set to true.'
|
126
|
+
'Cannot provide an Outpost Access Point or Bucket ARN '\
|
127
|
+
'when `:use_dualstack_endpoint` is set to true.'
|
126
128
|
end
|
127
129
|
end
|
128
130
|
|
@@ -165,9 +167,9 @@ client's region instead.
|
|
165
167
|
end
|
166
168
|
|
167
169
|
# @api private
|
168
|
-
def resolve_url!(url, arn, region, dualstack = false, has_custom_endpoint = false)
|
170
|
+
def resolve_url!(url, arn, region, fips = false, dualstack = false, has_custom_endpoint = false)
|
169
171
|
custom_endpoint = url.host if has_custom_endpoint
|
170
|
-
url.host = arn.host_url(region, dualstack, custom_endpoint)
|
172
|
+
url.host = arn.host_url(region, fips, dualstack, custom_endpoint)
|
171
173
|
url
|
172
174
|
end
|
173
175
|
|
@@ -189,35 +191,13 @@ client's region instead.
|
|
189
191
|
end
|
190
192
|
|
191
193
|
def validate_region_config!(arn, region, use_arn_region)
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
unless arn.partition == 'aws' &&
|
197
|
-
(region == 's3-external-1' || region == 'aws-global')
|
198
|
-
if !fips && arn.region.include?('fips')
|
199
|
-
raise ArgumentError,
|
200
|
-
'FIPS region ARNs are not supported for this type of ARN.'
|
201
|
-
end
|
202
|
-
|
203
|
-
if !fips && !use_arn_region && region.include?('fips')
|
204
|
-
raise ArgumentError,
|
205
|
-
'FIPS client regions are not supported for this type of '\
|
206
|
-
'ARN without `:s3_use_arn_region`.'
|
207
|
-
end
|
208
|
-
|
209
|
-
# if it's a fips region, attempt to normalize it
|
210
|
-
if fips || use_arn_region
|
211
|
-
region = region.gsub('fips-', '').gsub('-fips', '')
|
212
|
-
end
|
213
|
-
if use_arn_region &&
|
214
|
-
!Aws::Partitions.partition(arn.partition).region?(region)
|
215
|
-
raise Aws::Errors::InvalidARNPartitionError
|
216
|
-
end
|
194
|
+
if use_arn_region &&
|
195
|
+
!Aws::Partitions.partition(arn.partition).region?(region)
|
196
|
+
raise Aws::Errors::InvalidARNPartitionError
|
197
|
+
end
|
217
198
|
|
218
|
-
|
219
|
-
|
220
|
-
end
|
199
|
+
if !use_arn_region && region != arn.region
|
200
|
+
raise Aws::Errors::InvalidARNRegionError
|
221
201
|
end
|
222
202
|
end
|
223
203
|
end
|
@@ -5,15 +5,6 @@ module Aws
|
|
5
5
|
module Plugins
|
6
6
|
# @api private
|
7
7
|
class Dualstack < Seahorse::Client::Plugin
|
8
|
-
|
9
|
-
option(:use_dualstack_endpoint,
|
10
|
-
default: false,
|
11
|
-
doc_type: 'Boolean',
|
12
|
-
docstring: <<-DOCS)
|
13
|
-
When set to `true`, IPv6-compatible bucket endpoints will be used
|
14
|
-
for all operations.
|
15
|
-
DOCS
|
16
|
-
|
17
8
|
def add_handlers(handlers, config)
|
18
9
|
handlers.add(OptionHandler, step: :initialize)
|
19
10
|
handlers.add(DualstackHandler, step: :build, priority: 11)
|
@@ -40,23 +31,24 @@ for all operations.
|
|
40
31
|
# @api private
|
41
32
|
class DualstackHandler < Seahorse::Client::Handler
|
42
33
|
def call(context)
|
43
|
-
if
|
44
|
-
|
34
|
+
# if it's a regional endpoint and not an ARN, then construct the
|
35
|
+
# endpoint. regional endpoint plugin uses the dualstack config
|
36
|
+
if context.config.regional_endpoint && !context.metadata[:s3_arn]
|
37
|
+
new_endpoint = Aws::Partitions::EndpointProvider.resolve(
|
38
|
+
context.config.region,
|
39
|
+
's3-control',
|
40
|
+
'regional',
|
41
|
+
{
|
42
|
+
dualstack: context[:use_dualstack_endpoint],
|
43
|
+
fips: context.config.use_fips_endpoint
|
44
|
+
}
|
45
|
+
)
|
46
|
+
endpoint = URI.parse(context.http_request.endpoint.to_s)
|
47
|
+
endpoint.host = URI.parse(new_endpoint).host
|
48
|
+
context.http_request.endpoint = endpoint
|
45
49
|
end
|
46
50
|
@handler.call(context)
|
47
51
|
end
|
48
|
-
|
49
|
-
private
|
50
|
-
def apply_dualstack_endpoint(context)
|
51
|
-
region = context.config.region
|
52
|
-
dns_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
|
53
|
-
host = "s3-control.dualstack.#{region}.#{dns_suffix}"
|
54
|
-
endpoint = URI.parse(context.http_request.endpoint.to_s)
|
55
|
-
endpoint.scheme = context.http_request.endpoint.scheme
|
56
|
-
endpoint.port = context.http_request.endpoint.port
|
57
|
-
endpoint.host = host
|
58
|
-
context.http_request.endpoint = endpoint.to_s
|
59
|
-
end
|
60
52
|
end
|
61
53
|
|
62
54
|
end
|
@@ -54,8 +54,9 @@ module Aws
|
|
54
54
|
# outpost operations should go to the outposts endpoint only if
|
55
55
|
# it's not a custom endpoint. the ARN class changes this for ARNs
|
56
56
|
if context.config.regional_endpoint
|
57
|
+
fips = context.config.use_fips_endpoint
|
57
58
|
context.http_request.endpoint.host =
|
58
|
-
"s3-outposts.#{context.config.region}.amazonaws.com"
|
59
|
+
"s3-outposts#{'-fips' if fips}.#{context.config.region}.amazonaws.com"
|
59
60
|
end
|
60
61
|
S3ControlSigner.build_v4_signer(
|
61
62
|
service: 's3-outposts',
|
@@ -370,6 +370,38 @@ module Aws::S3Control
|
|
370
370
|
include Aws::Structure
|
371
371
|
end
|
372
372
|
|
373
|
+
# A container for enabling Amazon CloudWatch publishing for S3 Storage
|
374
|
+
# Lens metrics.
|
375
|
+
#
|
376
|
+
# For more information about publishing S3 Storage Lens metrics to
|
377
|
+
# CloudWatch, see [Monitor S3 Storage Lens metrics in CloudWatch][1] in
|
378
|
+
# the *Amazon S3 User Guide*.
|
379
|
+
#
|
380
|
+
#
|
381
|
+
#
|
382
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_view_metrics_cloudwatch.html
|
383
|
+
#
|
384
|
+
# @note When making an API call, you may pass CloudWatchMetrics
|
385
|
+
# data as a hash:
|
386
|
+
#
|
387
|
+
# {
|
388
|
+
# is_enabled: false, # required
|
389
|
+
# }
|
390
|
+
#
|
391
|
+
# @!attribute [rw] is_enabled
|
392
|
+
# A container that indicates whether CloudWatch publishing for S3
|
393
|
+
# Storage Lens metrics is enabled. A value of `true` indicates that
|
394
|
+
# CloudWatch publishing for S3 Storage Lens metrics is enabled.
|
395
|
+
# @return [Boolean]
|
396
|
+
#
|
397
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CloudWatchMetrics AWS API Documentation
|
398
|
+
#
|
399
|
+
class CloudWatchMetrics < Struct.new(
|
400
|
+
:is_enabled)
|
401
|
+
SENSITIVE = []
|
402
|
+
include Aws::Structure
|
403
|
+
end
|
404
|
+
|
373
405
|
# @note When making an API call, you may pass CreateAccessPointForObjectLambdaRequest
|
374
406
|
# data as a hash:
|
375
407
|
#
|
@@ -4932,7 +4964,7 @@ module Aws::S3Control
|
|
4932
4964
|
# regions: ["S3AWSRegion"],
|
4933
4965
|
# },
|
4934
4966
|
# data_export: {
|
4935
|
-
# s3_bucket_destination: {
|
4967
|
+
# s3_bucket_destination: {
|
4936
4968
|
# format: "CSV", # required, accepts CSV, Parquet
|
4937
4969
|
# output_schema_version: "V_1", # required, accepts V_1
|
4938
4970
|
# account_id: "AccountId", # required
|
@@ -4946,6 +4978,9 @@ module Aws::S3Control
|
|
4946
4978
|
# },
|
4947
4979
|
# },
|
4948
4980
|
# },
|
4981
|
+
# cloud_watch_metrics: {
|
4982
|
+
# is_enabled: false, # required
|
4983
|
+
# },
|
4949
4984
|
# },
|
4950
4985
|
# is_enabled: false, # required
|
4951
4986
|
# aws_org: {
|
@@ -5980,7 +6015,7 @@ module Aws::S3Control
|
|
5980
6015
|
# regions: ["S3AWSRegion"],
|
5981
6016
|
# },
|
5982
6017
|
# data_export: {
|
5983
|
-
# s3_bucket_destination: {
|
6018
|
+
# s3_bucket_destination: {
|
5984
6019
|
# format: "CSV", # required, accepts CSV, Parquet
|
5985
6020
|
# output_schema_version: "V_1", # required, accepts V_1
|
5986
6021
|
# account_id: "AccountId", # required
|
@@ -5994,6 +6029,9 @@ module Aws::S3Control
|
|
5994
6029
|
# },
|
5995
6030
|
# },
|
5996
6031
|
# },
|
6032
|
+
# cloud_watch_metrics: {
|
6033
|
+
# is_enabled: false, # required
|
6034
|
+
# },
|
5997
6035
|
# },
|
5998
6036
|
# is_enabled: false, # required
|
5999
6037
|
# aws_org: {
|
@@ -6067,7 +6105,7 @@ module Aws::S3Control
|
|
6067
6105
|
# data as a hash:
|
6068
6106
|
#
|
6069
6107
|
# {
|
6070
|
-
# s3_bucket_destination: {
|
6108
|
+
# s3_bucket_destination: {
|
6071
6109
|
# format: "CSV", # required, accepts CSV, Parquet
|
6072
6110
|
# output_schema_version: "V_1", # required, accepts V_1
|
6073
6111
|
# account_id: "AccountId", # required
|
@@ -6081,6 +6119,9 @@ module Aws::S3Control
|
|
6081
6119
|
# },
|
6082
6120
|
# },
|
6083
6121
|
# },
|
6122
|
+
# cloud_watch_metrics: {
|
6123
|
+
# is_enabled: false, # required
|
6124
|
+
# },
|
6084
6125
|
# }
|
6085
6126
|
#
|
6086
6127
|
# @!attribute [rw] s3_bucket_destination
|
@@ -6093,10 +6134,16 @@ module Aws::S3Control
|
|
6093
6134
|
# </note>
|
6094
6135
|
# @return [Types::S3BucketDestination]
|
6095
6136
|
#
|
6137
|
+
# @!attribute [rw] cloud_watch_metrics
|
6138
|
+
# A container for enabling Amazon CloudWatch publishing for S3 Storage
|
6139
|
+
# Lens metrics.
|
6140
|
+
# @return [Types::CloudWatchMetrics]
|
6141
|
+
#
|
6096
6142
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/StorageLensDataExport AWS API Documentation
|
6097
6143
|
#
|
6098
6144
|
class StorageLensDataExport < Struct.new(
|
6099
|
-
:s3_bucket_destination
|
6145
|
+
:s3_bucket_destination,
|
6146
|
+
:cloud_watch_metrics)
|
6100
6147
|
SENSITIVE = []
|
6101
6148
|
include Aws::Structure
|
6102
6149
|
end
|
data/lib/aws-sdk-s3control.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-s3control
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.45.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sigv4
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: '3'
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 3.
|
36
|
+
version: 3.125.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '3'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 3.
|
46
|
+
version: 3.125.0
|
47
47
|
description: Official AWS Ruby gem for AWS S3 Control. This gem is part of the AWS
|
48
48
|
SDK for Ruby.
|
49
49
|
email:
|