aws-sdk-s3control 1.53.0 → 1.54.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.
@@ -406,7 +406,7 @@ module Aws::S3Control
406
406
  # data as a hash:
407
407
  #
408
408
  # {
409
- # account_id: "AccountId", # required
409
+ # account_id: "AccountId",
410
410
  # name: "ObjectLambdaAccessPointName", # required
411
411
  # configuration: { # required
412
412
  # supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
@@ -465,7 +465,7 @@ module Aws::S3Control
465
465
  # data as a hash:
466
466
  #
467
467
  # {
468
- # account_id: "AccountId", # required
468
+ # account_id: "AccountId",
469
469
  # name: "AccessPointName", # required
470
470
  # bucket: "BucketName", # required
471
471
  # vpc_configuration: {
@@ -733,7 +733,7 @@ module Aws::S3Control
733
733
  # data as a hash:
734
734
  #
735
735
  # {
736
- # account_id: "AccountId", # required
736
+ # account_id: "AccountId",
737
737
  # confirmation_required: false,
738
738
  # operation: { # required
739
739
  # lambda_invoke: {
@@ -1052,7 +1052,7 @@ module Aws::S3Control
1052
1052
  # data as a hash:
1053
1053
  #
1054
1054
  # {
1055
- # account_id: "AccountId", # required
1055
+ # account_id: "AccountId",
1056
1056
  # client_token: "MultiRegionAccessPointClientToken", # required
1057
1057
  # details: { # required
1058
1058
  # name: "MultiRegionAccessPointName", # required
@@ -1121,7 +1121,7 @@ module Aws::S3Control
1121
1121
  # data as a hash:
1122
1122
  #
1123
1123
  # {
1124
- # account_id: "AccountId", # required
1124
+ # account_id: "AccountId",
1125
1125
  # name: "ObjectLambdaAccessPointName", # required
1126
1126
  # }
1127
1127
  #
@@ -1147,7 +1147,7 @@ module Aws::S3Control
1147
1147
  # data as a hash:
1148
1148
  #
1149
1149
  # {
1150
- # account_id: "AccountId", # required
1150
+ # account_id: "AccountId",
1151
1151
  # name: "ObjectLambdaAccessPointName", # required
1152
1152
  # }
1153
1153
  #
@@ -1174,7 +1174,7 @@ module Aws::S3Control
1174
1174
  # data as a hash:
1175
1175
  #
1176
1176
  # {
1177
- # account_id: "AccountId", # required
1177
+ # account_id: "AccountId",
1178
1178
  # name: "AccessPointName", # required
1179
1179
  # }
1180
1180
  #
@@ -1212,7 +1212,7 @@ module Aws::S3Control
1212
1212
  # data as a hash:
1213
1213
  #
1214
1214
  # {
1215
- # account_id: "AccountId", # required
1215
+ # account_id: "AccountId",
1216
1216
  # name: "AccessPointName", # required
1217
1217
  # }
1218
1218
  #
@@ -1250,7 +1250,7 @@ module Aws::S3Control
1250
1250
  # data as a hash:
1251
1251
  #
1252
1252
  # {
1253
- # account_id: "AccountId", # required
1253
+ # account_id: "AccountId",
1254
1254
  # bucket: "BucketName", # required
1255
1255
  # }
1256
1256
  #
@@ -1288,7 +1288,7 @@ module Aws::S3Control
1288
1288
  # data as a hash:
1289
1289
  #
1290
1290
  # {
1291
- # account_id: "AccountId", # required
1291
+ # account_id: "AccountId",
1292
1292
  # bucket: "BucketName", # required
1293
1293
  # }
1294
1294
  #
@@ -1326,7 +1326,7 @@ module Aws::S3Control
1326
1326
  # data as a hash:
1327
1327
  #
1328
1328
  # {
1329
- # account_id: "AccountId", # required
1329
+ # account_id: "AccountId",
1330
1330
  # bucket: "BucketName", # required
1331
1331
  # }
1332
1332
  #
@@ -1364,7 +1364,7 @@ module Aws::S3Control
1364
1364
  # data as a hash:
1365
1365
  #
1366
1366
  # {
1367
- # account_id: "AccountId", # required
1367
+ # account_id: "AccountId",
1368
1368
  # bucket: "BucketName", # required
1369
1369
  # }
1370
1370
  #
@@ -1403,7 +1403,7 @@ module Aws::S3Control
1403
1403
  # data as a hash:
1404
1404
  #
1405
1405
  # {
1406
- # account_id: "AccountId", # required
1406
+ # account_id: "AccountId",
1407
1407
  # job_id: "JobId", # required
1408
1408
  # }
1409
1409
  #
@@ -1461,7 +1461,7 @@ module Aws::S3Control
1461
1461
  # data as a hash:
1462
1462
  #
1463
1463
  # {
1464
- # account_id: "AccountId", # required
1464
+ # account_id: "AccountId",
1465
1465
  # client_token: "MultiRegionAccessPointClientToken", # required
1466
1466
  # details: { # required
1467
1467
  # name: "MultiRegionAccessPointName", # required
@@ -1518,7 +1518,7 @@ module Aws::S3Control
1518
1518
  # data as a hash:
1519
1519
  #
1520
1520
  # {
1521
- # account_id: "AccountId", # required
1521
+ # account_id: "AccountId",
1522
1522
  # }
1523
1523
  #
1524
1524
  # @!attribute [rw] account_id
@@ -1539,7 +1539,7 @@ module Aws::S3Control
1539
1539
  #
1540
1540
  # {
1541
1541
  # config_id: "ConfigId", # required
1542
- # account_id: "AccountId", # required
1542
+ # account_id: "AccountId",
1543
1543
  # }
1544
1544
  #
1545
1545
  # @!attribute [rw] config_id
@@ -1564,7 +1564,7 @@ module Aws::S3Control
1564
1564
  #
1565
1565
  # {
1566
1566
  # config_id: "ConfigId", # required
1567
- # account_id: "AccountId", # required
1567
+ # account_id: "AccountId",
1568
1568
  # }
1569
1569
  #
1570
1570
  # @!attribute [rw] config_id
@@ -1592,7 +1592,7 @@ module Aws::S3Control
1592
1592
  # data as a hash:
1593
1593
  #
1594
1594
  # {
1595
- # account_id: "AccountId", # required
1595
+ # account_id: "AccountId",
1596
1596
  # job_id: "JobId", # required
1597
1597
  # }
1598
1598
  #
@@ -1631,7 +1631,7 @@ module Aws::S3Control
1631
1631
  # data as a hash:
1632
1632
  #
1633
1633
  # {
1634
- # account_id: "AccountId", # required
1634
+ # account_id: "AccountId",
1635
1635
  # request_token_arn: "AsyncRequestTokenARN", # required
1636
1636
  # }
1637
1637
  #
@@ -1753,7 +1753,7 @@ module Aws::S3Control
1753
1753
  # data as a hash:
1754
1754
  #
1755
1755
  # {
1756
- # account_id: "AccountId", # required
1756
+ # account_id: "AccountId",
1757
1757
  # name: "ObjectLambdaAccessPointName", # required
1758
1758
  # }
1759
1759
  #
@@ -1792,7 +1792,7 @@ module Aws::S3Control
1792
1792
  # data as a hash:
1793
1793
  #
1794
1794
  # {
1795
- # account_id: "AccountId", # required
1795
+ # account_id: "AccountId",
1796
1796
  # name: "ObjectLambdaAccessPointName", # required
1797
1797
  # }
1798
1798
  #
@@ -1842,7 +1842,7 @@ module Aws::S3Control
1842
1842
  # data as a hash:
1843
1843
  #
1844
1844
  # {
1845
- # account_id: "AccountId", # required
1845
+ # account_id: "AccountId",
1846
1846
  # name: "ObjectLambdaAccessPointName", # required
1847
1847
  # }
1848
1848
  #
@@ -1880,7 +1880,7 @@ module Aws::S3Control
1880
1880
  # data as a hash:
1881
1881
  #
1882
1882
  # {
1883
- # account_id: "AccountId", # required
1883
+ # account_id: "AccountId",
1884
1884
  # name: "AccessPointName", # required
1885
1885
  # }
1886
1886
  #
@@ -1930,7 +1930,7 @@ module Aws::S3Control
1930
1930
  # data as a hash:
1931
1931
  #
1932
1932
  # {
1933
- # account_id: "AccountId", # required
1933
+ # account_id: "AccountId",
1934
1934
  # name: "ObjectLambdaAccessPointName", # required
1935
1935
  # }
1936
1936
  #
@@ -1975,7 +1975,7 @@ module Aws::S3Control
1975
1975
  # data as a hash:
1976
1976
  #
1977
1977
  # {
1978
- # account_id: "AccountId", # required
1978
+ # account_id: "AccountId",
1979
1979
  # name: "AccessPointName", # required
1980
1980
  # }
1981
1981
  #
@@ -2013,7 +2013,7 @@ module Aws::S3Control
2013
2013
  # data as a hash:
2014
2014
  #
2015
2015
  # {
2016
- # account_id: "AccountId", # required
2016
+ # account_id: "AccountId",
2017
2017
  # name: "AccessPointName", # required
2018
2018
  # }
2019
2019
  #
@@ -2127,7 +2127,7 @@ module Aws::S3Control
2127
2127
  # data as a hash:
2128
2128
  #
2129
2129
  # {
2130
- # account_id: "AccountId", # required
2130
+ # account_id: "AccountId",
2131
2131
  # bucket: "BucketName", # required
2132
2132
  # }
2133
2133
  #
@@ -2177,7 +2177,7 @@ module Aws::S3Control
2177
2177
  # data as a hash:
2178
2178
  #
2179
2179
  # {
2180
- # account_id: "AccountId", # required
2180
+ # account_id: "AccountId",
2181
2181
  # bucket: "BucketName", # required
2182
2182
  # }
2183
2183
  #
@@ -2227,7 +2227,7 @@ module Aws::S3Control
2227
2227
  # data as a hash:
2228
2228
  #
2229
2229
  # {
2230
- # account_id: "AccountId", # required
2230
+ # account_id: "AccountId",
2231
2231
  # bucket: "BucketName", # required
2232
2232
  # }
2233
2233
  #
@@ -2286,7 +2286,7 @@ module Aws::S3Control
2286
2286
  # data as a hash:
2287
2287
  #
2288
2288
  # {
2289
- # account_id: "AccountId", # required
2289
+ # account_id: "AccountId",
2290
2290
  # bucket: "BucketName", # required
2291
2291
  # }
2292
2292
  #
@@ -2336,7 +2336,7 @@ module Aws::S3Control
2336
2336
  # data as a hash:
2337
2337
  #
2338
2338
  # {
2339
- # account_id: "AccountId", # required
2339
+ # account_id: "AccountId",
2340
2340
  # bucket: "BucketName", # required
2341
2341
  # }
2342
2342
  #
@@ -2381,7 +2381,7 @@ module Aws::S3Control
2381
2381
  # data as a hash:
2382
2382
  #
2383
2383
  # {
2384
- # account_id: "AccountId", # required
2384
+ # account_id: "AccountId",
2385
2385
  # job_id: "JobId", # required
2386
2386
  # }
2387
2387
  #
@@ -2420,7 +2420,7 @@ module Aws::S3Control
2420
2420
  # data as a hash:
2421
2421
  #
2422
2422
  # {
2423
- # account_id: "AccountId", # required
2423
+ # account_id: "AccountId",
2424
2424
  # name: "MultiRegionAccessPointName", # required
2425
2425
  # }
2426
2426
  #
@@ -2466,7 +2466,7 @@ module Aws::S3Control
2466
2466
  # data as a hash:
2467
2467
  #
2468
2468
  # {
2469
- # account_id: "AccountId", # required
2469
+ # account_id: "AccountId",
2470
2470
  # name: "MultiRegionAccessPointName", # required
2471
2471
  # }
2472
2472
  #
@@ -2519,7 +2519,7 @@ module Aws::S3Control
2519
2519
  # data as a hash:
2520
2520
  #
2521
2521
  # {
2522
- # account_id: "AccountId", # required
2522
+ # account_id: "AccountId",
2523
2523
  # name: "MultiRegionAccessPointName", # required
2524
2524
  # }
2525
2525
  #
@@ -2580,7 +2580,7 @@ module Aws::S3Control
2580
2580
  # data as a hash:
2581
2581
  #
2582
2582
  # {
2583
- # account_id: "AccountId", # required
2583
+ # account_id: "AccountId",
2584
2584
  # }
2585
2585
  #
2586
2586
  # @!attribute [rw] account_id
@@ -2601,7 +2601,7 @@ module Aws::S3Control
2601
2601
  #
2602
2602
  # {
2603
2603
  # config_id: "ConfigId", # required
2604
- # account_id: "AccountId", # required
2604
+ # account_id: "AccountId",
2605
2605
  # }
2606
2606
  #
2607
2607
  # @!attribute [rw] config_id
@@ -2638,7 +2638,7 @@ module Aws::S3Control
2638
2638
  #
2639
2639
  # {
2640
2640
  # config_id: "ConfigId", # required
2641
- # account_id: "AccountId", # required
2641
+ # account_id: "AccountId",
2642
2642
  # }
2643
2643
  #
2644
2644
  # @!attribute [rw] config_id
@@ -3749,7 +3749,7 @@ module Aws::S3Control
3749
3749
  # data as a hash:
3750
3750
  #
3751
3751
  # {
3752
- # account_id: "AccountId", # required
3752
+ # account_id: "AccountId",
3753
3753
  # next_token: "NonEmptyMaxLength1024String",
3754
3754
  # max_results: 1,
3755
3755
  # }
@@ -3809,7 +3809,7 @@ module Aws::S3Control
3809
3809
  # data as a hash:
3810
3810
  #
3811
3811
  # {
3812
- # account_id: "AccountId", # required
3812
+ # account_id: "AccountId",
3813
3813
  # bucket: "BucketName",
3814
3814
  # next_token: "NonEmptyMaxLength1024String",
3815
3815
  # max_results: 1,
@@ -3889,7 +3889,7 @@ module Aws::S3Control
3889
3889
  # data as a hash:
3890
3890
  #
3891
3891
  # {
3892
- # account_id: "AccountId", # required
3892
+ # account_id: "AccountId",
3893
3893
  # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
3894
3894
  # next_token: "StringForNextToken",
3895
3895
  # max_results: 1,
@@ -3953,7 +3953,7 @@ module Aws::S3Control
3953
3953
  # data as a hash:
3954
3954
  #
3955
3955
  # {
3956
- # account_id: "AccountId", # required
3956
+ # account_id: "AccountId",
3957
3957
  # next_token: "NonEmptyMaxLength1024String",
3958
3958
  # max_results: 1,
3959
3959
  # }
@@ -4005,7 +4005,7 @@ module Aws::S3Control
4005
4005
  # data as a hash:
4006
4006
  #
4007
4007
  # {
4008
- # account_id: "AccountId", # required
4008
+ # account_id: "AccountId",
4009
4009
  # next_token: "NonEmptyMaxLength1024String",
4010
4010
  # max_results: 1,
4011
4011
  # outpost_id: "NonEmptyMaxLength64String",
@@ -4098,7 +4098,7 @@ module Aws::S3Control
4098
4098
  # data as a hash:
4099
4099
  #
4100
4100
  # {
4101
- # account_id: "AccountId", # required
4101
+ # account_id: "AccountId",
4102
4102
  # next_token: "ContinuationToken",
4103
4103
  # }
4104
4104
  #
@@ -4674,7 +4674,7 @@ module Aws::S3Control
4674
4674
  # data as a hash:
4675
4675
  #
4676
4676
  # {
4677
- # account_id: "AccountId", # required
4677
+ # account_id: "AccountId",
4678
4678
  # name: "ObjectLambdaAccessPointName", # required
4679
4679
  # configuration: { # required
4680
4680
  # supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
@@ -4721,7 +4721,7 @@ module Aws::S3Control
4721
4721
  # data as a hash:
4722
4722
  #
4723
4723
  # {
4724
- # account_id: "AccountId", # required
4724
+ # account_id: "AccountId",
4725
4725
  # name: "ObjectLambdaAccessPointName", # required
4726
4726
  # policy: "ObjectLambdaPolicy", # required
4727
4727
  # }
@@ -4753,7 +4753,7 @@ module Aws::S3Control
4753
4753
  # data as a hash:
4754
4754
  #
4755
4755
  # {
4756
- # account_id: "AccountId", # required
4756
+ # account_id: "AccountId",
4757
4757
  # name: "AccessPointName", # required
4758
4758
  # policy: "Policy", # required
4759
4759
  # }
@@ -4806,7 +4806,7 @@ module Aws::S3Control
4806
4806
  # data as a hash:
4807
4807
  #
4808
4808
  # {
4809
- # account_id: "AccountId", # required
4809
+ # account_id: "AccountId",
4810
4810
  # bucket: "BucketName", # required
4811
4811
  # lifecycle_configuration: {
4812
4812
  # rules: [
@@ -4884,7 +4884,7 @@ module Aws::S3Control
4884
4884
  # data as a hash:
4885
4885
  #
4886
4886
  # {
4887
- # account_id: "AccountId", # required
4887
+ # account_id: "AccountId",
4888
4888
  # bucket: "BucketName", # required
4889
4889
  # confirm_remove_self_bucket_access: false,
4890
4890
  # policy: "Policy", # required
@@ -4939,7 +4939,7 @@ module Aws::S3Control
4939
4939
  # data as a hash:
4940
4940
  #
4941
4941
  # {
4942
- # account_id: "AccountId", # required
4942
+ # account_id: "AccountId",
4943
4943
  # bucket: "BucketName", # required
4944
4944
  # tagging: { # required
4945
4945
  # tag_set: [ # required
@@ -4989,7 +4989,7 @@ module Aws::S3Control
4989
4989
  # data as a hash:
4990
4990
  #
4991
4991
  # {
4992
- # account_id: "AccountId", # required
4992
+ # account_id: "AccountId",
4993
4993
  # bucket: "BucketName", # required
4994
4994
  # mfa: "MFA",
4995
4995
  # versioning_configuration: { # required
@@ -5031,7 +5031,7 @@ module Aws::S3Control
5031
5031
  # data as a hash:
5032
5032
  #
5033
5033
  # {
5034
- # account_id: "AccountId", # required
5034
+ # account_id: "AccountId",
5035
5035
  # job_id: "JobId", # required
5036
5036
  # tags: [ # required
5037
5037
  # {
@@ -5106,7 +5106,7 @@ module Aws::S3Control
5106
5106
  # data as a hash:
5107
5107
  #
5108
5108
  # {
5109
- # account_id: "AccountId", # required
5109
+ # account_id: "AccountId",
5110
5110
  # client_token: "MultiRegionAccessPointClientToken", # required
5111
5111
  # details: { # required
5112
5112
  # name: "MultiRegionAccessPointName", # required
@@ -5170,7 +5170,7 @@ module Aws::S3Control
5170
5170
  # block_public_policy: false,
5171
5171
  # restrict_public_buckets: false,
5172
5172
  # },
5173
- # account_id: "AccountId", # required
5173
+ # account_id: "AccountId",
5174
5174
  # }
5175
5175
  #
5176
5176
  # @!attribute [rw] public_access_block_configuration
@@ -5197,7 +5197,7 @@ module Aws::S3Control
5197
5197
  #
5198
5198
  # {
5199
5199
  # config_id: "ConfigId", # required
5200
- # account_id: "AccountId", # required
5200
+ # account_id: "AccountId",
5201
5201
  # storage_lens_configuration: { # required
5202
5202
  # id: "ConfigId", # required
5203
5203
  # account_level: { # required
@@ -5297,7 +5297,7 @@ module Aws::S3Control
5297
5297
  #
5298
5298
  # {
5299
5299
  # config_id: "ConfigId", # required
5300
- # account_id: "AccountId", # required
5300
+ # account_id: "AccountId",
5301
5301
  # tags: [ # required
5302
5302
  # {
5303
5303
  # key: "TagKeyString", # required
@@ -6762,7 +6762,7 @@ module Aws::S3Control
6762
6762
  # data as a hash:
6763
6763
  #
6764
6764
  # {
6765
- # account_id: "AccountId", # required
6765
+ # account_id: "AccountId",
6766
6766
  # job_id: "JobId", # required
6767
6767
  # priority: 1, # required
6768
6768
  # }
@@ -6811,7 +6811,7 @@ module Aws::S3Control
6811
6811
  # data as a hash:
6812
6812
  #
6813
6813
  # {
6814
- # account_id: "AccountId", # required
6814
+ # account_id: "AccountId",
6815
6815
  # job_id: "JobId", # required
6816
6816
  # requested_job_status: "Cancelled", # required, accepts Cancelled, Ready
6817
6817
  # status_update_reason: "JobStatusUpdateReason",
@@ -13,9 +13,13 @@ require 'aws-sdk-core'
13
13
 
14
14
  require_relative 'aws-sdk-s3control/types'
15
15
  require_relative 'aws-sdk-s3control/client_api'
16
+ require_relative 'aws-sdk-s3control/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-s3control/client'
17
18
  require_relative 'aws-sdk-s3control/errors'
18
19
  require_relative 'aws-sdk-s3control/resource'
20
+ require_relative 'aws-sdk-s3control/endpoint_parameters'
21
+ require_relative 'aws-sdk-s3control/endpoint_provider'
22
+ require_relative 'aws-sdk-s3control/endpoints'
19
23
  require_relative 'aws-sdk-s3control/customizations'
20
24
 
21
25
  # This module provides support for AWS S3 Control. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-s3control/customizations'
48
52
  # @!group service
49
53
  module Aws::S3Control
50
54
 
51
- GEM_VERSION = '1.53.0'
55
+ GEM_VERSION = '1.54.0'
52
56
 
53
57
  end
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.53.0
4
+ version: 1.54.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: 2022-10-19 00:00:00.000000000 Z
11
+ date: 2022-10-25 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.127.0
36
+ version: 3.165.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.127.0
46
+ version: 3.165.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:
@@ -61,10 +61,13 @@ files:
61
61
  - lib/aws-sdk-s3control/client.rb
62
62
  - lib/aws-sdk-s3control/client_api.rb
63
63
  - lib/aws-sdk-s3control/customizations.rb
64
+ - lib/aws-sdk-s3control/endpoint_parameters.rb
65
+ - lib/aws-sdk-s3control/endpoint_provider.rb
66
+ - lib/aws-sdk-s3control/endpoints.rb
64
67
  - lib/aws-sdk-s3control/errors.rb
65
68
  - lib/aws-sdk-s3control/plugins/arn.rb
66
69
  - lib/aws-sdk-s3control/plugins/dualstack.rb
67
- - lib/aws-sdk-s3control/plugins/s3_control_signer.rb
70
+ - lib/aws-sdk-s3control/plugins/endpoints.rb
68
71
  - lib/aws-sdk-s3control/plugins/s3_host_id.rb
69
72
  - lib/aws-sdk-s3control/resource.rb
70
73
  - lib/aws-sdk-s3control/types.rb
@@ -1,97 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'aws-sigv4'
4
-
5
- module Aws
6
- module S3Control
7
- module Plugins
8
- # This plugin is an implementation detail and may be modified.
9
- # @api private
10
- class S3ControlSigner < Seahorse::Client::Plugin
11
- SPECIAL_OUTPOST_OPERATIONS = [
12
- 'CreateBucket',
13
- 'ListRegionalBuckets'
14
- ].freeze
15
-
16
- option(:sigv4_signer) do |cfg|
17
- S3ControlSigner.build_v4_signer(
18
- service: 's3',
19
- region: cfg.sigv4_region,
20
- credentials: cfg.credentials
21
- )
22
- end
23
-
24
- option(:sigv4_region) do |cfg|
25
- raise Aws::Errors::MissingRegionError if cfg.region.nil?
26
-
27
- Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3-control')
28
- end
29
-
30
- def add_handlers(handlers, _cfg)
31
- handlers.add(V4Handler, step: :sign)
32
- end
33
-
34
- class V4Handler < Seahorse::Client::Handler
35
- def call(context)
36
- Aws::Plugins::SignatureV4.apply_signature(
37
- context: context,
38
- signer: sigv4_signer(context)
39
- )
40
- @handler.call(context)
41
- end
42
-
43
- private
44
-
45
- def sigv4_signer(context)
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
- # outpost operations should go to the outposts endpoint only if
55
- # it's not a custom endpoint. the ARN class changes this for ARNs
56
- if context.config.regional_endpoint
57
- fips = context.config.use_fips_endpoint
58
- context.http_request.endpoint.host =
59
- "s3-outposts#{'-fips' if fips}.#{context.config.region}.amazonaws.com"
60
- end
61
- S3ControlSigner.build_v4_signer(
62
- service: 's3-outposts',
63
- region: context.config.region,
64
- credentials: context.config.credentials
65
- )
66
- else
67
- context.config.sigv4_signer
68
- end
69
- end
70
-
71
- # Some operations do not take an ARN parameter and are special cases
72
- # For these operations, the presence of the outpost_id parameter
73
- # must trigger special endpoint and signer redirection
74
- def outpost_operation?(context)
75
- SPECIAL_OUTPOST_OPERATIONS.include?(context.operation.name) &&
76
- context.params[:outpost_id]
77
- end
78
- end
79
-
80
- class << self
81
- # @option options [required, String] :region
82
- # @option options [required, #credentials] :credentials
83
- # @api private
84
- def build_v4_signer(options = {})
85
- Aws::Sigv4::Signer.new(
86
- service: options[:service],
87
- region: options[:region],
88
- credentials_provider: options[:credentials],
89
- uri_escape_path: false,
90
- unsigned_headers: ['content-length', 'x-amzn-trace-id']
91
- )
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end