Skip to content

Commit 00f8d8a

Browse files
author
awstools
committed
feat(client-sqs): Amazon SQS adds three new APIs - StartMessageMoveTask, CancelMessageMoveTask, and ListMessageMoveTasks to automate redriving messages from dead-letter queues to source queues or a custom destination.
1 parent 7bf4fb1 commit 00f8d8a

29 files changed

+2457
-624
lines changed

clients/client-sqs/README.md

+34-6
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@
77
AWS SDK for JavaScript SQS Client for Node.js, Browser and React Native.
88

99
<p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
10-
<p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.</p>
11-
<p>For information on the permissions you need to use this API, see
12-
<a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and
13-
access management</a> in the <i>Amazon SQS Developer Guide.</i>
10+
<p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel
11+
between applications or microservices. Amazon SQS moves data between distributed application
12+
components and helps you decouple these components.</p>
13+
<p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and access management</a> in the <i>Amazon SQS Developer
14+
Guide.</i>
1415
</p>
15-
<p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:</p>
16+
<p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access
17+
Amazon SQS using your favorite programming language. The SDKs perform tasks such as the
18+
following automatically:</p>
1619
<ul>
1720
<li>
1821
<p>Cryptographically sign your service requests</p>
@@ -68,7 +71,8 @@ access management</a> in the <i>Amazon SQS Developer Guide.</i>
6871
<ul>
6972
<li>
7073
<p>
71-
<a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
74+
<a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
75+
Endpoints</a>
7276
</p>
7377
</li>
7478
</ul>
@@ -277,6 +281,14 @@ AddPermission
277281

278282
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/addpermissioncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/addpermissioncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/addpermissioncommandoutput.html)
279283

284+
</details>
285+
<details>
286+
<summary>
287+
CancelMessageMoveTask
288+
</summary>
289+
290+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/cancelmessagemovetaskcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/cancelmessagemovetaskcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/cancelmessagemovetaskcommandoutput.html)
291+
280292
</details>
281293
<details>
282294
<summary>
@@ -349,6 +361,14 @@ ListDeadLetterSourceQueues
349361

350362
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/listdeadlettersourcequeuescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/listdeadlettersourcequeuescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/listdeadlettersourcequeuescommandoutput.html)
351363

364+
</details>
365+
<details>
366+
<summary>
367+
ListMessageMoveTasks
368+
</summary>
369+
370+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/listmessagemovetaskscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/listmessagemovetaskscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/listmessagemovetaskscommandoutput.html)
371+
352372
</details>
353373
<details>
354374
<summary>
@@ -413,6 +433,14 @@ SetQueueAttributes
413433

414434
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/setqueueattributescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/setqueueattributescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/setqueueattributescommandoutput.html)
415435

436+
</details>
437+
<details>
438+
<summary>
439+
StartMessageMoveTask
440+
</summary>
441+
442+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/classes/startmessagemovetaskcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/startmessagemovetaskcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sqs/interfaces/startmessagemovetaskcommandoutput.html)
443+
416444
</details>
417445
<details>
418446
<summary>

clients/client-sqs/src/SQS.ts

+79-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import {
77
AddPermissionCommandInput,
88
AddPermissionCommandOutput,
99
} from "./commands/AddPermissionCommand";
10+
import {
11+
CancelMessageMoveTaskCommand,
12+
CancelMessageMoveTaskCommandInput,
13+
CancelMessageMoveTaskCommandOutput,
14+
} from "./commands/CancelMessageMoveTaskCommand";
1015
import {
1116
ChangeMessageVisibilityBatchCommand,
1217
ChangeMessageVisibilityBatchCommandInput,
@@ -40,6 +45,11 @@ import {
4045
ListDeadLetterSourceQueuesCommandInput,
4146
ListDeadLetterSourceQueuesCommandOutput,
4247
} from "./commands/ListDeadLetterSourceQueuesCommand";
48+
import {
49+
ListMessageMoveTasksCommand,
50+
ListMessageMoveTasksCommandInput,
51+
ListMessageMoveTasksCommandOutput,
52+
} from "./commands/ListMessageMoveTasksCommand";
4353
import { ListQueuesCommand, ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand";
4454
import {
4555
ListQueueTagsCommand,
@@ -68,12 +78,18 @@ import {
6878
SetQueueAttributesCommandInput,
6979
SetQueueAttributesCommandOutput,
7080
} from "./commands/SetQueueAttributesCommand";
81+
import {
82+
StartMessageMoveTaskCommand,
83+
StartMessageMoveTaskCommandInput,
84+
StartMessageMoveTaskCommandOutput,
85+
} from "./commands/StartMessageMoveTaskCommand";
7186
import { TagQueueCommand, TagQueueCommandInput, TagQueueCommandOutput } from "./commands/TagQueueCommand";
7287
import { UntagQueueCommand, UntagQueueCommandInput, UntagQueueCommandOutput } from "./commands/UntagQueueCommand";
7388
import { SQSClient, SQSClientConfig } from "./SQSClient";
7489

7590
const commands = {
7691
AddPermissionCommand,
92+
CancelMessageMoveTaskCommand,
7793
ChangeMessageVisibilityCommand,
7894
ChangeMessageVisibilityBatchCommand,
7995
CreateQueueCommand,
@@ -83,6 +99,7 @@ const commands = {
8399
GetQueueAttributesCommand,
84100
GetQueueUrlCommand,
85101
ListDeadLetterSourceQueuesCommand,
102+
ListMessageMoveTasksCommand,
86103
ListQueuesCommand,
87104
ListQueueTagsCommand,
88105
PurgeQueueCommand,
@@ -91,6 +108,7 @@ const commands = {
91108
SendMessageCommand,
92109
SendMessageBatchCommand,
93110
SetQueueAttributesCommand,
111+
StartMessageMoveTaskCommand,
94112
TagQueueCommand,
95113
UntagQueueCommand,
96114
};
@@ -107,6 +125,23 @@ export interface SQS {
107125
cb: (err: any, data?: AddPermissionCommandOutput) => void
108126
): void;
109127

128+
/**
129+
* @see {@link CancelMessageMoveTaskCommand}
130+
*/
131+
cancelMessageMoveTask(
132+
args: CancelMessageMoveTaskCommandInput,
133+
options?: __HttpHandlerOptions
134+
): Promise<CancelMessageMoveTaskCommandOutput>;
135+
cancelMessageMoveTask(
136+
args: CancelMessageMoveTaskCommandInput,
137+
cb: (err: any, data?: CancelMessageMoveTaskCommandOutput) => void
138+
): void;
139+
cancelMessageMoveTask(
140+
args: CancelMessageMoveTaskCommandInput,
141+
options: __HttpHandlerOptions,
142+
cb: (err: any, data?: CancelMessageMoveTaskCommandOutput) => void
143+
): void;
144+
110145
/**
111146
* @see {@link ChangeMessageVisibilityCommand}
112147
*/
@@ -236,6 +271,23 @@ export interface SQS {
236271
cb: (err: any, data?: ListDeadLetterSourceQueuesCommandOutput) => void
237272
): void;
238273

274+
/**
275+
* @see {@link ListMessageMoveTasksCommand}
276+
*/
277+
listMessageMoveTasks(
278+
args: ListMessageMoveTasksCommandInput,
279+
options?: __HttpHandlerOptions
280+
): Promise<ListMessageMoveTasksCommandOutput>;
281+
listMessageMoveTasks(
282+
args: ListMessageMoveTasksCommandInput,
283+
cb: (err: any, data?: ListMessageMoveTasksCommandOutput) => void
284+
): void;
285+
listMessageMoveTasks(
286+
args: ListMessageMoveTasksCommandInput,
287+
options: __HttpHandlerOptions,
288+
cb: (err: any, data?: ListMessageMoveTasksCommandOutput) => void
289+
): void;
290+
239291
/**
240292
* @see {@link ListQueuesCommand}
241293
*/
@@ -345,6 +397,23 @@ export interface SQS {
345397
cb: (err: any, data?: SetQueueAttributesCommandOutput) => void
346398
): void;
347399

400+
/**
401+
* @see {@link StartMessageMoveTaskCommand}
402+
*/
403+
startMessageMoveTask(
404+
args: StartMessageMoveTaskCommandInput,
405+
options?: __HttpHandlerOptions
406+
): Promise<StartMessageMoveTaskCommandOutput>;
407+
startMessageMoveTask(
408+
args: StartMessageMoveTaskCommandInput,
409+
cb: (err: any, data?: StartMessageMoveTaskCommandOutput) => void
410+
): void;
411+
startMessageMoveTask(
412+
args: StartMessageMoveTaskCommandInput,
413+
options: __HttpHandlerOptions,
414+
cb: (err: any, data?: StartMessageMoveTaskCommandOutput) => void
415+
): void;
416+
348417
/**
349418
* @see {@link TagQueueCommand}
350419
*/
@@ -371,12 +440,15 @@ export interface SQS {
371440
/**
372441
* @public
373442
* <p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
374-
* <p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.</p>
375-
* <p>For information on the permissions you need to use this API, see
376-
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and
377-
* access management</a> in the <i>Amazon SQS Developer Guide.</i>
443+
* <p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel
444+
* between applications or microservices. Amazon SQS moves data between distributed application
445+
* components and helps you decouple these components.</p>
446+
* <p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and access management</a> in the <i>Amazon SQS Developer
447+
* Guide.</i>
378448
* </p>
379-
* <p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:</p>
449+
* <p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access
450+
* Amazon SQS using your favorite programming language. The SDKs perform tasks such as the
451+
* following automatically:</p>
380452
* <ul>
381453
* <li>
382454
* <p>Cryptographically sign your service requests</p>
@@ -432,7 +504,8 @@ export interface SQS {
432504
* <ul>
433505
* <li>
434506
* <p>
435-
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
507+
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
508+
* Endpoints</a>
436509
* </p>
437510
* </li>
438511
* </ul>

clients/client-sqs/src/SQSClient.ts

+28-6
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ import {
5252
} from "@smithy/types";
5353

5454
import { AddPermissionCommandInput, AddPermissionCommandOutput } from "./commands/AddPermissionCommand";
55+
import {
56+
CancelMessageMoveTaskCommandInput,
57+
CancelMessageMoveTaskCommandOutput,
58+
} from "./commands/CancelMessageMoveTaskCommand";
5559
import {
5660
ChangeMessageVisibilityBatchCommandInput,
5761
ChangeMessageVisibilityBatchCommandOutput,
@@ -70,6 +74,10 @@ import {
7074
ListDeadLetterSourceQueuesCommandInput,
7175
ListDeadLetterSourceQueuesCommandOutput,
7276
} from "./commands/ListDeadLetterSourceQueuesCommand";
77+
import {
78+
ListMessageMoveTasksCommandInput,
79+
ListMessageMoveTasksCommandOutput,
80+
} from "./commands/ListMessageMoveTasksCommand";
7381
import { ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand";
7482
import { ListQueueTagsCommandInput, ListQueueTagsCommandOutput } from "./commands/ListQueueTagsCommand";
7583
import { PurgeQueueCommandInput, PurgeQueueCommandOutput } from "./commands/PurgeQueueCommand";
@@ -78,6 +86,10 @@ import { RemovePermissionCommandInput, RemovePermissionCommandOutput } from "./c
7886
import { SendMessageBatchCommandInput, SendMessageBatchCommandOutput } from "./commands/SendMessageBatchCommand";
7987
import { SendMessageCommandInput, SendMessageCommandOutput } from "./commands/SendMessageCommand";
8088
import { SetQueueAttributesCommandInput, SetQueueAttributesCommandOutput } from "./commands/SetQueueAttributesCommand";
89+
import {
90+
StartMessageMoveTaskCommandInput,
91+
StartMessageMoveTaskCommandOutput,
92+
} from "./commands/StartMessageMoveTaskCommand";
8193
import { TagQueueCommandInput, TagQueueCommandOutput } from "./commands/TagQueueCommand";
8294
import { UntagQueueCommandInput, UntagQueueCommandOutput } from "./commands/UntagQueueCommand";
8395
import {
@@ -95,6 +107,7 @@ export { __Client };
95107
*/
96108
export type ServiceInputTypes =
97109
| AddPermissionCommandInput
110+
| CancelMessageMoveTaskCommandInput
98111
| ChangeMessageVisibilityBatchCommandInput
99112
| ChangeMessageVisibilityCommandInput
100113
| CreateQueueCommandInput
@@ -104,6 +117,7 @@ export type ServiceInputTypes =
104117
| GetQueueAttributesCommandInput
105118
| GetQueueUrlCommandInput
106119
| ListDeadLetterSourceQueuesCommandInput
120+
| ListMessageMoveTasksCommandInput
107121
| ListQueueTagsCommandInput
108122
| ListQueuesCommandInput
109123
| PurgeQueueCommandInput
@@ -112,6 +126,7 @@ export type ServiceInputTypes =
112126
| SendMessageBatchCommandInput
113127
| SendMessageCommandInput
114128
| SetQueueAttributesCommandInput
129+
| StartMessageMoveTaskCommandInput
115130
| TagQueueCommandInput
116131
| UntagQueueCommandInput;
117132

@@ -120,6 +135,7 @@ export type ServiceInputTypes =
120135
*/
121136
export type ServiceOutputTypes =
122137
| AddPermissionCommandOutput
138+
| CancelMessageMoveTaskCommandOutput
123139
| ChangeMessageVisibilityBatchCommandOutput
124140
| ChangeMessageVisibilityCommandOutput
125141
| CreateQueueCommandOutput
@@ -129,6 +145,7 @@ export type ServiceOutputTypes =
129145
| GetQueueAttributesCommandOutput
130146
| GetQueueUrlCommandOutput
131147
| ListDeadLetterSourceQueuesCommandOutput
148+
| ListMessageMoveTasksCommandOutput
132149
| ListQueueTagsCommandOutput
133150
| ListQueuesCommandOutput
134151
| PurgeQueueCommandOutput
@@ -137,6 +154,7 @@ export type ServiceOutputTypes =
137154
| SendMessageBatchCommandOutput
138155
| SendMessageCommandOutput
139156
| SetQueueAttributesCommandOutput
157+
| StartMessageMoveTaskCommandOutput
140158
| TagQueueCommandOutput
141159
| UntagQueueCommandOutput;
142160

@@ -312,12 +330,15 @@ export interface SQSClientResolvedConfig extends SQSClientResolvedConfigType {}
312330
/**
313331
* @public
314332
* <p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
315-
* <p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.</p>
316-
* <p>For information on the permissions you need to use this API, see
317-
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and
318-
* access management</a> in the <i>Amazon SQS Developer Guide.</i>
333+
* <p>Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel
334+
* between applications or microservices. Amazon SQS moves data between distributed application
335+
* components and helps you decouple these components.</p>
336+
* <p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-authentication-and-access-control.html">Identity and access management</a> in the <i>Amazon SQS Developer
337+
* Guide.</i>
319338
* </p>
320-
* <p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:</p>
339+
* <p>You can use <a href="http://aws.amazon.com/tools/#sdk">Amazon Web Services SDKs</a> to access
340+
* Amazon SQS using your favorite programming language. The SDKs perform tasks such as the
341+
* following automatically:</p>
321342
* <ul>
322343
* <li>
323344
* <p>Cryptographically sign your service requests</p>
@@ -373,7 +394,8 @@ export interface SQSClientResolvedConfig extends SQSClientResolvedConfigType {}
373394
* <ul>
374395
* <li>
375396
* <p>
376-
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
397+
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
398+
* Endpoints</a>
377399
* </p>
378400
* </li>
379401
* </ul>

0 commit comments

Comments
 (0)