aws-sdk-s3control 1.41.1 → 1.45.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.
- 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:
|