aws-sdk-sqs 1.51.0 → 1.52.0

Sign up to get free protection for your applications and to get access to all the features.
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