serverless-dynamodb
Version:
Serverless plugin to run DynamoDB local
45 lines (44 loc) • 1.75 kB
TypeScript
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
import type Serverless from 'serverless';
import type Plugin from 'serverless/classes/Plugin';
import type Aws from 'serverless/plugins/aws/provider/awsProvider';
import type { CloudFormationResource } from 'serverless/plugins/aws/provider/awsProvider';
import { SeedConfig } from './config';
declare class ServerlessDynamoDBPlugin implements Plugin {
private serverless;
readonly hooks: Record<string, () => Promise<unknown>>;
readonly commands: Plugin.Commands;
readonly provider = "aws";
private readonly config;
private readonly options;
constructor(serverless: Serverless, options: Serverless.Options);
get port(): number;
get host(): string;
get stage(): string;
/**
* Check if the handler needs to be executed based on stage
*/
shouldExecute(): boolean;
dynamodbOptions(): {
raw: DynamoDBClient;
doc: DynamoDBDocumentClient;
};
migrateHandler(): Promise<void>;
seedHandler(): Promise<void>;
removeHandler(): Promise<void>;
installHandler(): Promise<void>;
startHandler(): Promise<void>;
endHandler(): Promise<void>;
getTableDefinitionsFromStack(stack: Aws.Resources): CloudFormationResource['Properties'][];
get tableDefinitions(): CloudFormationResource['Properties'][];
/**
* Gets the seeding sources
*/
get seedSources(): SeedConfig[string]['sources'];
createTable(dbClients: {
raw: DynamoDBClient;
doc: DynamoDBDocumentClient;
}, migration: CloudFormationResource['Properties'] & Record<string, any>): Promise<void>;
}
export = ServerlessDynamoDBPlugin;