@swarmion/serverless-plugin
Version:
A plugin to safely deploy Serverless microservices.
33 lines • 1.54 kB
TypeScript
import * as Serverless from 'serverless';
import * as Plugin from 'serverless/classes/Plugin';
import { DeploymentStrategies } from '../types/deploymentTypes';
import { RemoteServerlessContractSchemas, ServerlessContractSchemas } from '../types/serviceOptions';
interface OptionsExtended extends Serverless.Options {
verbose?: boolean;
strategy?: DeploymentStrategies;
}
export declare class ServerlessContractsPlugin implements Plugin {
cliOptions: OptionsExtended;
serverless: Serverless;
hooks: Plugin.Hooks;
commands: Plugin.Commands;
log: Plugin.Logging['log'];
constructor(serverless: Serverless, cliOptions: OptionsExtended, { log }: Plugin.Logging);
/**
* This command is merely a wrapper around the `deploy` command from the serverless Framework,
* leveraging the use of the `--strategy` option.
* Therefore, while this option has been set in the constructor, all we need to to is
* launch the serverless framework deployment
*/
deployWithContractSchemasValidation(): Promise<void>;
listLocalContractSchemas(): ServerlessContractSchemas;
printLocalServerlessContractSchemas(): void;
printRemoteServerlessContractSchemas(): Promise<void>;
listRemoteContractSchemas(): Promise<RemoteServerlessContractSchemas | undefined>;
tagStackWithTimestamp(): void;
uploadContractSchemas(): Promise<void>;
validateDeployment(): Promise<void>;
generateOpenApiDocumentation(): void;
}
export {};
//# sourceMappingURL=serverlessContractsPlugin.d.ts.map