aws-sdk-sqs 1.51.0 → 1.52.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25ae9e9a7eb3e3d4851109a3cebe1e8fcdcaa58ade8810ed85dc95c6bf76f052
4
- data.tar.gz: 44c1cbb60da9017421ed9aa9448982a058f84a9b9cce65315b9c92356f4fdea0
3
+ metadata.gz: aa1381e4583039482a81d47ab283cedc45346fae2423cd1fa24f5ae0f7b54827
4
+ data.tar.gz: c58445b61c80412dc7a140e57c1f29ff64aad1886150f8852d0f7b2184abb349
5
5
  SHA512:
6
- metadata.gz: c331171642161bb03378161964f50a73e0340aaeb5073593b0052f60002f54652e7bd3047c6a876dbb7f7632fbfd70773e71f0abe38e8e5acc63b528e5a461b9
7
- data.tar.gz: 7efd4eb375936ca605707fe01e53446c70d958fbb1dd2d78a120e46177652b13e05d22e4ba9f1606535e7fa2396a55e770d268a9808406bfdd8660f2faf48035
6
+ metadata.gz: ae12365448239d59e69007a9b659ad6d66069dde9d4d7e531e8d0cb2fbfa56d1bd090f117a9d215dc899814449a73d5bd2ea42ab29038667061224ce71bbfcb3
7
+ data.tar.gz: 2502040dd1854c374bd8c87af9bbabcfaaef718e13dd094eae0c3a0deeb559ff5f751f36f473c6d843ef7bdf93581f1d8fb7f5aeb97fde09e06f01545005434e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.52.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.51.1 (2022-05-02)
10
+ ------------------
11
+
12
+ * Issue - Parse the region from the `queue_url` param only if the component is exactly `sqs`.
13
+
4
14
  1.51.0 (2022-02-24)
5
15
  ------------------
6
16
 
@@ -345,4 +355,4 @@ Unreleased Changes
345
355
  1.0.0.rc1 (2016-12-05)
346
356
  ------------------
347
357
 
348
- * Feature - Initial preview release of the `aws-sdk-sqs` gem.
358
+ * Feature - Initial preview release of the `aws-sdk-sqs` gem.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.52.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
35
35
  require 'aws-sdk-sqs/plugins/queue_urls.rb'
36
36
  require 'aws-sdk-sqs/plugins/md5s.rb'
@@ -81,10 +81,11 @@ module Aws::SQS
81
81
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
82
  add_plugin(Aws::Plugins::DefaultsMode)
83
83
  add_plugin(Aws::Plugins::RecursionDetection)
84
- add_plugin(Aws::Plugins::SignatureV4)
84
+ add_plugin(Aws::Plugins::Sign)
85
85
  add_plugin(Aws::Plugins::Protocols::Query)
86
86
  add_plugin(Aws::SQS::Plugins::QueueUrls)
87
87
  add_plugin(Aws::SQS::Plugins::Md5s)
88
+ add_plugin(Aws::SQS::Plugins::Endpoints)
88
89
 
89
90
  # @overload initialize(options)
90
91
  # @param [Hash] options
@@ -291,6 +292,19 @@ module Aws::SQS
291
292
  # ** Please note ** When response stubbing is enabled, no HTTP
292
293
  # requests are made, and retries are disabled.
293
294
  #
295
+ # @option options [Aws::TokenProvider] :token_provider
296
+ # A Bearer Token Provider. This can be an instance of any one of the
297
+ # following classes:
298
+ #
299
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
300
+ # tokens.
301
+ #
302
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
303
+ # access token generated from `aws login`.
304
+ #
305
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
306
+ # will be used to search for tokens configured for your profile in shared configuration files.
307
+ #
294
308
  # @option options [Boolean] :use_dualstack_endpoint
295
309
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
296
310
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::SQS
310
324
  # `Aws::Errors::Checksum` errors are raised for cases where checksums do
311
325
  # not match.
312
326
  #
327
+ # @option options [Aws::SQS::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SQS::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -2486,7 +2503,7 @@ module Aws::SQS
2486
2503
  params: params,
2487
2504
  config: config)
2488
2505
  context[:gem_name] = 'aws-sdk-sqs'
2489
- context[:gem_version] = '1.51.0'
2506
+ context[:gem_version] = '1.52.0'
2490
2507
  Seahorse::Client::Request.new(handlers, context)
2491
2508
  end
2492
2509
 
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SQS
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SQS
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL3Nxcy1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlsiYXdzLXVzLWdvdiIs
89
+ eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
90
+ bHQifSwibmFtZSJdfV19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9z
91
+ cXMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJv
92
+ cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0s
93
+ eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9z
94
+ cXMtZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0i
95
+ LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9p
96
+ bnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVu
97
+ YWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQ
98
+ UyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
99
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0
100
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
101
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
102
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
103
+ b3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
104
+ Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3Fz
105
+ LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4
106
+ fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
107
+ b2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sg
108
+ aXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
109
+ dCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
110
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3FzLntSZWdpb259LntQ
111
+ YXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJo
112
+ ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
113
+
114
+ JSON
115
+ end
116
+ end
@@ -0,0 +1,295 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::SQS
12
+ module Endpoints
13
+
14
+ class AddPermission
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::SQS::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class ChangeMessageVisibility
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::SQS::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class ChangeMessageVisibilityBatch
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::SQS::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class CreateQueue
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::SQS::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ class DeleteMessage
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::SQS::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class DeleteMessageBatch
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::SQS::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
98
+ class DeleteQueue
99
+ def self.build(context)
100
+ unless context.config.regional_endpoint
101
+ endpoint = context.config.endpoint.to_s
102
+ end
103
+ Aws::SQS::EndpointParameters.new(
104
+ region: context.config.region,
105
+ use_dual_stack: context.config.use_dualstack_endpoint,
106
+ use_fips: context.config.use_fips_endpoint,
107
+ endpoint: endpoint,
108
+ )
109
+ end
110
+ end
111
+
112
+ class GetQueueAttributes
113
+ def self.build(context)
114
+ unless context.config.regional_endpoint
115
+ endpoint = context.config.endpoint.to_s
116
+ end
117
+ Aws::SQS::EndpointParameters.new(
118
+ region: context.config.region,
119
+ use_dual_stack: context.config.use_dualstack_endpoint,
120
+ use_fips: context.config.use_fips_endpoint,
121
+ endpoint: endpoint,
122
+ )
123
+ end
124
+ end
125
+
126
+ class GetQueueUrl
127
+ def self.build(context)
128
+ unless context.config.regional_endpoint
129
+ endpoint = context.config.endpoint.to_s
130
+ end
131
+ Aws::SQS::EndpointParameters.new(
132
+ region: context.config.region,
133
+ use_dual_stack: context.config.use_dualstack_endpoint,
134
+ use_fips: context.config.use_fips_endpoint,
135
+ endpoint: endpoint,
136
+ )
137
+ end
138
+ end
139
+
140
+ class ListDeadLetterSourceQueues
141
+ def self.build(context)
142
+ unless context.config.regional_endpoint
143
+ endpoint = context.config.endpoint.to_s
144
+ end
145
+ Aws::SQS::EndpointParameters.new(
146
+ region: context.config.region,
147
+ use_dual_stack: context.config.use_dualstack_endpoint,
148
+ use_fips: context.config.use_fips_endpoint,
149
+ endpoint: endpoint,
150
+ )
151
+ end
152
+ end
153
+
154
+ class ListQueueTags
155
+ def self.build(context)
156
+ unless context.config.regional_endpoint
157
+ endpoint = context.config.endpoint.to_s
158
+ end
159
+ Aws::SQS::EndpointParameters.new(
160
+ region: context.config.region,
161
+ use_dual_stack: context.config.use_dualstack_endpoint,
162
+ use_fips: context.config.use_fips_endpoint,
163
+ endpoint: endpoint,
164
+ )
165
+ end
166
+ end
167
+
168
+ class ListQueues
169
+ def self.build(context)
170
+ unless context.config.regional_endpoint
171
+ endpoint = context.config.endpoint.to_s
172
+ end
173
+ Aws::SQS::EndpointParameters.new(
174
+ region: context.config.region,
175
+ use_dual_stack: context.config.use_dualstack_endpoint,
176
+ use_fips: context.config.use_fips_endpoint,
177
+ endpoint: endpoint,
178
+ )
179
+ end
180
+ end
181
+
182
+ class PurgeQueue
183
+ def self.build(context)
184
+ unless context.config.regional_endpoint
185
+ endpoint = context.config.endpoint.to_s
186
+ end
187
+ Aws::SQS::EndpointParameters.new(
188
+ region: context.config.region,
189
+ use_dual_stack: context.config.use_dualstack_endpoint,
190
+ use_fips: context.config.use_fips_endpoint,
191
+ endpoint: endpoint,
192
+ )
193
+ end
194
+ end
195
+
196
+ class ReceiveMessage
197
+ def self.build(context)
198
+ unless context.config.regional_endpoint
199
+ endpoint = context.config.endpoint.to_s
200
+ end
201
+ Aws::SQS::EndpointParameters.new(
202
+ region: context.config.region,
203
+ use_dual_stack: context.config.use_dualstack_endpoint,
204
+ use_fips: context.config.use_fips_endpoint,
205
+ endpoint: endpoint,
206
+ )
207
+ end
208
+ end
209
+
210
+ class RemovePermission
211
+ def self.build(context)
212
+ unless context.config.regional_endpoint
213
+ endpoint = context.config.endpoint.to_s
214
+ end
215
+ Aws::SQS::EndpointParameters.new(
216
+ region: context.config.region,
217
+ use_dual_stack: context.config.use_dualstack_endpoint,
218
+ use_fips: context.config.use_fips_endpoint,
219
+ endpoint: endpoint,
220
+ )
221
+ end
222
+ end
223
+
224
+ class SendMessage
225
+ def self.build(context)
226
+ unless context.config.regional_endpoint
227
+ endpoint = context.config.endpoint.to_s
228
+ end
229
+ Aws::SQS::EndpointParameters.new(
230
+ region: context.config.region,
231
+ use_dual_stack: context.config.use_dualstack_endpoint,
232
+ use_fips: context.config.use_fips_endpoint,
233
+ endpoint: endpoint,
234
+ )
235
+ end
236
+ end
237
+
238
+ class SendMessageBatch
239
+ def self.build(context)
240
+ unless context.config.regional_endpoint
241
+ endpoint = context.config.endpoint.to_s
242
+ end
243
+ Aws::SQS::EndpointParameters.new(
244
+ region: context.config.region,
245
+ use_dual_stack: context.config.use_dualstack_endpoint,
246
+ use_fips: context.config.use_fips_endpoint,
247
+ endpoint: endpoint,
248
+ )
249
+ end
250
+ end
251
+
252
+ class SetQueueAttributes
253
+ def self.build(context)
254
+ unless context.config.regional_endpoint
255
+ endpoint = context.config.endpoint.to_s
256
+ end
257
+ Aws::SQS::EndpointParameters.new(
258
+ region: context.config.region,
259
+ use_dual_stack: context.config.use_dualstack_endpoint,
260
+ use_fips: context.config.use_fips_endpoint,
261
+ endpoint: endpoint,
262
+ )
263
+ end
264
+ end
265
+
266
+ class TagQueue
267
+ def self.build(context)
268
+ unless context.config.regional_endpoint
269
+ endpoint = context.config.endpoint.to_s
270
+ end
271
+ Aws::SQS::EndpointParameters.new(
272
+ region: context.config.region,
273
+ use_dual_stack: context.config.use_dualstack_endpoint,
274
+ use_fips: context.config.use_fips_endpoint,
275
+ endpoint: endpoint,
276
+ )
277
+ end
278
+ end
279
+
280
+ class UntagQueue
281
+ def self.build(context)
282
+ unless context.config.regional_endpoint
283
+ endpoint = context.config.endpoint.to_s
284
+ end
285
+ Aws::SQS::EndpointParameters.new(
286
+ region: context.config.region,
287
+ use_dual_stack: context.config.use_dualstack_endpoint,
288
+ use_fips: context.config.use_fips_endpoint,
289
+ endpoint: endpoint,
290
+ )
291
+ end
292
+ end
293
+
294
+ end
295
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::SQS
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::SQS::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::SQS::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::SQS::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :add_permission
60
+ Aws::SQS::Endpoints::AddPermission.build(context)
61
+ when :change_message_visibility
62
+ Aws::SQS::Endpoints::ChangeMessageVisibility.build(context)
63
+ when :change_message_visibility_batch
64
+ Aws::SQS::Endpoints::ChangeMessageVisibilityBatch.build(context)
65
+ when :create_queue
66
+ Aws::SQS::Endpoints::CreateQueue.build(context)
67
+ when :delete_message
68
+ Aws::SQS::Endpoints::DeleteMessage.build(context)
69
+ when :delete_message_batch
70
+ Aws::SQS::Endpoints::DeleteMessageBatch.build(context)
71
+ when :delete_queue
72
+ Aws::SQS::Endpoints::DeleteQueue.build(context)
73
+ when :get_queue_attributes
74
+ Aws::SQS::Endpoints::GetQueueAttributes.build(context)
75
+ when :get_queue_url
76
+ Aws::SQS::Endpoints::GetQueueUrl.build(context)
77
+ when :list_dead_letter_source_queues
78
+ Aws::SQS::Endpoints::ListDeadLetterSourceQueues.build(context)
79
+ when :list_queue_tags
80
+ Aws::SQS::Endpoints::ListQueueTags.build(context)
81
+ when :list_queues
82
+ Aws::SQS::Endpoints::ListQueues.build(context)
83
+ when :purge_queue
84
+ Aws::SQS::Endpoints::PurgeQueue.build(context)
85
+ when :receive_message
86
+ Aws::SQS::Endpoints::ReceiveMessage.build(context)
87
+ when :remove_permission
88
+ Aws::SQS::Endpoints::RemovePermission.build(context)
89
+ when :send_message
90
+ Aws::SQS::Endpoints::SendMessage.build(context)
91
+ when :send_message_batch
92
+ Aws::SQS::Endpoints::SendMessageBatch.build(context)
93
+ when :set_queue_attributes
94
+ Aws::SQS::Endpoints::SetQueueAttributes.build(context)
95
+ when :tag_queue
96
+ Aws::SQS::Endpoints::TagQueue.build(context)
97
+ when :untag_queue
98
+ Aws::SQS::Endpoints::UntagQueue.build(context)
99
+ end
100
+ end
101
+ end
102
+
103
+ def add_handlers(handlers, _config)
104
+ handlers.add(Handler, step: :build, priority: 75)
105
+ end
106
+ end
107
+ end
108
+ end
@@ -5,11 +5,10 @@ module Aws
5
5
  module Plugins
6
6
  # @api private
7
7
  class QueueUrls < Seahorse::Client::Plugin
8
-
8
+ # Extract region from a provided queue_url
9
9
  class Handler < Seahorse::Client::Handler
10
-
11
10
  def call(context)
12
- if queue_url = context.params[:queue_url]
11
+ if (queue_url = context.params[:queue_url])
13
12
  update_endpoint(context, queue_url)
14
13
  update_region(context, queue_url)
15
14
  end
@@ -21,28 +20,31 @@ module Aws
21
20
  end
22
21
 
23
22
  # If the region in the queue url is not the configured
24
- # region, then we will modify the request to have
25
- # a sigv4 signer for the proper region.
23
+ # region, then we will modify signing to use it
26
24
  def update_region(context, queue_url)
27
- if queue_region = parse_region(queue_url)
28
- if queue_region != context.config.region
29
- config = context.config.dup
30
- config.region = queue_region
31
- config.sigv4_region = queue_region
32
- config.sigv4_signer = Aws::Plugins::SignatureV4.build_signer(config)
33
- context.config = config
34
- end
25
+ if (queue_region = parse_region(queue_url)) &&
26
+ queue_region != context.config.region
27
+ context[:auth_scheme]['signingRegion'] = queue_region
35
28
  end
36
29
  end
37
30
 
38
31
  private
39
32
 
40
- # take the first component after service delimiter
41
- # https://sqs.us-east-1.amazonaws.com/1234567890/demo
42
- # https://vpce-x-y.sqs.us-east-1.vpce.amazonaws.com/1234567890/demo
33
+ # take the first component after the SQS service component
34
+ # Will return us-east-1 for:
35
+ # https://sqs.us-east-1.amazonaws.com/1234567890/demo
36
+ # https://vpce-x-y.sqs.us-east-1.vpce.amazonaws.com/1234567890/demo
37
+ # Will not return for:
38
+ # https://localstack-sqs.example.dev/queue/example
43
39
  def parse_region(url)
44
- parts = url.split('sqs.')
45
- parts[1].split('.').first if parts.size > 1
40
+ parts = URI.parse(url).host.split('.')
41
+ parts.each_with_index do |part, index|
42
+ if part == 'sqs'
43
+ # assume region is the part right after the 'sqs' part
44
+ return parts[index + 1]
45
+ end
46
+ end
47
+ nil # no region found
46
48
  end
47
49
 
48
50
  end
data/lib/aws-sdk-sqs.rb CHANGED
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-sqs/types'
15
15
  require_relative 'aws-sdk-sqs/client_api'
16
+ require_relative 'aws-sdk-sqs/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-sqs/client'
17
18
  require_relative 'aws-sdk-sqs/errors'
18
19
  require_relative 'aws-sdk-sqs/resource'
20
+ require_relative 'aws-sdk-sqs/endpoint_parameters'
21
+ require_relative 'aws-sdk-sqs/endpoint_provider'
22
+ require_relative 'aws-sdk-sqs/endpoints'
19
23
  require_relative 'aws-sdk-sqs/message'
20
24
  require_relative 'aws-sdk-sqs/queue'
21
25
  require_relative 'aws-sdk-sqs/customizations'
@@ -50,6 +54,6 @@ require_relative 'aws-sdk-sqs/customizations'
50
54
  # @!group service
51
55
  module Aws::SQS
52
56
 
53
- GEM_VERSION = '1.51.0'
57
+ GEM_VERSION = '1.52.0'
54
58
 
55
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-sqs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.51.0
4
+ version: 1.52.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-02-24 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-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,8 +59,12 @@ files:
59
59
  - lib/aws-sdk-sqs/client.rb
60
60
  - lib/aws-sdk-sqs/client_api.rb
61
61
  - lib/aws-sdk-sqs/customizations.rb
62
+ - lib/aws-sdk-sqs/endpoint_parameters.rb
63
+ - lib/aws-sdk-sqs/endpoint_provider.rb
64
+ - lib/aws-sdk-sqs/endpoints.rb
62
65
  - lib/aws-sdk-sqs/errors.rb
63
66
  - lib/aws-sdk-sqs/message.rb
67
+ - lib/aws-sdk-sqs/plugins/endpoints.rb
64
68
  - lib/aws-sdk-sqs/plugins/md5s.rb
65
69
  - lib/aws-sdk-sqs/plugins/queue_urls.rb
66
70
  - lib/aws-sdk-sqs/queue.rb