Skip to content

Commit

Permalink
feat(client-sqs): This release enables customers to call SQS using AW…
Browse files Browse the repository at this point in the history
…S JSON-1.0 protocol.
  • Loading branch information
awstools committed May 4, 2023
1 parent e71366a commit b3f5a9d
Show file tree
Hide file tree
Showing 28 changed files with 4,617 additions and 3,902 deletions.
17 changes: 10 additions & 7 deletions clients/client-sqs/README.md
Expand Up @@ -10,12 +10,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 All @@ -27,7 +30,6 @@ access management</a> in the <i>Amazon SQS Developer Guide.</i>
<p>Handle error responses</p>
</li>
</ul>

<p>
<b>Additional information</b>
</p>
Expand Down Expand Up @@ -72,7 +74,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
1 change: 0 additions & 1 deletion clients/client-sqs/package.json
Expand Up @@ -55,7 +55,6 @@
"@aws-sdk/util-user-agent-browser": "*",
"@aws-sdk/util-user-agent-node": "*",
"@aws-sdk/util-utf8": "*",
"fast-xml-parser": "4.1.2",
"tslib": "^2.5.0"
},
"devDependencies": {
Expand Down
45 changes: 24 additions & 21 deletions clients/client-sqs/src/SQS.ts
Expand Up @@ -371,38 +371,40 @@ 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>
* <ul>
* <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>
* <p>Cryptographically sign your service requests</p>
* </li>
* <li>
* <p>Retry requests</p>
* <p>Retry requests</p>
* </li>
* <li>
* <p>Handle error responses</p>
* <p>Handle error responses</p>
* </li>
* </ul>
*
* <p>
* <p>
* <b>Additional information</b>
* </p>
* <ul>
* <ul>
* <li>
* <p>
* <a href="http://aws.amazon.com/sqs/">Amazon SQS Product Page</a>
* </p>
* <p>
* <a href="http://aws.amazon.com/sqs/">Amazon SQS Product Page</a>
* </p>
* </li>
* <li>
* <p>
* <p>
* <i>Amazon SQS Developer Guide</i>
* </p>
* <ul>
* <ul>
* <li>
* <p>
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-making-api-requests.html">Making API Requests</a>
Expand All @@ -421,19 +423,20 @@ export interface SQS {
* </ul>
* </li>
* <li>
* <p>
* <p>
* <a href="http://docs.aws.amazon.com/cli/latest/reference/sqs/index.html">Amazon SQS in the <i>Command Line Interface</i>
* </a>
* </p>
* </li>
* <li>
* <p>
* <p>
* <i>Amazon Web Services General Reference</i>
* </p>
* <ul>
* <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
45 changes: 24 additions & 21 deletions clients/client-sqs/src/SQSClient.ts
Expand Up @@ -308,38 +308,40 @@ 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>
* <ul>
* <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>
* <p>Cryptographically sign your service requests</p>
* </li>
* <li>
* <p>Retry requests</p>
* <p>Retry requests</p>
* </li>
* <li>
* <p>Handle error responses</p>
* <p>Handle error responses</p>
* </li>
* </ul>
*
* <p>
* <p>
* <b>Additional information</b>
* </p>
* <ul>
* <ul>
* <li>
* <p>
* <a href="http://aws.amazon.com/sqs/">Amazon SQS Product Page</a>
* </p>
* <p>
* <a href="http://aws.amazon.com/sqs/">Amazon SQS Product Page</a>
* </p>
* </li>
* <li>
* <p>
* <p>
* <i>Amazon SQS Developer Guide</i>
* </p>
* <ul>
* <ul>
* <li>
* <p>
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-making-api-requests.html">Making API Requests</a>
Expand All @@ -358,19 +360,20 @@ export interface SQSClientResolvedConfig extends SQSClientResolvedConfigType {}
* </ul>
* </li>
* <li>
* <p>
* <p>
* <a href="http://docs.aws.amazon.com/cli/latest/reference/sqs/index.html">Amazon SQS in the <i>Command Line Interface</i>
* </a>
* </p>
* </li>
* <li>
* <p>
* <p>
* <i>Amazon Web Services General Reference</i>
* </p>
* <ul>
* <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
79 changes: 52 additions & 27 deletions clients/client-sqs/src/commands/AddPermissionCommand.ts
Expand Up @@ -14,7 +14,7 @@ import {
} from "@aws-sdk/types";

import { AddPermissionRequest } from "../models/models_0";
import { de_AddPermissionCommand, se_AddPermissionCommand } from "../protocols/Aws_query";
import { de_AddPermissionCommand, se_AddPermissionCommand } from "../protocols/Aws_json1_0";
import { ServiceInputTypes, ServiceOutputTypes, SQSClientResolvedConfig } from "../SQSClient";

/**
Expand All @@ -32,45 +32,39 @@ export interface AddPermissionCommandOutput extends __MetadataBearer {}

/**
* @public
* <p>Adds a permission to a queue for a specific
* <a href="https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P">principal</a>.
* This allows sharing access to the queue.</p>
* <p>When you create a queue, you have full control access rights for the queue.
* Only you, the owner of the queue, can grant or deny permissions to the queue.
* For more information about these permissions, see
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue">Allow
* Developers to Write Messages to a Shared Queue</a> in the <i>Amazon SQS Developer Guide</i>.</p>
* <p>Adds a permission to a queue for a specific <a href="https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P">principal</a>. This allows sharing
* access to the queue.</p>
* <p>When you create a queue, you have full control access rights for the queue. Only you,
* the owner of the queue, can grant or deny permissions to the queue. For more information
* about these permissions, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue">Allow Developers to Write Messages to a Shared Queue</a> in the <i>Amazon SQS
* Developer Guide</i>.</p>
* <note>
* <ul>
* <li>
* <p>
* <p>
* <code>AddPermission</code> generates a policy for you. You can use
* <code>
* <code>
* <a>SetQueueAttributes</a>
* </code> to
* upload your policy. For more information, see
* <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html">Using Custom Policies with the Amazon SQS Access Policy Language</a> in
* the <i>Amazon SQS Developer Guide</i>.</p>
* </code> to upload your
* policy. For more information, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html">Using Custom Policies with the Amazon SQS Access Policy Language</a> in
* the <i>Amazon SQS Developer Guide</i>.</p>
* </li>
* <li>
* <p>An Amazon SQS policy can have a maximum of 7 actions.</p>
* <p>An Amazon SQS policy can have a maximum of seven actions per statement.</p>
* </li>
* <li>
* <p>To remove the ability to change queue permissions, you must deny permission to the <code>AddPermission</code>, <code>RemovePermission</code>, and <code>SetQueueAttributes</code> actions in your IAM policy.</p>
* </li>
* <p>To remove the ability to change queue permissions, you must deny permission to the <code>AddPermission</code>, <code>RemovePermission</code>, and <code>SetQueueAttributes</code> actions in your IAM policy.</p>
* </li>
* <li>
* <p>Amazon SQS <code>AddPermission</code> does not support adding a non-account
* principal.</p>
* </li>
* </ul>
* </note>
* <p>Some actions take lists of parameters. These lists are specified using the <code>param.n</code> notation. Values of <code>n</code> are integers starting from 1. For example, a parameter list with two elements looks like this:</p>
* <p>
* <code>&AttributeName.1=first</code>
* </p>
* <p>
* <code>&AttributeName.2=second</code>
* </p>
* <note>
* <p>Cross-account permissions don't apply to this action. For more information,
* see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name">Grant
* cross-account permissions to a role and a user name</a> in the <i>Amazon SQS Developer Guide</i>.</p>
* cross-account permissions to a role and a username</a> in the <i>Amazon SQS Developer Guide</i>.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down Expand Up @@ -100,12 +94,43 @@ export interface AddPermissionCommandOutput extends __MetadataBearer {}
* @see {@link AddPermissionCommandOutput} for command's `response` shape.
* @see {@link SQSClientResolvedConfig | config} for SQSClient's `config` shape.
*
* @throws {@link InvalidAddress} (client fault)
* <p>The <code>accountId</code> is invalid.</p>
*
* @throws {@link InvalidSecurity} (client fault)
* <p>When the request to a queue is not HTTPS and SigV4.</p>
*
* @throws {@link OverLimit} (client fault)
* <p>The specified action violates a limit. For example, <code>ReceiveMessage</code>
* returns this error if the maximum number of inflight messages is reached and
* returns this error if the maximum number of in flight messages is reached and
* <code>AddPermission</code> returns this error if the maximum number of permissions
* for the queue is reached.</p>
*
* @throws {@link QueueDoesNotExist} (client fault)
* <p>The specified queue doesn't exist.</p>
*
* @throws {@link RequestThrottled} (client fault)
* <p>The request was denied due to request throttling.</p>
* <ul>
* <li>
* <p>The rate of requests per second exceeds the AWS KMS request quota for an
* account and Region. </p>
* </li>
* <li>
* <p>A burst or sustained high rate of requests to change the state of the same KMS
* key. This condition is often known as a "hot key."</p>
* </li>
* <li>
* <p>Requests for operations on KMS keys in a Amazon Web Services CloudHSM key store
* might be throttled at a lower-than-expected rate when the Amazon Web Services
* CloudHSM cluster associated with the Amazon Web Services CloudHSM key store is
* processing numerous commands, including those unrelated to the Amazon Web Services CloudHSM key store.</p>
* </li>
* </ul>
*
* @throws {@link UnsupportedOperation} (client fault)
* <p>Error code 400. Unsupported operation.</p>
*
* @throws {@link SQSServiceException}
* <p>Base exception class for all service exceptions from SQS service.</p>
*
Expand Down

0 comments on commit b3f5a9d

Please sign in to comment.