UNPKG

@aws-solutions-constructs/core

Version:
80 lines (79 loc) 3.22 kB
/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance * with the License. A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions * and limitations under the License. */ import * as dynamodb from 'aws-cdk-lib/aws-dynamodb'; import { Construct } from 'constructs'; export interface BuildDynamoDBTableProps { /** * Optional user provided props to override the default props * * @default - Default props are used */ readonly dynamoTableProps?: dynamodb.TableProps; /** * Existing instance of dynamodb table object. * Providing both this and `dynamoTableProps` will cause an error. * * @default - None */ readonly existingTableObj?: dynamodb.Table; /** * Existing instance of dynamodb interface. * Providing both this and `dynamoTableProps` will cause an error. * * @default - None */ readonly existingTableInterface?: dynamodb.ITable; } export interface BuildDynamoDBTableWithStreamProps { /** * Optional user provided props to override the default props * * @default - Default props are used */ readonly dynamoTableProps?: dynamodb.TableProps; /** * Existing instance of dynamodb table object. * Providing both this and `dynamoTableProps` will cause an error. * * @default - None */ readonly existingTableInterface?: dynamodb.ITable; } export interface BuildDynamoDBTableResponse { readonly tableInterface: dynamodb.ITable; readonly tableObject?: dynamodb.Table; } /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function buildDynamoDBTable(scope: Construct, props: BuildDynamoDBTableProps): BuildDynamoDBTableResponse; export interface BuildDynamoDBTableWithStreamResponse { readonly tableInterface: dynamodb.ITable; readonly tableObject?: dynamodb.Table; } /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function buildDynamoDBTableWithStream(scope: Construct, props: BuildDynamoDBTableWithStreamProps): BuildDynamoDBTableWithStreamResponse; /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function getPartitionKeyNameFromTable(table: dynamodb.Table): string; export interface DynamoDBProps { readonly dynamoTableProps?: dynamodb.TableProps; readonly existingTableObj?: dynamodb.Table; readonly existingTableInterface?: dynamodb.ITable; readonly pointInTimeRecoverySpecification?: dynamodb.PointInTimeRecoverySpecification; readonly pointInTimeRecovery?: boolean; } export declare function CheckDynamoDBProps(propsObject: DynamoDBProps | any): void;