UNPKG

@aws-sdk/client-dynamodb

Version:

AWS SDK for JavaScript Dynamodb Client for Node.js, Browser and React Native

1,219 lines 386 kB
import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** * <p>Contains details of a table archival operation.</p> */ export interface ArchivalSummary { /** * <p>The date and time when table archival was initiated by DynamoDB, * in UNIX epoch time format.</p> */ ArchivalDateTime?: Date; /** * <p>The reason DynamoDB archived the table. Currently, the only * possible value is:</p> * * <ul> * <li> * <p> * <code>INACCESSIBLE_ENCRYPTION_CREDENTIALS</code> - The * table was archived due to the table's AWS KMS key being inaccessible * for more than seven days. An On-Demand backup was created at the archival * time.</p> * </li> * </ul> */ ArchivalReason?: string; /** * <p>The Amazon Resource Name (ARN) of the backup the table was archived * to, when applicable in the archival reason. If you wish to restore this * backup to the same table name, you will need to delete the original * table.</p> */ ArchivalBackupArn?: string; } export declare namespace ArchivalSummary { const filterSensitiveLog: (obj: ArchivalSummary) => any; } export declare type AttributeAction = "ADD" | "DELETE" | "PUT"; export declare type ScalarAttributeType = "B" | "N" | "S"; /** * <p>Represents an attribute for describing the key schema for the table and indexes.</p> */ export interface AttributeDefinition { /** * <p>A name for the attribute.</p> */ AttributeName: string | undefined; /** * <p>The data type for the attribute, where:</p> * <ul> * <li> * <p> * <code>S</code> - the attribute is of type String</p> * </li> * <li> * <p> * <code>N</code> - the attribute is of type Number</p> * </li> * <li> * <p> * <code>B</code> - the attribute is of type Binary</p> * </li> * </ul> */ AttributeType: ScalarAttributeType | string | undefined; } export declare namespace AttributeDefinition { const filterSensitiveLog: (obj: AttributeDefinition) => any; } /** * <p>Represents the properties of a target tracking scaling policy.</p> */ export interface AutoScalingTargetTrackingScalingPolicyConfigurationDescription { /** * <p>Indicates whether scale in by the target tracking policy is disabled. If the value is true, * scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. * Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. * The default value is false.</p> */ DisableScaleIn?: boolean; /** * <p>The amount of time, in seconds, after a scale in activity completes before another scale * in activity can start. The cooldown period is used to block subsequent scale in requests * until it has expired. You should scale in conservatively to protect your application's * availability. However, if another alarm triggers a scale out policy during the cooldown * period after a scale-in, application auto scaling scales out your scalable target * immediately. </p> */ ScaleInCooldown?: number; /** * <p>The amount of time, in seconds, after a scale out activity completes before another scale out * activity can start. While the cooldown period is in effect, the capacity that has been added * by the previous scale out event that initiated the cooldown is calculated as part of the * desired capacity for the next scale out. You should continuously (but not excessively) * scale out.</p> */ ScaleOutCooldown?: number; /** * <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).</p> */ TargetValue: number | undefined; } export declare namespace AutoScalingTargetTrackingScalingPolicyConfigurationDescription { const filterSensitiveLog: (obj: AutoScalingTargetTrackingScalingPolicyConfigurationDescription) => any; } /** * <p>Represents the properties of the scaling policy.</p> */ export interface AutoScalingPolicyDescription { /** * <p>The name of the scaling policy.</p> */ PolicyName?: string; /** * <p>Represents a target tracking scaling policy configuration.</p> */ TargetTrackingScalingPolicyConfiguration?: AutoScalingTargetTrackingScalingPolicyConfigurationDescription; } export declare namespace AutoScalingPolicyDescription { const filterSensitiveLog: (obj: AutoScalingPolicyDescription) => any; } /** * <p>Represents the settings of a target tracking scaling policy that will be modified.</p> */ export interface AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { /** * <p>Indicates whether scale in by the target tracking policy is disabled. If the value is true, * scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. * Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. * The default value is false.</p> */ DisableScaleIn?: boolean; /** * <p>The amount of time, in seconds, after a scale in activity completes before another scale * in activity can start. The cooldown period is used to block subsequent scale in requests * until it has expired. You should scale in conservatively to protect your application's * availability. However, if another alarm triggers a scale out policy during the cooldown * period after a scale-in, application auto scaling scales out your scalable target * immediately. </p> */ ScaleInCooldown?: number; /** * <p>The amount of time, in seconds, after a scale out activity completes before another scale out * activity can start. While the cooldown period is in effect, the capacity that has been added * by the previous scale out event that initiated the cooldown is calculated as part of the * desired capacity for the next scale out. You should continuously (but not excessively) * scale out.</p> */ ScaleOutCooldown?: number; /** * <p>The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).</p> */ TargetValue: number | undefined; } export declare namespace AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { const filterSensitiveLog: (obj: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) => any; } /** * <p>Represents the auto scaling policy to be modified.</p> */ export interface AutoScalingPolicyUpdate { /** * <p>The name of the scaling policy.</p> */ PolicyName?: string; /** * <p>Represents a target tracking scaling policy configuration.</p> */ TargetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate | undefined; } export declare namespace AutoScalingPolicyUpdate { const filterSensitiveLog: (obj: AutoScalingPolicyUpdate) => any; } /** * <p>Represents the auto scaling settings for a global table or global secondary * index.</p> */ export interface AutoScalingSettingsDescription { /** * <p>The minimum capacity units that a global table or global secondary index should be scaled down to.</p> */ MinimumUnits?: number; /** * <p>The maximum capacity units that a global table or global secondary index should be scaled up to.</p> */ MaximumUnits?: number; /** * <p>Disabled auto scaling for this global table or global secondary index.</p> */ AutoScalingDisabled?: boolean; /** * <p>Role ARN used for configuring the auto scaling policy.</p> */ AutoScalingRoleArn?: string; /** * <p>Information about the scaling policies.</p> */ ScalingPolicies?: AutoScalingPolicyDescription[]; } export declare namespace AutoScalingSettingsDescription { const filterSensitiveLog: (obj: AutoScalingSettingsDescription) => any; } /** * <p>Represents the auto scaling settings to be modified for a global table or global * secondary index.</p> */ export interface AutoScalingSettingsUpdate { /** * <p>The minimum capacity units that a global table or global secondary index should be scaled down to.</p> */ MinimumUnits?: number; /** * <p>The maximum capacity units that a global table or global secondary index should be scaled up to.</p> */ MaximumUnits?: number; /** * <p>Disabled auto scaling for this global table or global secondary index.</p> */ AutoScalingDisabled?: boolean; /** * <p>Role ARN used for configuring auto scaling policy.</p> */ AutoScalingRoleArn?: string; /** * <p>The scaling policy to apply for scaling target global table or global secondary index capacity units.</p> */ ScalingPolicyUpdate?: AutoScalingPolicyUpdate; } export declare namespace AutoScalingSettingsUpdate { const filterSensitiveLog: (obj: AutoScalingSettingsUpdate) => any; } export declare type BackupStatus = "AVAILABLE" | "CREATING" | "DELETED"; export declare enum BackupType { AWS_BACKUP = "AWS_BACKUP", SYSTEM = "SYSTEM", USER = "USER" } /** * <p>Contains the details of the backup created for the table.</p> */ export interface BackupDetails { /** * <p>ARN associated with the backup.</p> */ BackupArn: string | undefined; /** * <p>Name of the requested backup.</p> */ BackupName: string | undefined; /** * <p>Size of the backup in bytes.</p> */ BackupSizeBytes?: number; /** * <p>Backup can be in one of the following states: CREATING, ACTIVE, DELETED. </p> */ BackupStatus: BackupStatus | string | undefined; /** * <p>BackupType:</p> * <ul> * <li> * <p> * <code>USER</code> - You create and manage these using the on-demand backup feature.</p> * </li> * <li> * <p> * <code>SYSTEM</code> - If you delete a table with point-in-time recovery enabled, a <code>SYSTEM</code> backup is automatically * created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted * table to the state it was in just before the point of deletion. * </p> * </li> * <li> * <p> * <code>AWS_BACKUP</code> - On-demand backup created by you from AWS Backup service.</p> * </li> * </ul> */ BackupType: BackupType | string | undefined; /** * <p>Time at which the backup was created. This is the request time of the backup. </p> */ BackupCreationDateTime: Date | undefined; /** * <p>Time at which the automatic on-demand backup created by DynamoDB will expire. This <code>SYSTEM</code> * on-demand backup expires automatically 35 days after its creation.</p> */ BackupExpiryDateTime?: Date; } export declare namespace BackupDetails { const filterSensitiveLog: (obj: BackupDetails) => any; } export declare type BillingMode = "PAY_PER_REQUEST" | "PROVISIONED"; export declare type KeyType = "HASH" | "RANGE"; /** * <p>Represents <i>a single element</i> of a key schema. A key schema specifies the attributes * that make up the primary key of a table, or the key attributes of an index.</p> * <p>A <code>KeySchemaElement</code> represents exactly one attribute of the primary key. For example, a * simple primary key would be represented by one <code>KeySchemaElement</code> (for the partition key). A composite * primary key would require one <code>KeySchemaElement</code> for the partition key, and another * <code>KeySchemaElement</code> for the sort key.</p> * <p>A <code>KeySchemaElement</code> must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.</p> */ export interface KeySchemaElement { /** * <p>The name of a key attribute.</p> */ AttributeName: string | undefined; /** * <p>The role that this key attribute will assume:</p> * <ul> * <li> * <p> * <code>HASH</code> - partition key</p> * </li> * <li> * <p> * <code>RANGE</code> - sort key</p> * </li> * </ul> * <note> * <p>The partition key of an item is also known as its <i>hash attribute</i>. The * term "hash attribute" derives from DynamoDB's usage of an internal hash function to * evenly distribute data items across partitions, based on their partition key values.</p> * <p>The sort key of an item is also known as its <i>range attribute</i>. * The term "range attribute" derives from the way DynamoDB stores items with the same * partition key physically close together, in sorted order by the sort key value.</p> * </note> */ KeyType: KeyType | string | undefined; } export declare namespace KeySchemaElement { const filterSensitiveLog: (obj: KeySchemaElement) => any; } /** * <p>Represents the provisioned throughput settings for a specified table or index. The settings * can be modified using the <code>UpdateTable</code> operation.</p> * <p>For current minimum and maximum provisioned throughput values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html">Service, Account, and Table Quotas</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> */ export interface ProvisionedThroughput { /** * <p>The maximum number of strongly consistent reads consumed per second before DynamoDB returns a * <code>ThrottlingException</code>. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput">Specifying Read and Write * Requirements</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> * <p>If read/write capacity mode is <code>PAY_PER_REQUEST</code> the value is set to 0.</p> */ ReadCapacityUnits: number | undefined; /** * <p>The maximum number of writes consumed per second before DynamoDB returns a * <code>ThrottlingException</code>. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput">Specifying Read and Write * Requirements</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> * <p>If read/write capacity mode is <code>PAY_PER_REQUEST</code> the value is set to 0.</p> */ WriteCapacityUnits: number | undefined; } export declare namespace ProvisionedThroughput { const filterSensitiveLog: (obj: ProvisionedThroughput) => any; } /** * <p>Contains the details of the table when the backup was created. </p> */ export interface SourceTableDetails { /** * <p>The name of the table for which the backup was created. </p> */ TableName: string | undefined; /** * <p>Unique identifier for the table for which the backup was created. </p> */ TableId: string | undefined; /** * <p>ARN of the table for which backup was created. </p> */ TableArn?: string; /** * <p>Size of the table in bytes. Note that this is an approximate value.</p> */ TableSizeBytes?: number; /** * <p>Schema of the table. </p> */ KeySchema: KeySchemaElement[] | undefined; /** * <p>Time when the source table was created. </p> */ TableCreationDateTime: Date | undefined; /** * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> */ ProvisionedThroughput: ProvisionedThroughput | undefined; /** * <p>Number of items in the table. Note that this is an approximate value. </p> */ ItemCount?: number; /** * <p>Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.</p> * <ul> * <li> * <p> * <code>PROVISIONED</code> - Sets the read/write capacity mode to <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for predictable workloads.</p> * </li> * <li> * <p> * <code>PAY_PER_REQUEST</code> - Sets the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. * </p> * </li> * </ul> */ BillingMode?: BillingMode | string; } export declare namespace SourceTableDetails { const filterSensitiveLog: (obj: SourceTableDetails) => any; } export declare type ProjectionType = "ALL" | "INCLUDE" | "KEYS_ONLY"; /** * <p>Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.</p> */ export interface Projection { /** * <p>The set of attributes that are projected into the index:</p> * <ul> * <li> * <p> * <code>KEYS_ONLY</code> - Only the index and primary keys are projected into the * index.</p> * </li> * <li> * <p> * <code>INCLUDE</code> - In addition to the attributes described in <code>KEYS_ONLY</code>, the secondary index will include other non-key attributes that you specify.</p> * </li> * <li> * <p> * <code>ALL</code> - All of the table attributes are projected into the index.</p> * </li> * </ul> */ ProjectionType?: ProjectionType | string; /** * <p>Represents the non-key attribute names which will be projected into the index.</p> * <p>For local secondary indexes, the total count of <code>NonKeyAttributes</code> summed across all of the local secondary indexes, * must not exceed 20. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the total.</p> */ NonKeyAttributes?: string[]; } export declare namespace Projection { const filterSensitiveLog: (obj: Projection) => any; } /** * <p>Represents the properties of a global secondary index for the table * when the backup was created.</p> */ export interface GlobalSecondaryIndexInfo { /** * <p>The name of the global secondary index.</p> */ IndexName?: string; /** * <p>The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:</p> * <ul> * <li> * <p> * <code>HASH</code> - partition key</p> * </li> * <li> * <p> * <code>RANGE</code> - sort key</p> * </li> * </ul> * <note> * <p>The partition key of an item is also known as its <i>hash attribute</i>. The * term "hash attribute" derives from DynamoDB's usage of an internal hash function to * evenly distribute data items across partitions, based on their partition key values.</p> * <p>The sort key of an item is also known as its <i>range attribute</i>. * The term "range attribute" derives from the way DynamoDB stores items with the same * partition key physically close together, in sorted order by the sort key value.</p> * </note> */ KeySchema?: KeySchemaElement[]; /** * <p>Represents attributes that are copied (projected) from the table into * the global secondary index. These are in addition to the primary * key attributes and index key attributes, which are automatically * projected. </p> */ Projection?: Projection; /** * <p>Represents the provisioned throughput settings for the specified global secondary index. </p> */ ProvisionedThroughput?: ProvisionedThroughput; } export declare namespace GlobalSecondaryIndexInfo { const filterSensitiveLog: (obj: GlobalSecondaryIndexInfo) => any; } /** * <p>Represents the properties of a local secondary index for the table * when the backup was created.</p> */ export interface LocalSecondaryIndexInfo { /** * <p>Represents the name of the local secondary index.</p> */ IndexName?: string; /** * <p>The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:</p> * <ul> * <li> * <p> * <code>HASH</code> - partition key</p> * </li> * <li> * <p> * <code>RANGE</code> - sort key</p> * </li> * </ul> * <note> * <p>The partition key of an item is also known as its <i>hash attribute</i>. The * term "hash attribute" derives from DynamoDB's usage of an internal hash function to * evenly distribute data items across partitions, based on their partition key values.</p> * <p>The sort key of an item is also known as its <i>range attribute</i>. * The term "range attribute" derives from the way DynamoDB stores items with the same * partition key physically close together, in sorted order by the sort key value.</p> * </note> */ KeySchema?: KeySchemaElement[]; /** * <p>Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. </p> */ Projection?: Projection; } export declare namespace LocalSecondaryIndexInfo { const filterSensitiveLog: (obj: LocalSecondaryIndexInfo) => any; } export declare type SSEType = "AES256" | "KMS"; export declare type SSEStatus = "DISABLED" | "DISABLING" | "ENABLED" | "ENABLING" | "UPDATING"; /** * <p>The description of the server-side encryption status on the specified table.</p> */ export interface SSEDescription { /** * <p>Represents the current state of server-side encryption. The only supported values are:</p> * <ul> * <li> * <p> * <code>ENABLED</code> - Server-side encryption is enabled.</p> * </li> * <li> * <p> * <code>UPDATING</code> - Server-side encryption is being updated.</p> * </li> * </ul> */ Status?: SSEStatus | string; /** * <p>Server-side encryption type. The only supported value is:</p> * <ul> * <li> * <p> * <code>KMS</code> - Server-side encryption that uses AWS Key Management Service. The * key is stored in your account and is managed by AWS KMS (AWS KMS charges * apply).</p> * </li> * </ul> */ SSEType?: SSEType | string; /** * <p>The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.</p> */ KMSMasterKeyArn?: string; /** * <p>Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table's * AWS KMS key was inaccessible. This attribute will automatically be cleared when DynamoDB * detects that the table's AWS KMS key is accessible again. DynamoDB will initiate the table * archival process when table's AWS KMS key remains inaccessible for more than seven days * from this date.</p> */ InaccessibleEncryptionDateTime?: Date; } export declare namespace SSEDescription { const filterSensitiveLog: (obj: SSEDescription) => any; } export declare type StreamViewType = "KEYS_ONLY" | "NEW_AND_OLD_IMAGES" | "NEW_IMAGE" | "OLD_IMAGE"; /** * <p>Represents the DynamoDB Streams configuration for a table in DynamoDB.</p> */ export interface StreamSpecification { /** * <p>Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.</p> */ StreamEnabled: boolean | undefined; /** * <p> * When an item in the table is modified, <code>StreamViewType</code> * determines what information is written to the stream for this table. Valid values for * <code>StreamViewType</code> are:</p> * <ul> * <li> * <p> * <code>KEYS_ONLY</code> - Only the key attributes of the modified item are written to the stream.</p> * </li> * <li> * <p> * <code>NEW_IMAGE</code> - The entire item, as it appears after it was modified, is written * to the stream.</p> * </li> * <li> * <p> * <code>OLD_IMAGE</code> - The entire item, as it appeared before it was modified, is * written to the stream.</p> * </li> * <li> * <p> * <code>NEW_AND_OLD_IMAGES</code> - Both the new and the old item images of the item are * written to the stream.</p> * </li> * </ul> */ StreamViewType?: StreamViewType | string; } export declare namespace StreamSpecification { const filterSensitiveLog: (obj: StreamSpecification) => any; } export declare type TimeToLiveStatus = "DISABLED" | "DISABLING" | "ENABLED" | "ENABLING"; /** * <p>The description of the Time to Live (TTL) status on the specified table. </p> */ export interface TimeToLiveDescription { /** * <p> The TTL status for the table.</p> */ TimeToLiveStatus?: TimeToLiveStatus | string; /** * <p> The name of the TTL attribute for items in the table.</p> */ AttributeName?: string; } export declare namespace TimeToLiveDescription { const filterSensitiveLog: (obj: TimeToLiveDescription) => any; } /** * <p>Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL. </p> */ export interface SourceTableFeatureDetails { /** * <p>Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup. </p> */ LocalSecondaryIndexes?: LocalSecondaryIndexInfo[]; /** * <p>Represents the GSI properties for the table when the backup was created. It includes the * IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the table at * the time of backup. </p> */ GlobalSecondaryIndexes?: GlobalSecondaryIndexInfo[]; /** * <p>Stream settings on the table when the backup was created.</p> */ StreamDescription?: StreamSpecification; /** * <p>Time to Live settings on the table when the backup was created.</p> */ TimeToLiveDescription?: TimeToLiveDescription; /** * <p>The description of the server-side encryption status on the table when the backup was created.</p> */ SSEDescription?: SSEDescription; } export declare namespace SourceTableFeatureDetails { const filterSensitiveLog: (obj: SourceTableFeatureDetails) => any; } /** * <p>Contains the description of the backup created for the table.</p> */ export interface BackupDescription { /** * <p>Contains the details of the backup created for the table. </p> */ BackupDetails?: BackupDetails; /** * <p>Contains the details of the table when the backup was created. </p> */ SourceTableDetails?: SourceTableDetails; /** * <p>Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.</p> */ SourceTableFeatureDetails?: SourceTableFeatureDetails; } export declare namespace BackupDescription { const filterSensitiveLog: (obj: BackupDescription) => any; } /** * <p>There is another ongoing conflicting backup control plane operation on the table. The backup is either being created, deleted or restored to a table.</p> */ export interface BackupInUseException extends __SmithyException, $MetadataBearer { name: "BackupInUseException"; $fault: "client"; message?: string; } export declare namespace BackupInUseException { const filterSensitiveLog: (obj: BackupInUseException) => any; } /** * <p>Backup not found for the given BackupARN. </p> */ export interface BackupNotFoundException extends __SmithyException, $MetadataBearer { name: "BackupNotFoundException"; $fault: "client"; message?: string; } export declare namespace BackupNotFoundException { const filterSensitiveLog: (obj: BackupNotFoundException) => any; } /** * <p>Contains details for the backup.</p> */ export interface BackupSummary { /** * <p>Name of the table.</p> */ TableName?: string; /** * <p>Unique identifier for the table.</p> */ TableId?: string; /** * <p>ARN associated with the table.</p> */ TableArn?: string; /** * <p>ARN associated with the backup.</p> */ BackupArn?: string; /** * <p>Name of the specified backup.</p> */ BackupName?: string; /** * <p>Time at which the backup was created.</p> */ BackupCreationDateTime?: Date; /** * <p>Time at which the automatic on-demand backup created by DynamoDB will expire. This * <code>SYSTEM</code> on-demand backup expires automatically 35 days after its * creation.</p> */ BackupExpiryDateTime?: Date; /** * <p>Backup can be in one of the following states: CREATING, ACTIVE, DELETED.</p> */ BackupStatus?: BackupStatus | string; /** * <p>BackupType:</p> * <ul> * <li> * <p> * <code>USER</code> - You create and manage these using the on-demand backup feature.</p> * </li> * <li> * <p> * <code>SYSTEM</code> - If you delete a table with point-in-time recovery enabled, a <code>SYSTEM</code> backup is automatically * created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted * table to the state it was in just before the point of deletion. * </p> * </li> * <li> * <p> * <code>AWS_BACKUP</code> - On-demand backup created by you from AWS Backup service.</p> * </li> * </ul> */ BackupType?: BackupType | string; /** * <p>Size of the backup in bytes.</p> */ BackupSizeBytes?: number; } export declare namespace BackupSummary { const filterSensitiveLog: (obj: BackupSummary) => any; } export declare enum BackupTypeFilter { ALL = "ALL", AWS_BACKUP = "AWS_BACKUP", SYSTEM = "SYSTEM", USER = "USER" } export declare enum BatchStatementErrorCodeEnum { AccessDenied = "AccessDenied", ConditionalCheckFailed = "ConditionalCheckFailed", DuplicateItem = "DuplicateItem", InternalServerError = "InternalServerError", ItemCollectionSizeLimitExceeded = "ItemCollectionSizeLimitExceeded", ProvisionedThroughputExceeded = "ProvisionedThroughputExceeded", RequestLimitExceeded = "RequestLimitExceeded", ResourceNotFound = "ResourceNotFound", ThrottlingError = "ThrottlingError", TransactionConflict = "TransactionConflict", ValidationError = "ValidationError" } /** * <p> * An error associated with a statement in a PartiQL batch that was run. * </p> */ export interface BatchStatementError { /** * <p> * The error code associated with the failed PartiQL batch statement. * </p> */ Code?: BatchStatementErrorCodeEnum | string; /** * <p> * The error message associated with the PartiQL batch resposne. * </p> */ Message?: string; } export declare namespace BatchStatementError { const filterSensitiveLog: (obj: BatchStatementError) => any; } /** * <p>An error occurred on the server side.</p> */ export interface InternalServerError extends __SmithyException, $MetadataBearer { name: "InternalServerError"; $fault: "server"; /** * <p>The server encountered an internal error trying to fulfill the request.</p> */ message?: string; } export declare namespace InternalServerError { const filterSensitiveLog: (obj: InternalServerError) => any; } /** * <p>Throughput exceeds the current throughput quota for your account. Please contact AWS Support at <a href="https://aws.amazon.com/support">AWS Support</a> to request a quota increase.</p> */ export interface RequestLimitExceeded extends __SmithyException, $MetadataBearer { name: "RequestLimitExceeded"; $fault: "client"; message?: string; } export declare namespace RequestLimitExceeded { const filterSensitiveLog: (obj: RequestLimitExceeded) => any; } export declare type ReturnConsumedCapacity = "INDEXES" | "NONE" | "TOTAL"; /** * <p>Represents the amount of provisioned throughput capacity consumed on a table or an index.</p> */ export interface Capacity { /** * <p>The total number of read capacity units consumed on a table or an index.</p> */ ReadCapacityUnits?: number; /** * <p>The total number of write capacity units consumed on a table or an index.</p> */ WriteCapacityUnits?: number; /** * <p>The total number of capacity units consumed on a table or an index.</p> */ CapacityUnits?: number; } export declare namespace Capacity { const filterSensitiveLog: (obj: Capacity) => any; } /** * <p>The capacity units consumed by an operation. The data returned includes the total * provisioned throughput consumed, along with statistics for the table and any indexes involved * in the operation. <code>ConsumedCapacity</code> is only returned if the request asked for it. * For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Provisioned * Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> */ export interface ConsumedCapacity { /** * <p>The name of the table that was affected by the operation.</p> */ TableName?: string; /** * <p>The total number of capacity units consumed by the operation.</p> */ CapacityUnits?: number; /** * <p>The total number of read capacity units consumed by the operation.</p> */ ReadCapacityUnits?: number; /** * <p>The total number of write capacity units consumed by the operation.</p> */ WriteCapacityUnits?: number; /** * <p>The amount of throughput consumed on the table affected by the operation.</p> */ Table?: Capacity; /** * <p>The amount of throughput consumed on each local index affected by the operation.</p> */ LocalSecondaryIndexes?: { [key: string]: Capacity; }; /** * <p>The amount of throughput consumed on each global index affected by the operation.</p> */ GlobalSecondaryIndexes?: { [key: string]: Capacity; }; } export declare namespace ConsumedCapacity { const filterSensitiveLog: (obj: ConsumedCapacity) => any; } export interface InvalidEndpointException extends __SmithyException, $MetadataBearer { name: "InvalidEndpointException"; $fault: "client"; Message?: string; } export declare namespace InvalidEndpointException { const filterSensitiveLog: (obj: InvalidEndpointException) => any; } /** * <p>Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that * receive this exception. Your request is eventually successful, unless your retry queue is too * large to finish. Reduce the frequency of requests and use exponential backoff. For more * information, go to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff">Error Retries and Exponential * Backoff</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> */ export interface ProvisionedThroughputExceededException extends __SmithyException, $MetadataBearer { name: "ProvisionedThroughputExceededException"; $fault: "client"; /** * <p>You exceeded your maximum allowed provisioned throughput.</p> */ message?: string; } export declare namespace ProvisionedThroughputExceededException { const filterSensitiveLog: (obj: ProvisionedThroughputExceededException) => any; } /** * <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> */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; /** * <p>The resource which is being requested does not exist.</p> */ message?: string; } export declare namespace ResourceNotFoundException { const filterSensitiveLog: (obj: ResourceNotFoundException) => any; } export declare type ReturnItemCollectionMetrics = "NONE" | "SIZE"; /** * <p>An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.</p> */ export interface ItemCollectionSizeLimitExceededException extends __SmithyException, $MetadataBearer { name: "ItemCollectionSizeLimitExceededException"; $fault: "client"; /** * <p>The total size of an item collection has exceeded the maximum limit of 10 gigabytes.</p> */ message?: string; } export declare namespace ItemCollectionSizeLimitExceededException { const filterSensitiveLog: (obj: ItemCollectionSizeLimitExceededException) => any; } /** * <p>Contains the details for the read/write capacity mode.</p> */ export interface BillingModeSummary { /** * <p>Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.</p> * <ul> * <li> * <p> * <code>PROVISIONED</code> - Sets the read/write capacity mode to <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for predictable workloads.</p> * </li> * <li> * <p> * <code>PAY_PER_REQUEST</code> - Sets the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using <code>PAY_PER_REQUEST</code> for unpredictable workloads. * </p> * </li> * </ul> */ BillingMode?: BillingMode | string; /** * <p>Represents the time when <code>PAY_PER_REQUEST</code> was last set as the read/write capacity mode.</p> */ LastUpdateToPayPerRequestDateTime?: Date; } export declare namespace BillingModeSummary { const filterSensitiveLog: (obj: BillingModeSummary) => any; } export declare type ComparisonOperator = "BEGINS_WITH" | "BETWEEN" | "CONTAINS" | "EQ" | "GE" | "GT" | "IN" | "LE" | "LT" | "NE" | "NOT_CONTAINS" | "NOT_NULL" | "NULL"; /** * <p>A condition specified in the operation could not be evaluated.</p> */ export interface ConditionalCheckFailedException extends __SmithyException, $MetadataBearer { name: "ConditionalCheckFailedException"; $fault: "client"; /** * <p>The conditional request failed.</p> */ message?: string; } export declare namespace ConditionalCheckFailedException { const filterSensitiveLog: (obj: ConditionalCheckFailedException) => any; } export declare type ConditionalOperator = "AND" | "OR"; export declare type ReturnValuesOnConditionCheckFailure = "ALL_OLD" | "NONE"; export declare type ContinuousBackupsStatus = "DISABLED" | "ENABLED"; export declare type PointInTimeRecoveryStatus = "DISABLED" | "ENABLED"; /** * <p>The description of the point in time settings applied to the table.</p> */ export interface PointInTimeRecoveryDescription { /** * <p>The current state of point in time recovery:</p> * <ul> * <li> * <p> * <code>ENABLING</code> - Point in time recovery is being enabled.</p> * </li> * <li> * <p> * <code>ENABLED</code> - Point in time recovery is enabled.</p> * </li> * <li> * <p> * <code>DISABLED</code> - Point in time recovery is disabled.</p> * </li> * </ul> */ PointInTimeRecoveryStatus?: PointInTimeRecoveryStatus | string; /** * <p>Specifies the earliest point in time you can restore your table to. You can restore your * table to any point in time during the last 35 days. </p> */ EarliestRestorableDateTime?: Date; /** * <p> * <code>LatestRestorableDateTime</code> is typically 5 minutes before the current time. * </p> */ LatestRestorableDateTime?: Date; } export declare namespace PointInTimeRecoveryDescription { const filterSensitiveLog: (obj: PointInTimeRecoveryDescription) => any; } /** * <p>Represents the continuous backups and point in time recovery settings on the table.</p> */ export interface ContinuousBackupsDescription { /** * <p> * <code>ContinuousBackupsStatus</code> can be one of the following states: ENABLED, * DISABLED</p> */ ContinuousBackupsStatus: ContinuousBackupsStatus | string | undefined; /** * <p>The description of the point in time recovery settings applied to the table.</p> */ PointInTimeRecoveryDescription?: PointInTimeRecoveryDescription; } export declare namespace ContinuousBackupsDescription { const filterSensitiveLog: (obj: ContinuousBackupsDescription) => any; } /** * <p>Backups have not yet been enabled for this table.</p> */ export interface ContinuousBackupsUnavailableException extends __SmithyException, $MetadataBearer { name: "ContinuousBackupsUnavailableException"; $fault: "client"; message?: string; } export declare namespace ContinuousBackupsUnavailableException { const filterSensitiveLog: (obj: ContinuousBackupsUnavailableException) => any; } export declare type ContributorInsightsAction = "DISABLE" | "ENABLE"; export declare type ContributorInsightsStatus = "DISABLED" | "DISABLING" | "ENABLED" | "ENABLING" | "FAILED"; /** * <p>Represents a Contributor Insights summary entry.</p> */ export interface ContributorInsightsSummary { /** * <p>Name of the table associated with the summary.</p> */ TableName?: string; /** * <p>Name of the index associated with the summary, if any.</p> */ IndexName?: string; /** * <p>Describes the current status for contributor insights for the given table and index, if applicable.</p> */ ContributorInsightsStatus?: ContributorInsightsStatus | string; } export declare namespace ContributorInsightsSummary { const filterSensitiveLog: (obj: ContributorInsightsSummary) => any; } export interface CreateBackupInput { /** * <p>The name of the table.</p> */ TableName: string | undefined; /** * <p>Specified name for the backup.</p> */ BackupName: string | undefined; } export declare namespace CreateBackupInput { const filterSensitiveLog: (obj: CreateBackupInput) => any; } export interface CreateBackupOutput { /** * <p>Contains the details of the backup created for the table.</p> */ BackupDetails?: BackupDetails; } export declare namespace CreateBackupOutput { const filterSensitiveLog: (obj: CreateBackupOutput) => any; } /** * <p>There is no limit to the number of daily on-demand backups that can be taken. </p> * <p>Up to 50 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>The only exception is when you are creating a table with one or more secondary indexes. You can have up to * 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily * reduce the number of concurrent operations.</p> * <p>There is a soft account quota of 256 tables.</p> */ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; /** * <p>Too many operations for a given subscriber.</p> */ message?: string; } export declare namespace LimitExceededException { const filterSensitiveLog: (obj: LimitExceededException) => any; } /** * <p>A target table with the specified name is either being created or deleted. </p> */ export interface TableInUseException extends __SmithyException, $MetadataBearer { name: "TableInUseException"; $fault: "client"; message?: string; } export declare namespace TableInUseException { const filterSensitiveLog: (obj: TableInUseException) => any; } /** * <p>A source table with the name <code>TableName</code> does not currently exist within the subscriber's account.</p> */ export interface TableNotFoundException extends __SmithyException, $MetadataBearer { name: "TableNotFoundException"; $fault: "client"; message?: string; } export declare namespace TableNotFoundException { const filterSensitiveLog: (obj: TableNotFoundException) => any; } /** * <p>Represents a new global secondary index to be added to an existing table.</p> */ export interface CreateGlobalSecondaryIndexAction { /** * <p>The name of the global secondary index to be created.</p> */ IndexName: string | undefined; /** * <p>The key schema for the global secondary index.</p> */ KeySchema: KeySchemaElement[] | undefined; /** * <p>Represents attributes that are copied (projected) from the table into an index. These * are in addition to the primary key attributes and index key attributes, which are * automatically projected.</p> */ Projection: Projection | undefined; /** * <p>Represents the provisioned throughput settings for the specified global secondary index.</p> * <p>For current minimum and maximum provisioned throughput values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html">Service, Account, and Table Quotas</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> */ ProvisionedThroughput?: ProvisionedThroughput; } export declare namespace CreateGlobalSecondaryIndexAction { const filterSensitiveLog: (obj: CreateGlobalSecondaryIndexAction) => any; } /** * <p>Represents the properties of a replica.</p> */ export interface Replica { /** * <p>The Region where the replica needs to be created.</p> */ RegionName?: string; } export declare namespace Replica { const filterSensitiveLog: (obj: Replica) => any; } export interface CreateGlobalTableInput { /** * <p>The global table name.</p> */ GlobalTableName: string | undefined; /** * <p>The Regions where the global table needs to be created.</p> */ ReplicationGroup: Replica[] | undefined; } export declare namespace CreateGlobalTableInput { const filterSensitiveLog: (obj: CreateGlobalTableInput) => any; } export declare type GlobalTableStatus = "ACTIVE" | "CREATING" | "DELETING" | "UPDATING"; /** * <p>Replica-specific provisioned throughput settings. I