UNPKG

serverless-dynamodb

Version:
45 lines (44 loc) 1.75 kB
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;