UNPKG

@aws-sdk/client-dynamodb

Version:

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

1,384 lines 476 kB
import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client"; import { DynamoDBServiceException as __BaseException } from "./DynamoDBServiceException"; /** * @public * @enum */ export declare const ApproximateCreationDateTimePrecision: { readonly MICROSECOND: "MICROSECOND"; readonly MILLISECOND: "MILLISECOND"; }; /** * @public */ export type ApproximateCreationDateTimePrecision = (typeof ApproximateCreationDateTimePrecision)[keyof typeof ApproximateCreationDateTimePrecision]; /** * <p>Contains details of a table archival operation.</p> * @public */ export interface ArchivalSummary { /** * <p>The date and time when table archival was initiated by DynamoDB, in UNIX epoch time * format.</p> * @public */ ArchivalDateTime?: Date | undefined; /** * <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 KMS key being inaccessible for more than seven * days. An On-Demand backup was created at the archival time.</p> * </li> * </ul> * @public */ ArchivalReason?: string | undefined; /** * <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> * @public */ ArchivalBackupArn?: string | undefined; } /** * @public * @enum */ export declare const AttributeAction: { readonly ADD: "ADD"; readonly DELETE: "DELETE"; readonly PUT: "PUT"; }; /** * @public */ export type AttributeAction = (typeof AttributeAction)[keyof typeof AttributeAction]; /** * @public * @enum */ export declare const ScalarAttributeType: { readonly B: "B"; readonly N: "N"; readonly S: "S"; }; /** * @public */ export type ScalarAttributeType = (typeof ScalarAttributeType)[keyof typeof ScalarAttributeType]; /** * <p>Represents an attribute for describing the schema for the table and indexes.</p> * @public */ export interface AttributeDefinition { /** * <p>A name for the attribute.</p> * @public */ 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> * @public */ AttributeType: ScalarAttributeType | undefined; } /** * <p>Represents the properties of a target tracking scaling policy.</p> * @public */ 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> * @public */ DisableScaleIn?: boolean | undefined; /** * <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> * @public */ ScaleInCooldown?: number | undefined; /** * <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> * @public */ ScaleOutCooldown?: number | undefined; /** * <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> * @public */ TargetValue: number | undefined; } /** * <p>Represents the properties of the scaling policy.</p> * @public */ export interface AutoScalingPolicyDescription { /** * <p>The name of the scaling policy.</p> * @public */ PolicyName?: string | undefined; /** * <p>Represents a target tracking scaling policy configuration.</p> * @public */ TargetTrackingScalingPolicyConfiguration?: AutoScalingTargetTrackingScalingPolicyConfigurationDescription | undefined; } /** * <p>Represents the settings of a target tracking scaling policy that will be * modified.</p> * @public */ 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> * @public */ DisableScaleIn?: boolean | undefined; /** * <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> * @public */ ScaleInCooldown?: number | undefined; /** * <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> * @public */ ScaleOutCooldown?: number | undefined; /** * <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> * @public */ TargetValue: number | undefined; } /** * <p>Represents the auto scaling policy to be modified.</p> * @public */ export interface AutoScalingPolicyUpdate { /** * <p>The name of the scaling policy.</p> * @public */ PolicyName?: string | undefined; /** * <p>Represents a target tracking scaling policy configuration.</p> * @public */ TargetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate | undefined; } /** * <p>Represents the auto scaling settings for a global table or global secondary * index.</p> * @public */ export interface AutoScalingSettingsDescription { /** * <p>The minimum capacity units that a global table or global secondary index should be * scaled down to.</p> * @public */ MinimumUnits?: number | undefined; /** * <p>The maximum capacity units that a global table or global secondary index should be * scaled up to.</p> * @public */ MaximumUnits?: number | undefined; /** * <p>Disabled auto scaling for this global table or global secondary index.</p> * @public */ AutoScalingDisabled?: boolean | undefined; /** * <p>Role ARN used for configuring the auto scaling policy.</p> * @public */ AutoScalingRoleArn?: string | undefined; /** * <p>Information about the scaling policies.</p> * @public */ ScalingPolicies?: AutoScalingPolicyDescription[] | undefined; } /** * <p>Represents the auto scaling settings to be modified for a global table or global * secondary index.</p> * @public */ export interface AutoScalingSettingsUpdate { /** * <p>The minimum capacity units that a global table or global secondary index should be * scaled down to.</p> * @public */ MinimumUnits?: number | undefined; /** * <p>The maximum capacity units that a global table or global secondary index should be * scaled up to.</p> * @public */ MaximumUnits?: number | undefined; /** * <p>Disabled auto scaling for this global table or global secondary index.</p> * @public */ AutoScalingDisabled?: boolean | undefined; /** * <p>Role ARN used for configuring auto scaling policy.</p> * @public */ AutoScalingRoleArn?: string | undefined; /** * <p>The scaling policy to apply for scaling target global table or global secondary index * capacity units.</p> * @public */ ScalingPolicyUpdate?: AutoScalingPolicyUpdate | undefined; } /** * @public * @enum */ export declare const BackupStatus: { readonly AVAILABLE: "AVAILABLE"; readonly CREATING: "CREATING"; readonly DELETED: "DELETED"; }; /** * @public */ export type BackupStatus = (typeof BackupStatus)[keyof typeof BackupStatus]; /** * @public * @enum */ export declare const BackupType: { readonly AWS_BACKUP: "AWS_BACKUP"; readonly SYSTEM: "SYSTEM"; readonly USER: "USER"; }; /** * @public */ export type BackupType = (typeof BackupType)[keyof typeof BackupType]; /** * <p>Contains the details of the backup created for the table.</p> * @public */ export interface BackupDetails { /** * <p>ARN associated with the backup.</p> * @public */ BackupArn: string | undefined; /** * <p>Name of the requested backup.</p> * @public */ BackupName: string | undefined; /** * <p>Size of the backup in bytes. DynamoDB updates this value approximately every six * hours. Recent changes might not be reflected in this value.</p> * @public */ BackupSizeBytes?: number | undefined; /** * <p>Backup can be in one of the following states: CREATING, ACTIVE, DELETED. </p> * @public */ BackupStatus: BackupStatus | 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 Backup service.</p> * </li> * </ul> * @public */ BackupType: BackupType | undefined; /** * <p>Time at which the backup was created. This is the request time of the backup. </p> * @public */ 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> * @public */ BackupExpiryDateTime?: Date | undefined; } /** * @public * @enum */ export declare const BillingMode: { readonly PAY_PER_REQUEST: "PAY_PER_REQUEST"; readonly PROVISIONED: "PROVISIONED"; }; /** * @public */ export type BillingMode = (typeof BillingMode)[keyof typeof BillingMode]; /** * @public * @enum */ export declare const KeyType: { readonly HASH: "HASH"; readonly RANGE: "RANGE"; }; /** * @public */ export type KeyType = (typeof KeyType)[keyof typeof KeyType]; /** * <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> * @public */ export interface KeySchemaElement { /** * <p>The name of a key attribute.</p> * @public */ 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> * @public */ KeyType: KeyType | undefined; } /** * <p>Sets the maximum number of read and write units for the specified on-demand table. If * you use this parameter, you must specify <code>MaxReadRequestUnits</code>, * <code>MaxWriteRequestUnits</code>, or both.</p> * @public */ export interface OnDemandThroughput { /** * <p>Maximum number of read request units for the specified table.</p> * <p>To specify a maximum <code>OnDemandThroughput</code> on your table, set the value of * <code>MaxReadRequestUnits</code> as greater than or equal to 1. To remove the * maximum <code>OnDemandThroughput</code> that is currently set on your table, set the * value of <code>MaxReadRequestUnits</code> to -1.</p> * @public */ MaxReadRequestUnits?: number | undefined; /** * <p>Maximum number of write request units for the specified table.</p> * <p>To specify a maximum <code>OnDemandThroughput</code> on your table, set the value of * <code>MaxWriteRequestUnits</code> as greater than or equal to 1. To remove the * maximum <code>OnDemandThroughput</code> that is currently set on your table, set the * value of <code>MaxWriteRequestUnits</code> to -1.</p> * @public */ MaxWriteRequestUnits?: number | undefined; } /** * <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> * @public */ 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/ProvisionedThroughput.html">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> * @public */ 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/ProvisionedThroughput.html">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> * @public */ WriteCapacityUnits: number | undefined; } /** * <p>Contains the details of the table when the backup was created. </p> * @public */ export interface SourceTableDetails { /** * <p>The name of the table for which the backup was created. </p> * @public */ TableName: string | undefined; /** * <p>Unique identifier for the table for which the backup was created. </p> * @public */ TableId: string | undefined; /** * <p>ARN of the table for which backup was created. </p> * @public */ TableArn?: string | undefined; /** * <p>Size of the table in bytes. Note that this is an approximate value.</p> * @public */ TableSizeBytes?: number | undefined; /** * <p>Schema of the table. </p> * @public */ KeySchema: KeySchemaElement[] | undefined; /** * <p>Time when the source table was created. </p> * @public */ TableCreationDateTime: Date | undefined; /** * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> * @public */ ProvisionedThroughput: ProvisionedThroughput | undefined; /** * <p>Sets the maximum number of read and write units for the specified on-demand table. If * you use this parameter, you must specify <code>MaxReadRequestUnits</code>, * <code>MaxWriteRequestUnits</code>, or both.</p> * @public */ OnDemandThroughput?: OnDemandThroughput | undefined; /** * <p>Number of items in the table. Note that this is an approximate value. </p> * @public */ ItemCount?: number | undefined; /** * <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> * @public */ BillingMode?: BillingMode | undefined; } /** * @public * @enum */ export declare const ProjectionType: { readonly ALL: "ALL"; readonly INCLUDE: "INCLUDE"; readonly KEYS_ONLY: "KEYS_ONLY"; }; /** * @public */ export type ProjectionType = (typeof ProjectionType)[keyof typeof ProjectionType]; /** * <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> * @public */ 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> * <p>When using the DynamoDB console, <code>ALL</code> is selected by default.</p> * @public */ ProjectionType?: ProjectionType | undefined; /** * <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 100. If you project the same * attribute into two different indexes, this counts as two distinct attributes when * determining the total.</p> * @public */ NonKeyAttributes?: string[] | undefined; } /** * <p>Represents the properties of a global secondary index for the table when the backup * was created.</p> * @public */ export interface GlobalSecondaryIndexInfo { /** * <p>The name of the global secondary index.</p> * @public */ IndexName?: string | undefined; /** * <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> * @public */ KeySchema?: KeySchemaElement[] | undefined; /** * <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> * @public */ Projection?: Projection | undefined; /** * <p>Represents the provisioned throughput settings for the specified global secondary * index. </p> * @public */ ProvisionedThroughput?: ProvisionedThroughput | undefined; /** * <p>Sets the maximum number of read and write units for the specified on-demand table. If * you use this parameter, you must specify <code>MaxReadRequestUnits</code>, * <code>MaxWriteRequestUnits</code>, or both.</p> * @public */ OnDemandThroughput?: OnDemandThroughput | undefined; } /** * <p>Represents the properties of a local secondary index for the table when the backup was * created.</p> * @public */ export interface LocalSecondaryIndexInfo { /** * <p>Represents the name of the local secondary index.</p> * @public */ IndexName?: string | undefined; /** * <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> * @public */ KeySchema?: KeySchemaElement[] | undefined; /** * <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> * @public */ Projection?: Projection | undefined; } /** * @public * @enum */ export declare const SSEType: { readonly AES256: "AES256"; readonly KMS: "KMS"; }; /** * @public */ export type SSEType = (typeof SSEType)[keyof typeof SSEType]; /** * @public * @enum */ export declare const SSEStatus: { readonly DISABLED: "DISABLED"; readonly DISABLING: "DISABLING"; readonly ENABLED: "ENABLED"; readonly ENABLING: "ENABLING"; readonly UPDATING: "UPDATING"; }; /** * @public */ export type SSEStatus = (typeof SSEStatus)[keyof typeof SSEStatus]; /** * <p>The description of the server-side encryption status on the specified table.</p> * @public */ 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> * @public */ Status?: SSEStatus | undefined; /** * <p>Server-side encryption type. The only supported value is:</p> * <ul> * <li> * <p> * <code>KMS</code> - Server-side encryption that uses Key Management Service. The * key is stored in your account and is managed by KMS (KMS charges apply).</p> * </li> * </ul> * @public */ SSEType?: SSEType | undefined; /** * <p>The KMS key ARN used for the KMS encryption.</p> * @public */ KMSMasterKeyArn?: string | undefined; /** * <p>Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's KMS key was inaccessible. This attribute will automatically * be cleared when DynamoDB detects that the table's KMS key is accessible * again. DynamoDB will initiate the table archival process when table's KMS key remains inaccessible for more than seven days from this date.</p> * @public */ InaccessibleEncryptionDateTime?: Date | undefined; } /** * @public * @enum */ export declare const StreamViewType: { readonly KEYS_ONLY: "KEYS_ONLY"; readonly NEW_AND_OLD_IMAGES: "NEW_AND_OLD_IMAGES"; readonly NEW_IMAGE: "NEW_IMAGE"; readonly OLD_IMAGE: "OLD_IMAGE"; }; /** * @public */ export type StreamViewType = (typeof StreamViewType)[keyof typeof StreamViewType]; /** * <p>Represents the DynamoDB Streams configuration for a table in DynamoDB.</p> * @public */ export interface StreamSpecification { /** * <p>Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the * table.</p> * @public */ 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> * @public */ StreamViewType?: StreamViewType | undefined; } /** * @public * @enum */ export declare const TimeToLiveStatus: { readonly DISABLED: "DISABLED"; readonly DISABLING: "DISABLING"; readonly ENABLED: "ENABLED"; readonly ENABLING: "ENABLING"; }; /** * @public */ export type TimeToLiveStatus = (typeof TimeToLiveStatus)[keyof typeof TimeToLiveStatus]; /** * <p>The description of the Time to Live (TTL) status on the specified table. </p> * @public */ export interface TimeToLiveDescription { /** * <p> The TTL status for the table.</p> * @public */ TimeToLiveStatus?: TimeToLiveStatus | undefined; /** * <p> The name of the TTL attribute for items in the table.</p> * @public */ AttributeName?: string | undefined; } /** * <p>Contains the details of the features enabled on the table when the backup was created. * For example, LSIs, GSIs, streams, TTL. </p> * @public */ 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> * @public */ LocalSecondaryIndexes?: LocalSecondaryIndexInfo[] | undefined; /** * <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> * @public */ GlobalSecondaryIndexes?: GlobalSecondaryIndexInfo[] | undefined; /** * <p>Stream settings on the table when the backup was created.</p> * @public */ StreamDescription?: StreamSpecification | undefined; /** * <p>Time to Live settings on the table when the backup was created.</p> * @public */ TimeToLiveDescription?: TimeToLiveDescription | undefined; /** * <p>The description of the server-side encryption status on the table when the backup was * created.</p> * @public */ SSEDescription?: SSEDescription | undefined; } /** * <p>Contains the description of the backup created for the table.</p> * @public */ export interface BackupDescription { /** * <p>Contains the details of the backup created for the table. </p> * @public */ BackupDetails?: BackupDetails | undefined; /** * <p>Contains the details of the table when the backup was created. </p> * @public */ SourceTableDetails?: SourceTableDetails | undefined; /** * <p>Contains the details of the features enabled on the table when the backup was created. * For example, LSIs, GSIs, streams, TTL.</p> * @public */ SourceTableFeatureDetails?: SourceTableFeatureDetails | undefined; } /** * <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> * @public */ export declare class BackupInUseException extends __BaseException { readonly name: "BackupInUseException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<BackupInUseException, __BaseException>); } /** * <p>Backup not found for the given BackupARN. </p> * @public */ export declare class BackupNotFoundException extends __BaseException { readonly name: "BackupNotFoundException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<BackupNotFoundException, __BaseException>); } /** * <p>Contains details for the backup.</p> * @public */ export interface BackupSummary { /** * <p>Name of the table.</p> * @public */ TableName?: string | undefined; /** * <p>Unique identifier for the table.</p> * @public */ TableId?: string | undefined; /** * <p>ARN associated with the table.</p> * @public */ TableArn?: string | undefined; /** * <p>ARN associated with the backup.</p> * @public */ BackupArn?: string | undefined; /** * <p>Name of the specified backup.</p> * @public */ BackupName?: string | undefined; /** * <p>Time at which the backup was created.</p> * @public */ 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> * @public */ BackupExpiryDateTime?: Date | undefined; /** * <p>Backup can be in one of the following states: CREATING, ACTIVE, DELETED.</p> * @public */ BackupStatus?: BackupStatus | 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 Backup service.</p> * </li> * </ul> * @public */ BackupType?: BackupType | undefined; /** * <p>Size of the backup in bytes.</p> * @public */ BackupSizeBytes?: number | undefined; } /** * @public * @enum */ export declare const BackupTypeFilter: { readonly ALL: "ALL"; readonly AWS_BACKUP: "AWS_BACKUP"; readonly SYSTEM: "SYSTEM"; readonly USER: "USER"; }; /** * @public */ export type BackupTypeFilter = (typeof BackupTypeFilter)[keyof typeof BackupTypeFilter]; /** * @public * @enum */ export declare const ReturnConsumedCapacity: { readonly INDEXES: "INDEXES"; readonly NONE: "NONE"; readonly TOTAL: "TOTAL"; }; /** * @public */ export type ReturnConsumedCapacity = (typeof ReturnConsumedCapacity)[keyof typeof ReturnConsumedCapacity]; /** * @public * @enum */ export declare const ReturnValuesOnConditionCheckFailure: { readonly ALL_OLD: "ALL_OLD"; readonly NONE: "NONE"; }; /** * @public */ export type ReturnValuesOnConditionCheckFailure = (typeof ReturnValuesOnConditionCheckFailure)[keyof typeof ReturnValuesOnConditionCheckFailure]; /** * <p>Represents the amount of provisioned throughput capacity consumed on a table or an * index.</p> * @public */ export interface Capacity { /** * <p>The total number of read capacity units consumed on a table or an index.</p> * @public */ ReadCapacityUnits?: number | undefined; /** * <p>The total number of write capacity units consumed on a table or an index.</p> * @public */ WriteCapacityUnits?: number | undefined; /** * <p>The total number of capacity units consumed on a table or an index.</p> * @public */ CapacityUnits?: number | undefined; } /** * <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/provisioned-capacity-mode.html">Provisioned capacity mode</a> in the <i>Amazon DynamoDB Developer * Guide</i>.</p> * @public */ export interface ConsumedCapacity { /** * <p>The name of the table that was affected by the operation. If you had specified the * Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.</p> * @public */ TableName?: string | undefined; /** * <p>The total number of capacity units consumed by the operation.</p> * @public */ CapacityUnits?: number | undefined; /** * <p>The total number of read capacity units consumed by the operation.</p> * @public */ ReadCapacityUnits?: number | undefined; /** * <p>The total number of write capacity units consumed by the operation.</p> * @public */ WriteCapacityUnits?: number | undefined; /** * <p>The amount of throughput consumed on the table affected by the operation.</p> * @public */ Table?: Capacity | undefined; /** * <p>The amount of throughput consumed on each local index affected by the * operation.</p> * @public */ LocalSecondaryIndexes?: Record<string, Capacity> | undefined; /** * <p>The amount of throughput consumed on each global index affected by the * operation.</p> * @public */ GlobalSecondaryIndexes?: Record<string, Capacity> | undefined; } /** * @public * @enum */ export declare const BatchStatementErrorCodeEnum: { readonly AccessDenied: "AccessDenied"; readonly ConditionalCheckFailed: "ConditionalCheckFailed"; readonly DuplicateItem: "DuplicateItem"; readonly InternalServerError: "InternalServerError"; readonly ItemCollectionSizeLimitExceeded: "ItemCollectionSizeLimitExceeded"; readonly ProvisionedThroughputExceeded: "ProvisionedThroughputExceeded"; readonly RequestLimitExceeded: "RequestLimitExceeded"; readonly ResourceNotFound: "ResourceNotFound"; readonly ThrottlingError: "ThrottlingError"; readonly TransactionConflict: "TransactionConflict"; readonly ValidationError: "ValidationError"; }; /** * @public */ export type BatchStatementErrorCodeEnum = (typeof BatchStatementErrorCodeEnum)[keyof typeof BatchStatementErrorCodeEnum]; /** * <p>An error occurred on the server side.</p> * @public */ export declare class InternalServerError extends __BaseException { readonly name: "InternalServerError"; readonly $fault: "server"; /** * @internal */ constructor(opts: __ExceptionOptionType<InternalServerError, __BaseException>); } /** * <p>Throughput exceeds the current throughput quota for your account. Please contact * <a href="https://aws.amazon.com/support">Amazon Web Services Support</a> to request a * quota increase.</p> * @public */ export declare class RequestLimitExceeded extends __BaseException { readonly name: "RequestLimitExceeded"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<RequestLimitExceeded, __BaseException>); } /** * @public */ export declare class InvalidEndpointException extends __BaseException { readonly name: "InvalidEndpointException"; readonly $fault: "client"; Message?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidEndpointException, __BaseException>); } /** * <p>Your request rate is too high. The Amazon Web Services 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> * @public */ export declare class ProvisionedThroughputExceededException extends __BaseException { readonly name: "ProvisionedThroughputExceededException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ProvisionedThroughputExceededException, __BaseException>); } /** * <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> * @public */ export declare class ResourceNotFoundException extends __BaseException { readonly name: "ResourceNotFoundException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>); } /** * @public * @enum */ export declare const ReturnItemCollectionMetrics: { readonly NONE: "NONE"; readonly SIZE: "SIZE"; }; /** * @public */ export type ReturnItemCollectionMetrics = (typeof ReturnItemCollectionMetrics)[keyof typeof ReturnItemCollectionMetrics]; /** * <p>An item collection is too large. This exception is only returned for tables that * have one or more local secondary indexes.</p> * @public */ export declare class ItemCollectionSizeLimitExceededException extends __BaseException { readonly name: "ItemCollectionSizeLimitExceededException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ItemCollectionSizeLimitExceededException, __BaseException>); } /** * <p>Contains the details for the read/write capacity mode. This page talks about * <code>PROVISIONED</code> and <code>PAY_PER_REQUEST</code> billing modes. For more * information about these modes, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html">Read/write capacity mode</a>.</p> * <note> * <p>You may need to switch to on-demand mode at least once in order to return a * <code>BillingModeSummary</code> response.</p> * </note> * @public */ 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> * @public */ BillingMode?: BillingMode | undefined; /** * <p>Represents the time when <code>PAY_PER_REQUEST</code> was last set as the read/write * capacity mode.</p> * @public */ LastUpdateToPayPerRequestDateTime?: Date | undefined; } /** * @public * @enum */ export declare const ComparisonOperator: { readonly BEGINS_WITH: "BEGINS_WITH"; readonly BETWEEN: "BETWEEN"; readonly CONTAINS: "CONTAINS"; readonly EQ: "EQ"; readonly GE: "GE"; readonly GT: "GT"; readonly IN: "IN"; readonly LE: "LE"; readonly LT: "LT"; readonly NE: "NE"; readonly NOT_CONTAINS: "NOT_CONTAINS"; readonly NOT_NULL: "NOT_NULL"; readonly NULL: "NULL"; }; /** * @public */ export type ComparisonOperator = (typeof ComparisonOperator)[keyof typeof ComparisonOperator]; /** * @public * @enum */ export declare const ConditionalOperator: { readonly AND: "AND"; readonly OR: "OR"; }; /** * @public */ export type ConditionalOperator = (typeof ConditionalOperator)[keyof typeof ConditionalOperator]; /** * @public * @enum */ export declare const ContinuousBackupsStatus: { readonly DISABLED: "DISABLED"; readonly ENABLED: "ENABLED"; }; /** * @public */ export type ContinuousBackupsStatus = (typeof ContinuousBackupsStatus)[keyof typeof ContinuousBackupsStatus]; /** * @public * @enum */ export declare const PointInTimeRecoveryStatus: { readonly DISABLED: "DISABLED"; readonly ENABLED: "ENABLED"; }; /** * @public */ export type PointInTimeRecoveryStatus = (typeof PointInTimeRecoveryStatus)[keyof typeof PointInTimeRecoveryStatus]; /** * <p>The description of the point in time settings applied to the table.</p> * @public */ export interface PointInTimeRecoveryDescription { /** * <p>The current state of point in time recovery:</p> * <ul> * <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> * @public */ PointInTimeRecoveryStatus?: PointInTimeRecoveryStatus | undefined; /** * <p>The number of preceding days for which continuous backups are taken and maintained. * Your table data is on