@aws-sdk/client-dynamodb
Version:
AWS SDK for JavaScript Dynamodb Client for Node.js, Browser and React Native
425 lines (399 loc) • 16.6 kB
text/typescript
import {
BatchExecuteStatementCommandInput,
BatchExecuteStatementCommandOutput,
} from "./commands/BatchExecuteStatementCommand";
import { BatchGetItemCommandInput, BatchGetItemCommandOutput } from "./commands/BatchGetItemCommand";
import { BatchWriteItemCommandInput, BatchWriteItemCommandOutput } from "./commands/BatchWriteItemCommand";
import { CreateBackupCommandInput, CreateBackupCommandOutput } from "./commands/CreateBackupCommand";
import { CreateGlobalTableCommandInput, CreateGlobalTableCommandOutput } from "./commands/CreateGlobalTableCommand";
import { CreateTableCommandInput, CreateTableCommandOutput } from "./commands/CreateTableCommand";
import { DeleteBackupCommandInput, DeleteBackupCommandOutput } from "./commands/DeleteBackupCommand";
import { DeleteItemCommandInput, DeleteItemCommandOutput } from "./commands/DeleteItemCommand";
import { DeleteTableCommandInput, DeleteTableCommandOutput } from "./commands/DeleteTableCommand";
import { DescribeBackupCommandInput, DescribeBackupCommandOutput } from "./commands/DescribeBackupCommand";
import {
DescribeContinuousBackupsCommandInput,
DescribeContinuousBackupsCommandOutput,
} from "./commands/DescribeContinuousBackupsCommand";
import {
DescribeContributorInsightsCommandInput,
DescribeContributorInsightsCommandOutput,
} from "./commands/DescribeContributorInsightsCommand";
import { DescribeEndpointsCommandInput, DescribeEndpointsCommandOutput } from "./commands/DescribeEndpointsCommand";
import { DescribeExportCommandInput, DescribeExportCommandOutput } from "./commands/DescribeExportCommand";
import {
DescribeGlobalTableCommandInput,
DescribeGlobalTableCommandOutput,
} from "./commands/DescribeGlobalTableCommand";
import {
DescribeGlobalTableSettingsCommandInput,
DescribeGlobalTableSettingsCommandOutput,
} from "./commands/DescribeGlobalTableSettingsCommand";
import {
DescribeKinesisStreamingDestinationCommandInput,
DescribeKinesisStreamingDestinationCommandOutput,
} from "./commands/DescribeKinesisStreamingDestinationCommand";
import { DescribeLimitsCommandInput, DescribeLimitsCommandOutput } from "./commands/DescribeLimitsCommand";
import { DescribeTableCommandInput, DescribeTableCommandOutput } from "./commands/DescribeTableCommand";
import {
DescribeTableReplicaAutoScalingCommandInput,
DescribeTableReplicaAutoScalingCommandOutput,
} from "./commands/DescribeTableReplicaAutoScalingCommand";
import { DescribeTimeToLiveCommandInput, DescribeTimeToLiveCommandOutput } from "./commands/DescribeTimeToLiveCommand";
import {
DisableKinesisStreamingDestinationCommandInput,
DisableKinesisStreamingDestinationCommandOutput,
} from "./commands/DisableKinesisStreamingDestinationCommand";
import {
EnableKinesisStreamingDestinationCommandInput,
EnableKinesisStreamingDestinationCommandOutput,
} from "./commands/EnableKinesisStreamingDestinationCommand";
import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "./commands/ExecuteStatementCommand";
import { ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput } from "./commands/ExecuteTransactionCommand";
import {
ExportTableToPointInTimeCommandInput,
ExportTableToPointInTimeCommandOutput,
} from "./commands/ExportTableToPointInTimeCommand";
import { GetItemCommandInput, GetItemCommandOutput } from "./commands/GetItemCommand";
import { ListBackupsCommandInput, ListBackupsCommandOutput } from "./commands/ListBackupsCommand";
import {
ListContributorInsightsCommandInput,
ListContributorInsightsCommandOutput,
} from "./commands/ListContributorInsightsCommand";
import { ListExportsCommandInput, ListExportsCommandOutput } from "./commands/ListExportsCommand";
import { ListGlobalTablesCommandInput, ListGlobalTablesCommandOutput } from "./commands/ListGlobalTablesCommand";
import { ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand";
import { ListTagsOfResourceCommandInput, ListTagsOfResourceCommandOutput } from "./commands/ListTagsOfResourceCommand";
import { PutItemCommandInput, PutItemCommandOutput } from "./commands/PutItemCommand";
import { QueryCommandInput, QueryCommandOutput } from "./commands/QueryCommand";
import {
RestoreTableFromBackupCommandInput,
RestoreTableFromBackupCommandOutput,
} from "./commands/RestoreTableFromBackupCommand";
import {
RestoreTableToPointInTimeCommandInput,
RestoreTableToPointInTimeCommandOutput,
} from "./commands/RestoreTableToPointInTimeCommand";
import { ScanCommandInput, ScanCommandOutput } from "./commands/ScanCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { TransactGetItemsCommandInput, TransactGetItemsCommandOutput } from "./commands/TransactGetItemsCommand";
import { TransactWriteItemsCommandInput, TransactWriteItemsCommandOutput } from "./commands/TransactWriteItemsCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
import {
UpdateContinuousBackupsCommandInput,
UpdateContinuousBackupsCommandOutput,
} from "./commands/UpdateContinuousBackupsCommand";
import {
UpdateContributorInsightsCommandInput,
UpdateContributorInsightsCommandOutput,
} from "./commands/UpdateContributorInsightsCommand";
import { UpdateGlobalTableCommandInput, UpdateGlobalTableCommandOutput } from "./commands/UpdateGlobalTableCommand";
import {
UpdateGlobalTableSettingsCommandInput,
UpdateGlobalTableSettingsCommandOutput,
} from "./commands/UpdateGlobalTableSettingsCommand";
import { UpdateItemCommandInput, UpdateItemCommandOutput } from "./commands/UpdateItemCommand";
import { UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand";
import {
UpdateTableReplicaAutoScalingCommandInput,
UpdateTableReplicaAutoScalingCommandOutput,
} from "./commands/UpdateTableReplicaAutoScalingCommand";
import { UpdateTimeToLiveCommandInput, UpdateTimeToLiveCommandOutput } from "./commands/UpdateTimeToLiveCommand";
import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig";
import {
EndpointsInputConfig,
EndpointsResolvedConfig,
RegionInputConfig,
RegionResolvedConfig,
resolveEndpointsConfig,
resolveRegionConfig,
} from "@aws-sdk/config-resolver";
import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length";
import {
HostHeaderInputConfig,
HostHeaderResolvedConfig,
getHostHeaderPlugin,
resolveHostHeaderConfig,
} from "@aws-sdk/middleware-host-header";
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry";
import {
AwsAuthInputConfig,
AwsAuthResolvedConfig,
getAwsAuthPlugin,
resolveAwsAuthConfig,
} from "@aws-sdk/middleware-signing";
import {
UserAgentInputConfig,
UserAgentResolvedConfig,
getUserAgentPlugin,
resolveUserAgentConfig,
} from "@aws-sdk/middleware-user-agent";
import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
import {
Client as __Client,
SmithyConfiguration as __SmithyConfiguration,
SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
} from "@aws-sdk/smithy-client";
import {
Provider,
RegionInfoProvider,
Credentials as __Credentials,
Decoder as __Decoder,
Encoder as __Encoder,
HashConstructor as __HashConstructor,
HttpHandlerOptions as __HttpHandlerOptions,
Logger as __Logger,
Provider as __Provider,
StreamCollector as __StreamCollector,
UrlParser as __UrlParser,
UserAgent as __UserAgent,
} from "@aws-sdk/types";
export type ServiceInputTypes =
| BatchExecuteStatementCommandInput
| BatchGetItemCommandInput
| BatchWriteItemCommandInput
| CreateBackupCommandInput
| CreateGlobalTableCommandInput
| CreateTableCommandInput
| DeleteBackupCommandInput
| DeleteItemCommandInput
| DeleteTableCommandInput
| DescribeBackupCommandInput
| DescribeContinuousBackupsCommandInput
| DescribeContributorInsightsCommandInput
| DescribeEndpointsCommandInput
| DescribeExportCommandInput
| DescribeGlobalTableCommandInput
| DescribeGlobalTableSettingsCommandInput
| DescribeKinesisStreamingDestinationCommandInput
| DescribeLimitsCommandInput
| DescribeTableCommandInput
| DescribeTableReplicaAutoScalingCommandInput
| DescribeTimeToLiveCommandInput
| DisableKinesisStreamingDestinationCommandInput
| EnableKinesisStreamingDestinationCommandInput
| ExecuteStatementCommandInput
| ExecuteTransactionCommandInput
| ExportTableToPointInTimeCommandInput
| GetItemCommandInput
| ListBackupsCommandInput
| ListContributorInsightsCommandInput
| ListExportsCommandInput
| ListGlobalTablesCommandInput
| ListTablesCommandInput
| ListTagsOfResourceCommandInput
| PutItemCommandInput
| QueryCommandInput
| RestoreTableFromBackupCommandInput
| RestoreTableToPointInTimeCommandInput
| ScanCommandInput
| TagResourceCommandInput
| TransactGetItemsCommandInput
| TransactWriteItemsCommandInput
| UntagResourceCommandInput
| UpdateContinuousBackupsCommandInput
| UpdateContributorInsightsCommandInput
| UpdateGlobalTableCommandInput
| UpdateGlobalTableSettingsCommandInput
| UpdateItemCommandInput
| UpdateTableCommandInput
| UpdateTableReplicaAutoScalingCommandInput
| UpdateTimeToLiveCommandInput;
export type ServiceOutputTypes =
| BatchExecuteStatementCommandOutput
| BatchGetItemCommandOutput
| BatchWriteItemCommandOutput
| CreateBackupCommandOutput
| CreateGlobalTableCommandOutput
| CreateTableCommandOutput
| DeleteBackupCommandOutput
| DeleteItemCommandOutput
| DeleteTableCommandOutput
| DescribeBackupCommandOutput
| DescribeContinuousBackupsCommandOutput
| DescribeContributorInsightsCommandOutput
| DescribeEndpointsCommandOutput
| DescribeExportCommandOutput
| DescribeGlobalTableCommandOutput
| DescribeGlobalTableSettingsCommandOutput
| DescribeKinesisStreamingDestinationCommandOutput
| DescribeLimitsCommandOutput
| DescribeTableCommandOutput
| DescribeTableReplicaAutoScalingCommandOutput
| DescribeTimeToLiveCommandOutput
| DisableKinesisStreamingDestinationCommandOutput
| EnableKinesisStreamingDestinationCommandOutput
| ExecuteStatementCommandOutput
| ExecuteTransactionCommandOutput
| ExportTableToPointInTimeCommandOutput
| GetItemCommandOutput
| ListBackupsCommandOutput
| ListContributorInsightsCommandOutput
| ListExportsCommandOutput
| ListGlobalTablesCommandOutput
| ListTablesCommandOutput
| ListTagsOfResourceCommandOutput
| PutItemCommandOutput
| QueryCommandOutput
| RestoreTableFromBackupCommandOutput
| RestoreTableToPointInTimeCommandOutput
| ScanCommandOutput
| TagResourceCommandOutput
| TransactGetItemsCommandOutput
| TransactWriteItemsCommandOutput
| UntagResourceCommandOutput
| UpdateContinuousBackupsCommandOutput
| UpdateContributorInsightsCommandOutput
| UpdateGlobalTableCommandOutput
| UpdateGlobalTableSettingsCommandOutput
| UpdateItemCommandOutput
| UpdateTableCommandOutput
| UpdateTableReplicaAutoScalingCommandOutput
| UpdateTimeToLiveCommandOutput;
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
/**
* The HTTP handler to use. Fetch in browser and Https in Nodejs.
*/
requestHandler?: __HttpHandler;
/**
* A constructor for a class implementing the @aws-sdk/types.Hash interface
* that computes the SHA-256 HMAC or checksum of a string or binary buffer.
*/
sha256?: __HashConstructor;
/**
* The function that will be used to convert strings into HTTP endpoints.
*/
urlParser?: __UrlParser;
/**
* A function that can calculate the length of a request body.
*/
bodyLengthChecker?: (body: any) => number | undefined;
/**
* A function that converts a stream into an array of bytes.
*/
streamCollector?: __StreamCollector;
/**
* The function that will be used to convert a base64-encoded string to a byte array
*/
base64Decoder?: __Decoder;
/**
* The function that will be used to convert binary data to a base64-encoded string
*/
base64Encoder?: __Encoder;
/**
* The function that will be used to convert a UTF8-encoded string to a byte array
*/
utf8Decoder?: __Decoder;
/**
* The function that will be used to convert binary data to a UTF-8 encoded string
*/
utf8Encoder?: __Encoder;
/**
* The runtime environment
*/
runtime?: string;
/**
* Disable dyanamically changing the endpoint of the client based on the hostPrefix
* trait of an operation.
*/
disableHostPrefix?: boolean;
/**
* Unique service identifier.
* @internal
*/
serviceId?: string;
/**
* Default credentials provider; Not available in browser runtime
*/
credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
/**
* The AWS region to which this client will send requests
*/
region?: string | __Provider<string>;
/**
* Value for how many times a request will be made at most in case of retry.
*/
maxAttempts?: number | __Provider<number>;
/**
* Optional logger for logging debug/info/warn/error.
*/
logger?: __Logger;
/**
* Fetch related hostname, signing name or signing region with given region.
*/
regionInfoProvider?: RegionInfoProvider;
/**
* The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
* @internal
*/
defaultUserAgentProvider?: Provider<__UserAgent>;
}
export type DynamoDBClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &
ClientDefaults &
RegionInputConfig &
EndpointsInputConfig &
AwsAuthInputConfig &
RetryInputConfig &
HostHeaderInputConfig &
UserAgentInputConfig;
export type DynamoDBClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> &
Required<ClientDefaults> &
RegionResolvedConfig &
EndpointsResolvedConfig &
AwsAuthResolvedConfig &
RetryResolvedConfig &
HostHeaderResolvedConfig &
UserAgentResolvedConfig;
/**
* <fullname>Amazon DynamoDB</fullname>
*
*
* <p>Amazon DynamoDB is a fully managed NoSQL database service that provides fast and
* predictable performance with seamless scalability. DynamoDB lets you offload the
* administrative burdens of operating and scaling a distributed database, so that you don't have
* to worry about hardware provisioning, setup and configuration, replication, software patching,
* or cluster scaling.</p>
*
* <p>With DynamoDB, you can create database tables that can store and retrieve any amount of
* data, and serve any level of request traffic. You can scale up or scale down your tables'
* throughput capacity without downtime or performance degradation, and use the AWS Management
* Console to monitor resource utilization and performance metrics.</p>
*
* <p>DynamoDB automatically spreads the data and traffic for your tables over a sufficient
* number of servers to handle your throughput and storage requirements, while maintaining
* consistent and fast performance. All of your data is stored on solid state disks (SSDs) and
* automatically replicated across multiple Availability Zones in an AWS region, providing
* built-in high availability and data durability. </p>
*/
export class DynamoDBClient extends __Client<
__HttpHandlerOptions,
ServiceInputTypes,
ServiceOutputTypes,
DynamoDBClientResolvedConfig
> {
readonly config: DynamoDBClientResolvedConfig;
constructor(configuration: DynamoDBClientConfig) {
let _config_0 = {
...__ClientDefaultValues,
...configuration,
};
let _config_1 = resolveRegionConfig(_config_0);
let _config_2 = resolveEndpointsConfig(_config_1);
let _config_3 = resolveAwsAuthConfig(_config_2);
let _config_4 = resolveRetryConfig(_config_3);
let _config_5 = resolveHostHeaderConfig(_config_4);
let _config_6 = resolveUserAgentConfig(_config_5);
super(_config_6);
this.config = _config_6;
this.middlewareStack.use(getAwsAuthPlugin(this.config));
this.middlewareStack.use(getRetryPlugin(this.config));
this.middlewareStack.use(getContentLengthPlugin(this.config));
this.middlewareStack.use(getHostHeaderPlugin(this.config));
this.middlewareStack.use(getLoggerPlugin(this.config));
this.middlewareStack.use(getUserAgentPlugin(this.config));
}
destroy(): void {
super.destroy();
}
}