@aws-amplify/graphql-model-transformer
Version:
Amplify graphql @model transformer
46 lines • 2.01 kB
TypeScript
import { aws_kms as kms, Resource } from 'aws-cdk-lib';
import { GlobalSecondaryIndexProps, ITable, LocalSecondaryIndexProps, SchemaOptions, TableProps } from 'aws-cdk-lib/aws-dynamodb';
import { IGrantable, Grant } from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
export declare const CUSTOM_DDB_CFN_TYPE = "Custom::AmplifyDynamoDBTable";
export declare const CUSTOM_IMPORTED_DDB_CFN_TYPE = "Custom::ImportedAmplifyDynamoDBTable";
export interface AmplifyDynamoDBTableProps extends TableProps {
customResourceServiceToken: string;
allowDestructiveGraphqlSchemaUpdates?: boolean;
replaceTableUponGsiUpdate?: boolean;
isImported?: boolean;
}
export declare class AmplifyDynamoDBTable extends Resource {
readonly encryptionKey?: kms.IKey;
readonly tableArn: string;
readonly tableName: string;
readonly tableStreamArn: string | undefined;
readonly tableFromAttr: ITable;
private readonly customResourceServiceToken;
private readonly table;
private readonly keySchema;
private readonly attributeDefinitions;
private readonly globalSecondaryIndexes;
private readonly localSecondaryIndexes;
private readonly secondaryIndexSchemas;
private readonly nonKeyAttributes;
private readonly tablePartitionKey;
private readonly tableSortKey?;
private readonly billingMode;
constructor(scope: Construct, id: string, props: AmplifyDynamoDBTableProps);
addGlobalSecondaryIndex(props: GlobalSecondaryIndexProps): void;
addLocalSecondaryIndex(props: LocalSecondaryIndexProps): void;
schema(indexName?: string): SchemaOptions;
grantStreamRead(grantee: IGrantable): Grant;
private addKey;
private findKey;
private registerAttribute;
private validateTable;
private parseEncryption;
private validateProvisioning;
private validateIndexName;
private validateNonKeyAttributes;
private buildIndexKeySchema;
private buildIndexProjection;
}
//# sourceMappingURL=index.d.ts.map