UNPKG

@goldstack/template-lambda-express

Version:

Building blocks for packages deployed as Express.js server on AWS Lambda

68 lines 2.06 kB
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