Skip to content

Commit

Permalink
feat(client-sqs): Amazon SQS adds three new APIs - StartMessageMoveTa…
Browse files Browse the repository at this point in the history
…sk, CancelMessageMoveTask, and ListMessageMoveTasks to automate redriving messages from dead-letter queues to source queues or a custom destination.
  • Loading branch information
awstools committed Jun 6, 2023
1 parent 7bf4fb1 commit 00f8d8a
Show file tree
Hide file tree
Showing 29 changed files with 2,457 additions and 624 deletions.
40 changes: 34 additions & 6 deletions clients/client-sqs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@
AWS SDK for JavaScript SQS Client for Node.js, Browser and React Native.

<p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
<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>
<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 Guide.</i>
<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>
<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
Guide.</i>
</p>
<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>
<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>
<ul>
<li>
<p>Cryptographically sign your service requests</p>
Expand Down Expand Up @@ -68,7 +71,8 @@ access management</a> in the <i>Amazon SQS Developer Guide.</i>
<ul>
<li>
<p>
<a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
<a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
Endpoints</a>
</p>
</li>
</ul>
Expand Down Expand Up @@ -277,6 +281,14 @@ AddPermission

[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)

</details>
<details>
<summary>
CancelMessageMoveTask
</summary>

[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)

</details>
<details>
<summary>
Expand Down Expand Up @@ -349,6 +361,14 @@ ListDeadLetterSourceQueues

[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)

</details>
<details>
<summary>
ListMessageMoveTasks
</summary>

[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)

</details>
<details>
<summary>
Expand Down Expand Up @@ -413,6 +433,14 @@ SetQueueAttributes

[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)

</details>
<details>
<summary>
StartMessageMoveTask
</summary>

[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)

</details>
<details>
<summary>
Expand Down
85 changes: 79 additions & 6 deletions clients/client-sqs/src/SQS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ import {
AddPermissionCommandInput,
AddPermissionCommandOutput,
} from "./commands/AddPermissionCommand";
import {
CancelMessageMoveTaskCommand,
CancelMessageMoveTaskCommandInput,
CancelMessageMoveTaskCommandOutput,
} from "./commands/CancelMessageMoveTaskCommand";
import {
ChangeMessageVisibilityBatchCommand,
ChangeMessageVisibilityBatchCommandInput,
Expand Down Expand Up @@ -40,6 +45,11 @@ import {
ListDeadLetterSourceQueuesCommandInput,
ListDeadLetterSourceQueuesCommandOutput,
} from "./commands/ListDeadLetterSourceQueuesCommand";
import {
ListMessageMoveTasksCommand,
ListMessageMoveTasksCommandInput,
ListMessageMoveTasksCommandOutput,
} from "./commands/ListMessageMoveTasksCommand";
import { ListQueuesCommand, ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand";
import {
ListQueueTagsCommand,
Expand Down Expand Up @@ -68,12 +78,18 @@ import {
SetQueueAttributesCommandInput,
SetQueueAttributesCommandOutput,
} from "./commands/SetQueueAttributesCommand";
import {
StartMessageMoveTaskCommand,
StartMessageMoveTaskCommandInput,
StartMessageMoveTaskCommandOutput,
} from "./commands/StartMessageMoveTaskCommand";
import { TagQueueCommand, TagQueueCommandInput, TagQueueCommandOutput } from "./commands/TagQueueCommand";
import { UntagQueueCommand, UntagQueueCommandInput, UntagQueueCommandOutput } from "./commands/UntagQueueCommand";
import { SQSClient, SQSClientConfig } from "./SQSClient";

const commands = {
AddPermissionCommand,
CancelMessageMoveTaskCommand,
ChangeMessageVisibilityCommand,
ChangeMessageVisibilityBatchCommand,
CreateQueueCommand,
Expand All @@ -83,6 +99,7 @@ const commands = {
GetQueueAttributesCommand,
GetQueueUrlCommand,
ListDeadLetterSourceQueuesCommand,
ListMessageMoveTasksCommand,
ListQueuesCommand,
ListQueueTagsCommand,
PurgeQueueCommand,
Expand All @@ -91,6 +108,7 @@ const commands = {
SendMessageCommand,
SendMessageBatchCommand,
SetQueueAttributesCommand,
StartMessageMoveTaskCommand,
TagQueueCommand,
UntagQueueCommand,
};
Expand All @@ -107,6 +125,23 @@ export interface SQS {
cb: (err: any, data?: AddPermissionCommandOutput) => void
): void;

/**
* @see {@link CancelMessageMoveTaskCommand}
*/
cancelMessageMoveTask(
args: CancelMessageMoveTaskCommandInput,
options?: __HttpHandlerOptions
): Promise<CancelMessageMoveTaskCommandOutput>;
cancelMessageMoveTask(
args: CancelMessageMoveTaskCommandInput,
cb: (err: any, data?: CancelMessageMoveTaskCommandOutput) => void
): void;
cancelMessageMoveTask(
args: CancelMessageMoveTaskCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CancelMessageMoveTaskCommandOutput) => void
): void;

/**
* @see {@link ChangeMessageVisibilityCommand}
*/
Expand Down Expand Up @@ -236,6 +271,23 @@ export interface SQS {
cb: (err: any, data?: ListDeadLetterSourceQueuesCommandOutput) => void
): void;

/**
* @see {@link ListMessageMoveTasksCommand}
*/
listMessageMoveTasks(
args: ListMessageMoveTasksCommandInput,
options?: __HttpHandlerOptions
): Promise<ListMessageMoveTasksCommandOutput>;
listMessageMoveTasks(
args: ListMessageMoveTasksCommandInput,
cb: (err: any, data?: ListMessageMoveTasksCommandOutput) => void
): void;
listMessageMoveTasks(
args: ListMessageMoveTasksCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListMessageMoveTasksCommandOutput) => void
): void;

/**
* @see {@link ListQueuesCommand}
*/
Expand Down Expand Up @@ -345,6 +397,23 @@ export interface SQS {
cb: (err: any, data?: SetQueueAttributesCommandOutput) => void
): void;

/**
* @see {@link StartMessageMoveTaskCommand}
*/
startMessageMoveTask(
args: StartMessageMoveTaskCommandInput,
options?: __HttpHandlerOptions
): Promise<StartMessageMoveTaskCommandOutput>;
startMessageMoveTask(
args: StartMessageMoveTaskCommandInput,
cb: (err: any, data?: StartMessageMoveTaskCommandOutput) => void
): void;
startMessageMoveTask(
args: StartMessageMoveTaskCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: StartMessageMoveTaskCommandOutput) => void
): void;

/**
* @see {@link TagQueueCommand}
*/
Expand All @@ -371,12 +440,15 @@ export interface SQS {
/**
* @public
* <p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
* <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>
* <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 Guide.</i>
* <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>
* <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
* Guide.</i>
* </p>
* <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>
* <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>
* <ul>
* <li>
* <p>Cryptographically sign your service requests</p>
Expand Down Expand Up @@ -432,7 +504,8 @@ export interface SQS {
* <ul>
* <li>
* <p>
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
* Endpoints</a>
* </p>
* </li>
* </ul>
Expand Down
34 changes: 28 additions & 6 deletions clients/client-sqs/src/SQSClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ import {
} from "@smithy/types";

import { AddPermissionCommandInput, AddPermissionCommandOutput } from "./commands/AddPermissionCommand";
import {
CancelMessageMoveTaskCommandInput,
CancelMessageMoveTaskCommandOutput,
} from "./commands/CancelMessageMoveTaskCommand";
import {
ChangeMessageVisibilityBatchCommandInput,
ChangeMessageVisibilityBatchCommandOutput,
Expand All @@ -70,6 +74,10 @@ import {
ListDeadLetterSourceQueuesCommandInput,
ListDeadLetterSourceQueuesCommandOutput,
} from "./commands/ListDeadLetterSourceQueuesCommand";
import {
ListMessageMoveTasksCommandInput,
ListMessageMoveTasksCommandOutput,
} from "./commands/ListMessageMoveTasksCommand";
import { ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand";
import { ListQueueTagsCommandInput, ListQueueTagsCommandOutput } from "./commands/ListQueueTagsCommand";
import { PurgeQueueCommandInput, PurgeQueueCommandOutput } from "./commands/PurgeQueueCommand";
Expand All @@ -78,6 +86,10 @@ import { RemovePermissionCommandInput, RemovePermissionCommandOutput } from "./c
import { SendMessageBatchCommandInput, SendMessageBatchCommandOutput } from "./commands/SendMessageBatchCommand";
import { SendMessageCommandInput, SendMessageCommandOutput } from "./commands/SendMessageCommand";
import { SetQueueAttributesCommandInput, SetQueueAttributesCommandOutput } from "./commands/SetQueueAttributesCommand";
import {
StartMessageMoveTaskCommandInput,
StartMessageMoveTaskCommandOutput,
} from "./commands/StartMessageMoveTaskCommand";
import { TagQueueCommandInput, TagQueueCommandOutput } from "./commands/TagQueueCommand";
import { UntagQueueCommandInput, UntagQueueCommandOutput } from "./commands/UntagQueueCommand";
import {
Expand All @@ -95,6 +107,7 @@ export { __Client };
*/
export type ServiceInputTypes =
| AddPermissionCommandInput
| CancelMessageMoveTaskCommandInput
| ChangeMessageVisibilityBatchCommandInput
| ChangeMessageVisibilityCommandInput
| CreateQueueCommandInput
Expand All @@ -104,6 +117,7 @@ export type ServiceInputTypes =
| GetQueueAttributesCommandInput
| GetQueueUrlCommandInput
| ListDeadLetterSourceQueuesCommandInput
| ListMessageMoveTasksCommandInput
| ListQueueTagsCommandInput
| ListQueuesCommandInput
| PurgeQueueCommandInput
Expand All @@ -112,6 +126,7 @@ export type ServiceInputTypes =
| SendMessageBatchCommandInput
| SendMessageCommandInput
| SetQueueAttributesCommandInput
| StartMessageMoveTaskCommandInput
| TagQueueCommandInput
| UntagQueueCommandInput;

Expand All @@ -120,6 +135,7 @@ export type ServiceInputTypes =
*/
export type ServiceOutputTypes =
| AddPermissionCommandOutput
| CancelMessageMoveTaskCommandOutput
| ChangeMessageVisibilityBatchCommandOutput
| ChangeMessageVisibilityCommandOutput
| CreateQueueCommandOutput
Expand All @@ -129,6 +145,7 @@ export type ServiceOutputTypes =
| GetQueueAttributesCommandOutput
| GetQueueUrlCommandOutput
| ListDeadLetterSourceQueuesCommandOutput
| ListMessageMoveTasksCommandOutput
| ListQueueTagsCommandOutput
| ListQueuesCommandOutput
| PurgeQueueCommandOutput
Expand All @@ -137,6 +154,7 @@ export type ServiceOutputTypes =
| SendMessageBatchCommandOutput
| SendMessageCommandOutput
| SetQueueAttributesCommandOutput
| StartMessageMoveTaskCommandOutput
| TagQueueCommandOutput
| UntagQueueCommandOutput;

Expand Down Expand Up @@ -312,12 +330,15 @@ export interface SQSClientResolvedConfig extends SQSClientResolvedConfigType {}
/**
* @public
* <p>Welcome to the <i>Amazon SQS API Reference</i>.</p>
* <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>
* <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 Guide.</i>
* <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>
* <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
* Guide.</i>
* </p>
* <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>
* <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>
* <ul>
* <li>
* <p>Cryptographically sign your service requests</p>
Expand Down Expand Up @@ -373,7 +394,8 @@ export interface SQSClientResolvedConfig extends SQSClientResolvedConfigType {}
* <ul>
* <li>
* <p>
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and Endpoints</a>
* <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region">Regions and
* Endpoints</a>
* </p>
* </li>
* </ul>
Expand Down
Loading

0 comments on commit 00f8d8a

Please sign in to comment.