import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateTableRequest, UpdateTableResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link UpdateTableCommand}. */ export interface UpdateTableCommandInput extends UpdateTableRequest { } /** * @public * * The output of {@link UpdateTableCommand}. */ export interface UpdateTableCommandOutput extends UpdateTableResponse, __MetadataBearer { } declare const UpdateTableCommand_base: { new (input: UpdateTableCommandInput): import("@smithy/core/client").CommandImpl; new (input: UpdateTableCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Modifies the retention duration of the memory store and magnetic store for your Timestream table. Note that the change in retention duration takes effect immediately. * For example, if the retention period of the memory store was initially set to 2 hours and * then changed to 24 hours, the memory store will be capable of holding 24 hours of data, but * will be populated with 24 hours of data 22 hours after this change was made. Timestream does not retrieve data from the magnetic store to populate the memory store.

*

See code * sample for details.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { TimestreamWriteClient, UpdateTableCommand } from "@aws-sdk/client-timestream-write"; // ES Modules import * // const { TimestreamWriteClient, UpdateTableCommand } = require("@aws-sdk/client-timestream-write"); // CommonJS import * // import type { TimestreamWriteClientConfig } from "@aws-sdk/client-timestream-write"; * const config = {}; // type is TimestreamWriteClientConfig * const client = new TimestreamWriteClient(config); * const input = { // UpdateTableRequest * DatabaseName: "STRING_VALUE", // required * TableName: "STRING_VALUE", // required * RetentionProperties: { // RetentionProperties * MemoryStoreRetentionPeriodInHours: Number("long"), // required * MagneticStoreRetentionPeriodInDays: Number("long"), // required * }, * MagneticStoreWriteProperties: { // MagneticStoreWriteProperties * EnableMagneticStoreWrites: true || false, // required * MagneticStoreRejectedDataLocation: { // MagneticStoreRejectedDataLocation * S3Configuration: { // S3Configuration * BucketName: "STRING_VALUE", * ObjectKeyPrefix: "STRING_VALUE", * EncryptionOption: "SSE_S3" || "SSE_KMS", * KmsKeyId: "STRING_VALUE", * }, * }, * }, * Schema: { // Schema * CompositePartitionKey: [ // PartitionKeyList * { // PartitionKey * Type: "DIMENSION" || "MEASURE", // required * Name: "STRING_VALUE", * EnforcementInRecord: "REQUIRED" || "OPTIONAL", * }, * ], * }, * }; * const command = new UpdateTableCommand(input); * const response = await client.send(command); * // { // UpdateTableResponse * // Table: { // Table * // Arn: "STRING_VALUE", * // TableName: "STRING_VALUE", * // DatabaseName: "STRING_VALUE", * // TableStatus: "ACTIVE" || "DELETING" || "RESTORING", * // RetentionProperties: { // RetentionProperties * // MemoryStoreRetentionPeriodInHours: Number("long"), // required * // MagneticStoreRetentionPeriodInDays: Number("long"), // required * // }, * // CreationTime: new Date("TIMESTAMP"), * // LastUpdatedTime: new Date("TIMESTAMP"), * // MagneticStoreWriteProperties: { // MagneticStoreWriteProperties * // EnableMagneticStoreWrites: true || false, // required * // MagneticStoreRejectedDataLocation: { // MagneticStoreRejectedDataLocation * // S3Configuration: { // S3Configuration * // BucketName: "STRING_VALUE", * // ObjectKeyPrefix: "STRING_VALUE", * // EncryptionOption: "SSE_S3" || "SSE_KMS", * // KmsKeyId: "STRING_VALUE", * // }, * // }, * // }, * // Schema: { // Schema * // CompositePartitionKey: [ // PartitionKeyList * // { // PartitionKey * // Type: "DIMENSION" || "MEASURE", // required * // Name: "STRING_VALUE", * // EnforcementInRecord: "REQUIRED" || "OPTIONAL", * // }, * // ], * // }, * // }, * // }; * * ``` * * @param UpdateTableCommandInput - {@link UpdateTableCommandInput} * @returns {@link UpdateTableCommandOutput} * @see {@link UpdateTableCommandInput} for command's `input` shape. * @see {@link UpdateTableCommandOutput} for command's `response` shape. * @see {@link TimestreamWriteClientResolvedConfig | config} for TimestreamWriteClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You are not authorized to perform this action.

* * @throws {@link InternalServerException} (server fault) *

* Timestream was unable to fully process this request because of an internal server * error.

* * @throws {@link InvalidEndpointException} (client fault) *

The requested endpoint was not valid.

* * @throws {@link ResourceNotFoundException} (client fault) *

The operation tried to access a nonexistent resource. The resource might not be * specified correctly, or its status might not be ACTIVE.

* * @throws {@link ThrottlingException} (client fault) *

Too many requests were made by a user and they exceeded the service quotas. The request * was throttled.

* * @throws {@link ValidationException} (client fault) *

An invalid or malformed request.

* * @throws {@link TimestreamWriteServiceException} *

Base exception class for all service exceptions from TimestreamWrite service.

* * * @public */ export declare class UpdateTableCommand extends UpdateTableCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateTableRequest; output: UpdateTableResponse; }; sdk: { input: UpdateTableCommandInput; output: UpdateTableCommandOutput; }; }; }