aws-sdk-sqs 1.67.0 → 1.89.0

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