aws-sdk-sqs 1.67.0 → 1.89.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.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -31,13 +32,12 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
32
  require 'aws-sdk-core/plugins/request_compression.rb'
32
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
33
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
34
36
  require 'aws-sdk-core/plugins/sign.rb'
35
37
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
36
38
  require 'aws-sdk-sqs/plugins/queue_urls.rb'
37
39
  require 'aws-sdk-sqs/plugins/md5s.rb'
38
40
 
39
- Aws::Plugins::GlobalConfiguration.add_identifier(:sqs)
40
-
41
41
  module Aws::SQS
42
42
  # An API client for SQS. To construct a client, you need to configure a `:region` and `:credentials`.
43
43
  #
@@ -74,6 +74,7 @@ module Aws::SQS
74
74
  add_plugin(Aws::Plugins::ResponsePaging)
75
75
  add_plugin(Aws::Plugins::StubResponses)
76
76
  add_plugin(Aws::Plugins::IdempotencyToken)
77
+ add_plugin(Aws::Plugins::InvocationId)
77
78
  add_plugin(Aws::Plugins::JsonvalueConverter)
78
79
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
79
80
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -83,6 +84,7 @@ module Aws::SQS
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
89
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
90
  add_plugin(Aws::SQS::Plugins::QueueUrls)
@@ -91,6 +93,11 @@ module Aws::SQS
91
93
 
92
94
  # @overload initialize(options)
93
95
  # @param [Hash] options
96
+ #
97
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
98
+ # A list of plugins to apply to the client. Each plugin is either a
99
+ # class name or an instance of a plugin class.
100
+ #
94
101
  # @option options [required, Aws::CredentialProvider] :credentials
95
102
  # Your AWS credentials. This can be an instance of any one of the
96
103
  # following classes:
@@ -125,13 +132,15 @@ module Aws::SQS
125
132
  # locations will be searched for credentials:
126
133
  #
127
134
  # * `Aws.config[:credentials]`
128
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
129
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
135
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
136
+ # `:account_id` options.
137
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
138
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
130
139
  # * `~/.aws/credentials`
131
140
  # * `~/.aws/config`
132
141
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
133
142
  # are very aggressive. Construct and pass an instance of
134
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
143
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
135
144
  # enable retries and extended timeouts. Instance profile credential
136
145
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
137
146
  # to true.
@@ -150,6 +159,8 @@ module Aws::SQS
150
159
  #
151
160
  # @option options [String] :access_key_id
152
161
  #
162
+ # @option options [String] :account_id
163
+ #
153
164
  # @option options [Boolean] :active_endpoint_cache (false)
154
165
  # When set to `true`, a thread polling for endpoints will be running in
155
166
  # the background every 60 secs (default). Defaults to `false`.
@@ -200,10 +211,16 @@ module Aws::SQS
200
211
  # When set to 'true' the request body will not be compressed
201
212
  # for supported operations.
202
213
  #
203
- # @option options [String] :endpoint
204
- # The client endpoint is normally constructed from the `:region`
205
- # option. You should only configure an `:endpoint` when connecting
206
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
214
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
215
+ # Normally you should not configure the `:endpoint` option
216
+ # directly. This is normally constructed from the `:region`
217
+ # option. Configuring `:endpoint` is normally reserved for
218
+ # connecting to test or custom endpoints. The endpoint should
219
+ # be a URI formatted like:
220
+ #
221
+ # 'http://example.com'
222
+ # 'https://example.com'
223
+ # 'http://example.com:123'
207
224
  #
208
225
  # @option options [Integer] :endpoint_cache_max_entries (1000)
209
226
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -293,25 +310,31 @@ module Aws::SQS
293
310
  # throttling. This is a provisional mode that may change behavior
294
311
  # in the future.
295
312
  #
296
- #
297
313
  # @option options [String] :sdk_ua_app_id
298
314
  # A unique and opaque application ID that is appended to the
299
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
300
- # maximum length of 50.
315
+ # User-Agent header as app/sdk_ua_app_id. It should have a
316
+ # maximum length of 50. This variable is sourced from environment
317
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
301
318
  #
302
319
  # @option options [String] :secret_access_key
303
320
  #
304
321
  # @option options [String] :session_token
305
322
  #
323
+ # @option options [Array] :sigv4a_signing_region_set
324
+ # A list of regions that should be signed with SigV4a signing. When
325
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
326
+ # in the following locations:
327
+ #
328
+ # * `Aws.config[:sigv4a_signing_region_set]`
329
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
330
+ # * `~/.aws/config`
331
+ #
306
332
  # @option options [Boolean] :simple_json (false)
307
333
  # Disables request parameter conversion, validation, and formatting.
308
- # Also disable response data type conversions. This option is useful
309
- # when you want to ensure the highest level of performance by
310
- # avoiding overhead of walking request parameters and response data
311
- # structures.
312
- #
313
- # When `:simple_json` is enabled, the request parameters hash must
314
- # be formatted exactly as the DynamoDB API expects.
334
+ # Also disables response data type conversions. The request parameters
335
+ # hash must be formatted exactly as the API expects.This option is useful
336
+ # when you want to ensure the highest level of performance by avoiding
337
+ # overhead of walking request parameters and response data structures.
315
338
  #
316
339
  # @option options [Boolean] :stub_responses (false)
317
340
  # Causes the client to return stubbed responses. By default
@@ -322,6 +345,16 @@ module Aws::SQS
322
345
  # ** Please note ** When response stubbing is enabled, no HTTP
323
346
  # requests are made, and retries are disabled.
324
347
  #
348
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
349
+ # Allows you to provide a telemetry provider, which is used to
350
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
351
+ # will not record or emit any telemetry data. The SDK supports the
352
+ # following telemetry providers:
353
+ #
354
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
355
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
356
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
357
+ #
325
358
  # @option options [Aws::TokenProvider] :token_provider
326
359
  # A Bearer Token Provider. This can be an instance of any one of the
327
360
  # following classes:
@@ -355,52 +388,75 @@ module Aws::SQS
355
388
  # not match.
356
389
  #
357
390
  # @option options [Aws::SQS::EndpointProvider] :endpoint_provider
358
- # 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`
359
- #
360
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
361
- # requests through. Formatted like 'http://proxy.com:123'.
362
- #
363
- # @option options [Float] :http_open_timeout (15) The number of
364
- # seconds to wait when opening a HTTP session before raising a
365
- # `Timeout::Error`.
366
- #
367
- # @option options [Float] :http_read_timeout (60) The default
368
- # number of seconds to wait for response data. This value can
369
- # safely be set per-request on the session.
370
- #
371
- # @option options [Float] :http_idle_timeout (5) The number of
372
- # seconds a connection is allowed to sit idle before it is
373
- # considered stale. Stale connections are closed and removed
374
- # from the pool before making a request.
375
- #
376
- # @option options [Float] :http_continue_timeout (1) The number of
377
- # seconds to wait for a 100-continue response before sending the
378
- # request body. This option has no effect unless the request has
379
- # "Expect" header set to "100-continue". Defaults to `nil` which
380
- # disables this behaviour. This value can safely be set per
381
- # request on the session.
391
+ # The endpoint provider used to resolve endpoints. Any object that responds to
392
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
393
+ # `Aws::SQS::EndpointParameters`.
394
+ #
395
+ # @option options [Float] :http_continue_timeout (1)
396
+ # The number of seconds to wait for a 100-continue response before sending the
397
+ # request body. This option has no effect unless the request has "Expect"
398
+ # header set to "100-continue". Defaults to `nil` which disables this
399
+ # behaviour. This value can safely be set per request on the session.
400
+ #
401
+ # @option options [Float] :http_idle_timeout (5)
402
+ # The number of seconds a connection is allowed to sit idle before it
403
+ # is considered stale. Stale connections are closed and removed from the
404
+ # pool before making a request.
405
+ #
406
+ # @option options [Float] :http_open_timeout (15)
407
+ # The default number of seconds to wait for response data.
408
+ # This value can safely be set per-request on the session.
409
+ #
410
+ # @option options [URI::HTTP,String] :http_proxy
411
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
412
+ #
413
+ # @option options [Float] :http_read_timeout (60)
414
+ # The default number of seconds to wait for response data.
415
+ # This value can safely be set per-request on the session.
416
+ #
417
+ # @option options [Boolean] :http_wire_trace (false)
418
+ # When `true`, HTTP debug output will be sent to the `:logger`.
419
+ #
420
+ # @option options [Proc] :on_chunk_received
421
+ # When a Proc object is provided, it will be used as callback when each chunk
422
+ # of the response body is received. It provides three arguments: the chunk,
423
+ # the number of bytes received, and the total number of
424
+ # bytes in the response (or nil if the server did not send a `content-length`).
425
+ #
426
+ # @option options [Proc] :on_chunk_sent
427
+ # When a Proc object is provided, it will be used as callback when each chunk
428
+ # of the request body is sent. It provides three arguments: the chunk,
429
+ # the number of bytes read from the body, and the total number of
430
+ # bytes in the body.
431
+ #
432
+ # @option options [Boolean] :raise_response_errors (true)
433
+ # When `true`, response errors are raised.
434
+ #
435
+ # @option options [String] :ssl_ca_bundle
436
+ # Full path to the SSL certificate authority bundle file that should be used when
437
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
438
+ # `:ssl_ca_directory` the the system default will be used if available.
439
+ #
440
+ # @option options [String] :ssl_ca_directory
441
+ # Full path of the directory that contains the unbundled SSL certificate
442
+ # authority files for verifying peer certificates. If you do
443
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
444
+ # default will be used if available.
382
445
  #
383
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
384
- # in seconds.
446
+ # @option options [String] :ssl_ca_store
447
+ # Sets the X509::Store to verify peer certificate.
385
448
  #
386
- # @option options [Boolean] :http_wire_trace (false) When `true`,
387
- # HTTP debug output will be sent to the `:logger`.
449
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
450
+ # Sets a client certificate when creating http connections.
388
451
  #
389
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
390
- # SSL peer certificates are verified when establishing a
391
- # connection.
452
+ # @option options [OpenSSL::PKey] :ssl_key
453
+ # Sets a client key when creating http connections.
392
454
  #
393
- # @option options [String] :ssl_ca_bundle Full path to the SSL
394
- # certificate authority bundle file that should be used when
395
- # verifying peer certificates. If you do not pass
396
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
397
- # will be used if available.
455
+ # @option options [Float] :ssl_timeout
456
+ # Sets the SSL timeout in seconds
398
457
  #
399
- # @option options [String] :ssl_ca_directory Full path of the
400
- # directory that contains the unbundled SSL certificate
401
- # authority files for verifying peer certificates. If you do
402
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
403
- # system default will be used if available.
458
+ # @option options [Boolean] :ssl_verify_peer (true)
459
+ # When `true`, SSL peer certificates are verified when establishing a connection.
404
460
  #
405
461
  def initialize(*args)
406
462
  super
@@ -518,8 +574,6 @@ module Aws::SQS
518
574
  # can be the original source queue (from which the messages were
519
575
  # driven to the dead-letter-queue), or a custom destination queue.
520
576
  #
521
- # * Currently, only standard queues are supported.
522
- #
523
577
  # * Only one active message movement task is supported per queue at any
524
578
  # given time.
525
579
  #
@@ -830,7 +884,6 @@ module Aws::SQS
830
884
  # Default: 10. When the `ReceiveCount` for a message exceeds the
831
885
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
832
886
  # dead-letter-queue.
833
- #
834
887
  # * `RedriveAllowPolicy` – The string that includes the parameters for
835
888
  # the permissions for the dead-letter queue redrive permission and
836
889
  # which source queues can specify dead-letter queues as a JSON object.
@@ -849,7 +902,6 @@ module Aws::SQS
849
902
  #
850
903
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
851
904
  # parameter can specify this queue as the dead-letter queue.
852
- #
853
905
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
854
906
  # queues that can specify this queue as the dead-letter queue and
855
907
  # redrive messages. You can specify this parameter only when the
@@ -921,7 +973,6 @@ module Aws::SQS
921
973
  #
922
974
  # * If the queue has `ContentBasedDeduplication` set, your
923
975
  # `MessageDeduplicationId` overrides the generated one.
924
- #
925
976
  # * When `ContentBasedDeduplication` is in effect, messages with
926
977
  # identical content sent within the deduplication interval are
927
978
  # treated as duplicates and only one copy of the message is
@@ -1294,7 +1345,6 @@ module Aws::SQS
1294
1345
  # Default: 10. When the `ReceiveCount` for a message exceeds the
1295
1346
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
1296
1347
  # dead-letter-queue.
1297
- #
1298
1348
  # * `RedriveAllowPolicy` – The string that includes the parameters for
1299
1349
  # the permissions for the dead-letter queue redrive permission and
1300
1350
  # which source queues can specify dead-letter queues as a JSON object.
@@ -1313,7 +1363,6 @@ module Aws::SQS
1313
1363
  #
1314
1364
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
1315
1365
  # parameter can specify this queue as the dead-letter queue.
1316
- #
1317
1366
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
1318
1367
  # queues that can specify this queue as the dead-letter queue and
1319
1368
  # redrive messages. You can specify this parameter only when the
@@ -1546,8 +1595,6 @@ module Aws::SQS
1546
1595
  # can be the original source queue (from which the messages were
1547
1596
  # driven to the dead-letter-queue), or a custom destination queue.
1548
1597
  #
1549
- # * Currently, only standard queues are supported.
1550
- #
1551
1598
  # * Only one active message movement task is supported per queue at any
1552
1599
  # given time.
1553
1600
  #
@@ -1809,6 +1856,10 @@ module Aws::SQS
1809
1856
  # Queue URLs and names are case-sensitive.
1810
1857
  #
1811
1858
  # @option params [Array<String>] :attribute_names
1859
+ # This parameter has been deprecated but will be supported for backward
1860
+ # compatibility. To provide attribute names, you are encouraged to use
1861
+ # `MessageSystemAttributeNames`.
1862
+ #
1812
1863
  # A list of attributes that need to be returned along with each message.
1813
1864
  # These attributes include:
1814
1865
  #
@@ -1829,7 +1880,49 @@ module Aws::SQS
1829
1880
  #
1830
1881
  # * For an IAM role, returns the IAM role ID, for example
1831
1882
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1883
+ # * `SentTimestamp` – Returns the time the message was sent to the queue
1884
+ # ([epoch time][1] in milliseconds).
1885
+ #
1886
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
1887
+ # SQS owned encryption keys. Only one server-side encryption option is
1888
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1832
1889
  #
1890
+ # * `MessageDeduplicationId` – Returns the value provided by the
1891
+ # producer that calls the ` SendMessage ` action.
1892
+ #
1893
+ # * `MessageGroupId` – Returns the value provided by the producer that
1894
+ # calls the ` SendMessage ` action. Messages with the same
1895
+ # `MessageGroupId` are returned in sequence.
1896
+ #
1897
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1898
+ #
1899
+ #
1900
+ #
1901
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1902
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1903
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1904
+ #
1905
+ # @option params [Array<String>] :message_system_attribute_names
1906
+ # A list of attributes that need to be returned along with each message.
1907
+ # These attributes include:
1908
+ #
1909
+ # * `All` – Returns all values.
1910
+ #
1911
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
1912
+ # was first received from the queue ([epoch time][1] in milliseconds).
1913
+ #
1914
+ # * `ApproximateReceiveCount` – Returns the number of times a message
1915
+ # has been received across all queues but not deleted.
1916
+ #
1917
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1918
+ #
1919
+ # * `SenderId`
1920
+ #
1921
+ # * For a user, returns the user ID, for example
1922
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1923
+ #
1924
+ # * For an IAM role, returns the IAM role ID, for example
1925
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1833
1926
  # * `SentTimestamp` – Returns the time the message was sent to the queue
1834
1927
  # ([epoch time][1] in milliseconds).
1835
1928
  #
@@ -1888,8 +1981,8 @@ module Aws::SQS
1888
1981
  # The duration (in seconds) for which the call waits for a message to
1889
1982
  # arrive in the queue before returning. If a message is available, the
1890
1983
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1891
- # available and the wait time expires, the call returns successfully
1892
- # with an empty list of messages.
1984
+ # available and the wait time expires, the call does not return a
1985
+ # message list.
1893
1986
  #
1894
1987
  # To avoid HTTP errors, ensure that the HTTP response timeout for
1895
1988
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -1918,10 +2011,6 @@ module Aws::SQS
1918
2011
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1919
2012
  # can provide a `ReceiveRequestAttemptId` explicitly.
1920
2013
  #
1921
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1922
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1923
- # `ReceiveRequestAttemptId`.
1924
- #
1925
2014
  # * It is possible to retry the `ReceiveMessage` action with the same
1926
2015
  # `ReceiveRequestAttemptId` if none of the messages have been modified
1927
2016
  # (deleted or had their visibility changes).
@@ -1955,7 +2044,7 @@ module Aws::SQS
1955
2044
  #
1956
2045
  # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
1957
2046
  # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1958
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2047
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1959
2048
  # ``).
1960
2049
  #
1961
2050
  # For best practices of using `ReceiveRequestAttemptId`, see [Using the
@@ -1976,6 +2065,7 @@ module Aws::SQS
1976
2065
  # resp = client.receive_message({
1977
2066
  # queue_url: "String", # required
1978
2067
  # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds, DeduplicationScope, FifoThroughputLimit, RedriveAllowPolicy, SqsManagedSseEnabled
2068
+ # message_system_attribute_names: ["All"], # accepts All, SenderId, SentTimestamp, ApproximateReceiveCount, ApproximateFirstReceiveTimestamp, SequenceNumber, MessageDeduplicationId, MessageGroupId, AWSTraceHeader, DeadLetterQueueSourceArn
1979
2069
  # message_attribute_names: ["MessageAttributeName"],
1980
2070
  # max_number_of_messages: 1,
1981
2071
  # visibility_timeout: 1,
@@ -2060,13 +2150,17 @@ module Aws::SQS
2060
2150
  # Delivers a message to the specified queue.
2061
2151
  #
2062
2152
  # A message can include only XML, JSON, and unformatted text. The
2063
- # following Unicode characters are allowed:
2153
+ # following Unicode characters are allowed. For more information, see
2154
+ # the [W3C specification for characters][1].
2064
2155
  #
2065
2156
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2066
2157
  # \| `#x10000` to `#x10FFFF`
2067
2158
  #
2068
- # Any characters not included in this list will be rejected. For more
2069
- # information, see the [W3C specification for characters][1].
2159
+ # Amazon SQS does not throw an exception or completely reject the
2160
+ # message if it contains invalid characters. Instead, it replaces those
2161
+ # invalid characters with `U+FFFD` before storing the message in the
2162
+ # queue, as long as the message body contains at least one valid
2163
+ # character.
2070
2164
  #
2071
2165
  #
2072
2166
  #
@@ -2082,13 +2176,17 @@ module Aws::SQS
2082
2176
  # size is 256 KiB.
2083
2177
  #
2084
2178
  # A message can include only XML, JSON, and unformatted text. The
2085
- # following Unicode characters are allowed:
2179
+ # following Unicode characters are allowed. For more information, see
2180
+ # the [W3C specification for characters][1].
2086
2181
  #
2087
2182
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2088
2183
  # \| `#x10000` to `#x10FFFF`
2089
2184
  #
2090
- # Any characters not included in this list will be rejected. For more
2091
- # information, see the [W3C specification for characters][1].
2185
+ # Amazon SQS does not throw an exception or completely reject the
2186
+ # message if it contains invalid characters. Instead, it replaces those
2187
+ # invalid characters with `U+FFFD` before storing the message in the
2188
+ # queue, as long as the message body contains at least one valid
2189
+ # character.
2092
2190
  #
2093
2191
  #
2094
2192
  #
@@ -2151,7 +2249,6 @@ module Aws::SQS
2151
2249
  #
2152
2250
  # * If the queue has `ContentBasedDeduplication` set, your
2153
2251
  # `MessageDeduplicationId` overrides the generated one.
2154
- #
2155
2252
  # * When `ContentBasedDeduplication` is in effect, messages with
2156
2253
  # identical content sent within the deduplication interval are treated
2157
2254
  # as duplicates and only one copy of the message is delivered.
@@ -2176,7 +2273,7 @@ module Aws::SQS
2176
2273
  #
2177
2274
  # The maximum length of `MessageDeduplicationId` is 128 characters.
2178
2275
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
2179
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2276
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
2180
2277
  # ``).
2181
2278
  #
2182
2279
  # For best practices of using `MessageDeduplicationId`, see [Using the
@@ -2207,9 +2304,9 @@ module Aws::SQS
2207
2304
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
2208
2305
  # sorted by time sent. The caller can't specify a `MessageGroupId`.
2209
2306
  #
2210
- # The length of `MessageGroupId` is 128 characters. Valid values:
2211
- # alphanumeric characters and punctuation ``
2212
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2307
+ # The maximum length of `MessageGroupId` is 128 characters. Valid
2308
+ # values: alphanumeric characters and punctuation ``
2309
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
2213
2310
  #
2214
2311
  # For best practices of using `MessageGroupId`, see [Using the
2215
2312
  # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
@@ -2290,13 +2387,17 @@ module Aws::SQS
2290
2387
  # messages) are both 256 KiB (262,144 bytes).
2291
2388
  #
2292
2389
  # A message can include only XML, JSON, and unformatted text. The
2293
- # following Unicode characters are allowed:
2390
+ # following Unicode characters are allowed. For more information, see
2391
+ # the [W3C specification for characters][1].
2294
2392
  #
2295
2393
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2296
2394
  # \| `#x10000` to `#x10FFFF`
2297
2395
  #
2298
- # Any characters not included in this list will be rejected. For more
2299
- # information, see the [W3C specification for characters][1].
2396
+ # Amazon SQS does not throw an exception or completely reject the
2397
+ # message if it contains invalid characters. Instead, it replaces those
2398
+ # invalid characters with `U+FFFD` before storing the message in the
2399
+ # queue, as long as the message body contains at least one valid
2400
+ # character.
2300
2401
  #
2301
2402
  # If you don't specify the `DelaySeconds` parameter for an entry,
2302
2403
  # Amazon SQS uses the default value for the queue.
@@ -2375,13 +2476,14 @@ module Aws::SQS
2375
2476
  req.send_request(options)
2376
2477
  end
2377
2478
 
2378
- # Sets the value of one or more queue attributes. When you change a
2379
- # queue's attributes, the change can take up to 60 seconds for most of
2380
- # the attributes to propagate throughout the Amazon SQS system. Changes
2381
- # made to the `MessageRetentionPeriod` attribute can take up to 15
2382
- # minutes and will impact existing messages in the queue potentially
2383
- # causing them to be expired and deleted if the `MessageRetentionPeriod`
2384
- # is reduced below the age of existing messages.
2479
+ # Sets the value of one or more queue attributes, like a policy. When
2480
+ # you change a queue's attributes, the change can take up to 60 seconds
2481
+ # for most of the attributes to propagate throughout the Amazon SQS
2482
+ # system. Changes made to the `MessageRetentionPeriod` attribute can
2483
+ # take up to 15 minutes and will impact existing messages in the queue
2484
+ # potentially causing them to be expired and deleted if the
2485
+ # `MessageRetentionPeriod` is reduced below the age of existing
2486
+ # messages.
2385
2487
  #
2386
2488
  # <note markdown="1"> * In the future, new attributes might be added. If you write code that
2387
2489
  # calls this action, we recommend that you structure your code so that
@@ -2461,7 +2563,6 @@ module Aws::SQS
2461
2563
  # Default: 10. When the `ReceiveCount` for a message exceeds the
2462
2564
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
2463
2565
  # dead-letter-queue.
2464
- #
2465
2566
  # * `RedriveAllowPolicy` – The string that includes the parameters for
2466
2567
  # the permissions for the dead-letter queue redrive permission and
2467
2568
  # which source queues can specify dead-letter queues as a JSON object.
@@ -2480,7 +2581,6 @@ module Aws::SQS
2480
2581
  #
2481
2582
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
2482
2583
  # parameter can specify this queue as the dead-letter queue.
2483
- #
2484
2584
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
2485
2585
  # queues that can specify this queue as the dead-letter queue and
2486
2586
  # redrive messages. You can specify this parameter only when the
@@ -2540,7 +2640,6 @@ module Aws::SQS
2540
2640
  #
2541
2641
  # * If the queue has `ContentBasedDeduplication` set, your
2542
2642
  # `MessageDeduplicationId` overrides the generated one.
2543
- #
2544
2643
  # * When `ContentBasedDeduplication` is in effect, messages with
2545
2644
  # identical content sent within the deduplication interval are
2546
2645
  # treated as duplicates and only one copy of the message is
@@ -2629,9 +2728,6 @@ module Aws::SQS
2629
2728
  # original source queue (from which the messages were driven to the
2630
2729
  # dead-letter-queue), or a custom destination queue.
2631
2730
  #
2632
- # * Currently, only standard queues support redrive. FIFO queues don't
2633
- # support redrive.
2634
- #
2635
2731
  # * Only one active message movement task is supported per queue at any
2636
2732
  # given time.
2637
2733
  #
@@ -2789,14 +2885,19 @@ module Aws::SQS
2789
2885
  # @api private
2790
2886
  def build_request(operation_name, params = {})
2791
2887
  handlers = @handlers.for(operation_name)
2888
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2889
+ Aws::Telemetry.module_to_tracer_name('Aws::SQS')
2890
+ )
2792
2891
  context = Seahorse::Client::RequestContext.new(
2793
2892
  operation_name: operation_name,
2794
2893
  operation: config.api.operation(operation_name),
2795
2894
  client: self,
2796
2895
  params: params,
2797
- config: config)
2896
+ config: config,
2897
+ tracer: tracer
2898
+ )
2798
2899
  context[:gem_name] = 'aws-sdk-sqs'
2799
- context[:gem_version] = '1.67.0'
2900
+ context[:gem_version] = '1.89.0'
2800
2901
  Seahorse::Client::Request.new(handlers, context)
2801
2902
  end
2802
2903
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::SQS
11
12
  # @api private
12
13
  module ClientApi
@@ -83,6 +84,7 @@ module Aws::SQS
83
84
  MessageBodySystemAttributeMap = Shapes::MapShape.new(name: 'MessageBodySystemAttributeMap', flattened: true)
84
85
  MessageList = Shapes::ListShape.new(name: 'MessageList', flattened: true)
85
86
  MessageNotInflight = Shapes::StructureShape.new(name: 'MessageNotInflight')
87
+ MessageSystemAttributeList = Shapes::ListShape.new(name: 'MessageSystemAttributeList', flattened: true)
86
88
  MessageSystemAttributeMap = Shapes::MapShape.new(name: 'MessageSystemAttributeMap', flattened: true)
87
89
  MessageSystemAttributeName = Shapes::StringShape.new(name: 'MessageSystemAttributeName')
88
90
  MessageSystemAttributeNameForSends = Shapes::StringShape.new(name: 'MessageSystemAttributeNameForSends')
@@ -350,6 +352,8 @@ module Aws::SQS
350
352
 
351
353
  MessageNotInflight.struct_class = Types::MessageNotInflight
352
354
 
355
+ MessageSystemAttributeList.member = Shapes::ShapeRef.new(shape: MessageSystemAttributeName)
356
+
353
357
  MessageSystemAttributeMap.key = Shapes::ShapeRef.new(shape: MessageSystemAttributeName)
354
358
  MessageSystemAttributeMap.value = Shapes::ShapeRef.new(shape: String)
355
359
 
@@ -387,7 +391,8 @@ module Aws::SQS
387
391
  ReceiptHandleIsInvalid.struct_class = Types::ReceiptHandleIsInvalid
388
392
 
389
393
  ReceiveMessageRequest.add_member(:queue_url, Shapes::ShapeRef.new(shape: String, required: true, location_name: "QueueUrl"))
390
- ReceiveMessageRequest.add_member(:attribute_names, Shapes::ShapeRef.new(shape: AttributeNameList, location_name: "AttributeNames"))
394
+ ReceiveMessageRequest.add_member(:attribute_names, Shapes::ShapeRef.new(shape: AttributeNameList, deprecated: true, location_name: "AttributeNames", metadata: {"deprecatedMessage"=>"AttributeNames has been replaced by MessageSystemAttributeNames"}))
395
+ ReceiveMessageRequest.add_member(:message_system_attribute_names, Shapes::ShapeRef.new(shape: MessageSystemAttributeList, location_name: "MessageSystemAttributeNames"))
391
396
  ReceiveMessageRequest.add_member(:message_attribute_names, Shapes::ShapeRef.new(shape: MessageAttributeNameList, location_name: "MessageAttributeNames"))
392
397
  ReceiveMessageRequest.add_member(:max_number_of_messages, Shapes::ShapeRef.new(shape: NullableInteger, location_name: "MaxNumberOfMessages"))
393
398
  ReceiveMessageRequest.add_member(:visibility_timeout, Shapes::ShapeRef.new(shape: NullableInteger, location_name: "VisibilityTimeout"))
@@ -494,11 +499,13 @@ module Aws::SQS
494
499
 
495
500
  api.metadata = {
496
501
  "apiVersion" => "2012-11-05",
502
+ "auth" => ["aws.auth#sigv4"],
497
503
  "awsQueryCompatible" => {},
498
504
  "endpointPrefix" => "sqs",
499
505
  "errorPrefix" => "AWS.SimpleQueueService.",
500
506
  "jsonVersion" => "1.0",
501
507
  "protocol" => "json",
508
+ "protocols" => ["json"],
502
509
  "serviceAbbreviation" => "Amazon SQS",
503
510
  "serviceFullName" => "Amazon Simple Queue Service",
504
511
  "serviceId" => "SQS",
@@ -1,4 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # utility classes
4
- require 'aws-sdk-sqs/queue_poller'
4
+ module Aws
5
+ module SQS
6
+ autoload :QueuePoller, 'aws-sdk-sqs/queue_poller'
7
+ end
8
+ end