Skip to content

Commit

Permalink
feat(client-dynamodb): This release adds support for including Approx…
Browse files Browse the repository at this point in the history
…imateCreationDateTimePrecision configurations in EnableKinesisStreamingDestination API, adds the same as an optional field in the response of DescribeKinesisStreamingDestination, and adds support for a new UpdateKinesisStreamingDestination API.
  • Loading branch information
awstools committed Jan 19, 2024
1 parent a8ed592 commit 2be6625
Show file tree
Hide file tree
Showing 11 changed files with 550 additions and 10 deletions.
8 changes: 8 additions & 0 deletions clients/client-dynamodb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,14 @@ UpdateItem

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb/command/UpdateItemCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dynamodb/Interface/UpdateItemCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dynamodb/Interface/UpdateItemCommandOutput/)

</details>
<details>
<summary>
UpdateKinesisStreamingDestination
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb/command/UpdateKinesisStreamingDestinationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dynamodb/Interface/UpdateKinesisStreamingDestinationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dynamodb/Interface/UpdateKinesisStreamingDestinationCommandOutput/)

</details>
<details>
<summary>
Expand Down
23 changes: 23 additions & 0 deletions clients/client-dynamodb/src/DynamoDB.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,11 @@ import {
UpdateGlobalTableSettingsCommandOutput,
} from "./commands/UpdateGlobalTableSettingsCommand";
import { UpdateItemCommand, UpdateItemCommandInput, UpdateItemCommandOutput } from "./commands/UpdateItemCommand";
import {
UpdateKinesisStreamingDestinationCommand,
UpdateKinesisStreamingDestinationCommandInput,
UpdateKinesisStreamingDestinationCommandOutput,
} from "./commands/UpdateKinesisStreamingDestinationCommand";
import { UpdateTableCommand, UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand";
import {
UpdateTableReplicaAutoScalingCommand,
Expand Down Expand Up @@ -260,6 +265,7 @@ const commands = {
UpdateGlobalTableCommand,
UpdateGlobalTableSettingsCommand,
UpdateItemCommand,
UpdateKinesisStreamingDestinationCommand,
UpdateTableCommand,
UpdateTableReplicaAutoScalingCommand,
UpdateTimeToLiveCommand,
Expand Down Expand Up @@ -983,6 +989,23 @@ export interface DynamoDB {
cb: (err: any, data?: UpdateItemCommandOutput) => void
): void;

/**
* @see {@link UpdateKinesisStreamingDestinationCommand}
*/
updateKinesisStreamingDestination(
args: UpdateKinesisStreamingDestinationCommandInput,
options?: __HttpHandlerOptions
): Promise<UpdateKinesisStreamingDestinationCommandOutput>;
updateKinesisStreamingDestination(
args: UpdateKinesisStreamingDestinationCommandInput,
cb: (err: any, data?: UpdateKinesisStreamingDestinationCommandOutput) => void
): void;
updateKinesisStreamingDestination(
args: UpdateKinesisStreamingDestinationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: UpdateKinesisStreamingDestinationCommandOutput) => void
): void;

/**
* @see {@link UpdateTableCommand}
*/
Expand Down
6 changes: 6 additions & 0 deletions clients/client-dynamodb/src/DynamoDBClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,10 @@ import {
UpdateGlobalTableSettingsCommandOutput,
} from "./commands/UpdateGlobalTableSettingsCommand";
import { UpdateItemCommandInput, UpdateItemCommandOutput } from "./commands/UpdateItemCommand";
import {
UpdateKinesisStreamingDestinationCommandInput,
UpdateKinesisStreamingDestinationCommandOutput,
} from "./commands/UpdateKinesisStreamingDestinationCommand";
import { UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand";
import {
UpdateTableReplicaAutoScalingCommandInput,
Expand Down Expand Up @@ -231,6 +235,7 @@ export type ServiceInputTypes =
| UpdateGlobalTableCommandInput
| UpdateGlobalTableSettingsCommandInput
| UpdateItemCommandInput
| UpdateKinesisStreamingDestinationCommandInput
| UpdateTableCommandInput
| UpdateTableReplicaAutoScalingCommandInput
| UpdateTimeToLiveCommandInput;
Expand Down Expand Up @@ -289,6 +294,7 @@ export type ServiceOutputTypes =
| UpdateGlobalTableCommandOutput
| UpdateGlobalTableSettingsCommandOutput
| UpdateItemCommandOutput
| UpdateKinesisStreamingDestinationCommandOutput
| UpdateTableCommandOutput
| UpdateTableReplicaAutoScalingCommandOutput
| UpdateTimeToLiveCommandOutput;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ export interface DescribeKinesisStreamingDestinationCommandOutput
* // KinesisDataStreamDestinations: [ // KinesisDataStreamDestinations
* // { // KinesisDataStreamDestination
* // StreamArn: "STRING_VALUE",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED" || "UPDATING",
* // DestinationStatusDescription: "STRING_VALUE",
* // ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,19 @@ export interface DisableKinesisStreamingDestinationCommandOutput
* const input = { // KinesisStreamingDestinationInput
* TableName: "STRING_VALUE", // required
* StreamArn: "STRING_VALUE", // required
* EnableKinesisStreamingConfiguration: { // EnableKinesisStreamingConfiguration
* ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* },
* };
* const command = new DisableKinesisStreamingDestinationCommand(input);
* const response = await client.send(command);
* // { // KinesisStreamingDestinationOutput
* // TableName: "STRING_VALUE",
* // StreamArn: "STRING_VALUE",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED" || "UPDATING",
* // EnableKinesisStreamingConfiguration: { // EnableKinesisStreamingConfiguration
* // ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* // },
* // };
*
* ```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,19 @@ export interface EnableKinesisStreamingDestinationCommandOutput
* const input = { // KinesisStreamingDestinationInput
* TableName: "STRING_VALUE", // required
* StreamArn: "STRING_VALUE", // required
* EnableKinesisStreamingConfiguration: { // EnableKinesisStreamingConfiguration
* ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* },
* };
* const command = new EnableKinesisStreamingDestinationCommand(input);
* const response = await client.send(command);
* // { // KinesisStreamingDestinationOutput
* // TableName: "STRING_VALUE",
* // StreamArn: "STRING_VALUE",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED" || "UPDATING",
* // EnableKinesisStreamingConfiguration: { // EnableKinesisStreamingConfiguration
* // ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* // },
* // };
*
* ```
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
// smithy-typescript generated code
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
import { getSerdePlugin } from "@smithy/middleware-serde";
import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient";
import { commonParams } from "../endpoint/EndpointParameters";
import { UpdateKinesisStreamingDestinationInput, UpdateKinesisStreamingDestinationOutput } from "../models/models_0";
import {
de_UpdateKinesisStreamingDestinationCommand,
se_UpdateKinesisStreamingDestinationCommand,
} from "../protocols/Aws_json1_0";

/**
* @public
*/
export { __MetadataBearer, $Command };
/**
* @public
*
* The input for {@link UpdateKinesisStreamingDestinationCommand}.
*/
export interface UpdateKinesisStreamingDestinationCommandInput extends UpdateKinesisStreamingDestinationInput {}
/**
* @public
*
* The output of {@link UpdateKinesisStreamingDestinationCommand}.
*/
export interface UpdateKinesisStreamingDestinationCommandOutput
extends UpdateKinesisStreamingDestinationOutput,
__MetadataBearer {}

/**
* @public
* <p>The command to update the Kinesis stream destination.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { DynamoDBClient, UpdateKinesisStreamingDestinationCommand } from "@aws-sdk/client-dynamodb"; // ES Modules import
* // const { DynamoDBClient, UpdateKinesisStreamingDestinationCommand } = require("@aws-sdk/client-dynamodb"); // CommonJS import
* const client = new DynamoDBClient(config);
* const input = { // UpdateKinesisStreamingDestinationInput
* TableName: "STRING_VALUE", // required
* StreamArn: "STRING_VALUE", // required
* UpdateKinesisStreamingConfiguration: { // UpdateKinesisStreamingConfiguration
* ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* },
* };
* const command = new UpdateKinesisStreamingDestinationCommand(input);
* const response = await client.send(command);
* // { // UpdateKinesisStreamingDestinationOutput
* // TableName: "STRING_VALUE",
* // StreamArn: "STRING_VALUE",
* // DestinationStatus: "ENABLING" || "ACTIVE" || "DISABLING" || "DISABLED" || "ENABLE_FAILED" || "UPDATING",
* // UpdateKinesisStreamingConfiguration: { // UpdateKinesisStreamingConfiguration
* // ApproximateCreationDateTimePrecision: "MILLISECOND" || "MICROSECOND",
* // },
* // };
*
* ```
*
* @param UpdateKinesisStreamingDestinationCommandInput - {@link UpdateKinesisStreamingDestinationCommandInput}
* @returns {@link UpdateKinesisStreamingDestinationCommandOutput}
* @see {@link UpdateKinesisStreamingDestinationCommandInput} for command's `input` shape.
* @see {@link UpdateKinesisStreamingDestinationCommandOutput} for command's `response` shape.
* @see {@link DynamoDBClientResolvedConfig | config} for DynamoDBClient's `config` shape.
*
* @throws {@link InternalServerError} (server fault)
* <p>An error occurred on the server side.</p>
*
* @throws {@link InvalidEndpointException} (client fault)
*
* @throws {@link LimitExceededException} (client fault)
* <p>There is no limit to the number of daily on-demand backups that can be taken. </p>
* <p>For most purposes, up to 500 simultaneous table operations are allowed per account. These operations
* include <code>CreateTable</code>, <code>UpdateTable</code>,
* <code>DeleteTable</code>,<code>UpdateTimeToLive</code>,
* <code>RestoreTableFromBackup</code>, and <code>RestoreTableToPointInTime</code>. </p>
* <p>When you are creating a table with one or more secondary
* indexes, you can have up to 250 such requests running at a time. However, if the table or
* index specifications are complex, then DynamoDB might temporarily reduce the number
* of concurrent operations.</p>
* <p>When importing into DynamoDB, up to 50 simultaneous import table operations are allowed per account.</p>
* <p>There is a soft account quota of 2,500 tables.</p>
* <p>GetRecords was called with a value of more than 1000 for the limit request parameter.</p>
* <p>More than 2 processes are reading from the same streams shard at the same time. Exceeding
* this limit may result in request throttling.</p>
*
* @throws {@link ResourceInUseException} (client fault)
* <p>The operation conflicts with the resource's availability. For example, you
* attempted to recreate an existing table, or tried to delete a table currently in the
* <code>CREATING</code> state.</p>
*
* @throws {@link ResourceNotFoundException} (client fault)
* <p>The operation tried to access a nonexistent table or index. The resource might not
* be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
*
* @throws {@link DynamoDBServiceException}
* <p>Base exception class for all service exceptions from DynamoDB service.</p>
*
*/
export class UpdateKinesisStreamingDestinationCommand extends $Command
.classBuilder<
UpdateKinesisStreamingDestinationCommandInput,
UpdateKinesisStreamingDestinationCommandOutput,
DynamoDBClientResolvedConfig,
ServiceInputTypes,
ServiceOutputTypes
>()
.ep({
...commonParams,
})
.m(function (this: any, Command: any, cs: any, config: DynamoDBClientResolvedConfig, o: any) {
return [
getSerdePlugin(config, this.serialize, this.deserialize),
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
];
})
.s("DynamoDB_20120810", "UpdateKinesisStreamingDestination", {})
.n("DynamoDBClient", "UpdateKinesisStreamingDestinationCommand")
.f(void 0, void 0)
.ser(se_UpdateKinesisStreamingDestinationCommand)
.de(de_UpdateKinesisStreamingDestinationCommand)
.build() {}
1 change: 1 addition & 0 deletions clients/client-dynamodb/src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ export * from "./UpdateContributorInsightsCommand";
export * from "./UpdateGlobalTableCommand";
export * from "./UpdateGlobalTableSettingsCommand";
export * from "./UpdateItemCommand";
export * from "./UpdateKinesisStreamingDestinationCommand";
export * from "./UpdateTableCommand";
export * from "./UpdateTableReplicaAutoScalingCommand";
export * from "./UpdateTimeToLiveCommand";
Loading

0 comments on commit 2be6625

Please sign in to comment.