@goldstack/template-lambda-express
Version:
Building blocks for packages deployed as Express.js server on AWS Lambda
68 lines • 2.06 kB
TypeScript
import { AWSDeployment } from '@goldstack/infra-aws';
import { TerraformDeployment } from '@goldstack/utils-terraform';
import { Deployment, DeploymentConfiguration } from '@goldstack/infra';
import { Package, Configuration } from '@goldstack/utils-package';
/**
* The name of the lambda.
*
* @title Lambda Name
* @pattern ^[A-Za-z0-9-_]*$
*/
declare type LambdaName = string;
/**
* The domain name that the API should be deployed to (e.g. api.mysite.com)
*
* @title API Domain
* @pattern ^[^\s]*
*/
export declare type APIDomain = string;
/**
* The domain name of the Route 53 hosted zone that the domain for this API should be added to.
*
* @title Hosted Zone Domain
* @pattern ^[^\s]*
*/
export declare type HostedZoneDomain = string;
/**
* Optional URL for an UI that should be allowed to access this server.
*
* @title CORS Header
* @pattern ^[^\s]*
*/
export declare type CorsHeader = string;
export interface ThisDeploymentConfiguration extends DeploymentConfiguration {
lambdaName: LambdaName;
apiDomain: APIDomain;
hostedZoneDomain: HostedZoneDomain;
cors?: CorsHeader;
}
export interface ThisDeployment extends Deployment, AWSDeployment, TerraformDeployment {
configuration: ThisDeploymentConfiguration;
}
/**
* Places where the lambda should be deployed to.
*
* @title Deployments
*/
export declare type LambdaExpressDeployments = ThisDeployment[];
/**
* Configures this lambda.
*
* @title Lambda Configuration
*
*/
export declare type ThisPackageConfiguration = Configuration;
/**
* A lambda deployment for an express server.
*
* @title Lambda Express Package
*/
export interface ThisPackage extends Package {
configuration: ThisPackageConfiguration;
deployments: LambdaExpressDeployments;
}
export { ThisDeploymentConfiguration as LambdaExpressDeploymentConfiguration };
export { ThisDeployment as LambdaExpressDeployment };
export { ThisPackageConfiguration as LambdaExpressConfiguration };
export { ThisPackage as LambdaExpressPackage };
//# sourceMappingURL=LambdaExpressPackage.d.ts.map