UNPKG

@aws-solutions-constructs/core

Version:
61 lines (60 loc) 2.68 kB
/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance * with the License. A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions * and limitations under the License. */ import * as lambda from 'aws-cdk-lib/aws-lambda'; import * as ec2 from "aws-cdk-lib/aws-ec2"; import { Construct } from 'constructs'; export interface BuildLambdaFunctionProps { /** * Existing instance of Lambda Function object, Providing both this and lambdaFunctionProps will cause an error. * * @default - None */ readonly existingLambdaObj?: lambda.Function; /** * User provided props to override the default props for the Lambda function. * * @default - Default props are used */ readonly lambdaFunctionProps?: lambda.FunctionProps; /** * A VPC where the Lambda function will access internal resources * * @default - none */ readonly vpc?: ec2.IVpc; } /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function buildLambdaFunction(scope: Construct, props: BuildLambdaFunctionProps, constructId?: string): lambda.Function; /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function deployLambdaFunction(scope: Construct, lambdaFunctionProps: lambda.FunctionProps, constructId?: string, vpc?: ec2.IVpc): lambda.Function; /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. * * A wrapper above Function.addPermission that * prevents two different calls to addPermission using * the same construct id. */ export declare function addPermission(targetFunction: lambda.Function, name: string, permission: lambda.Permission): any; /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ export declare function getLambdaVpcSecurityGroupIds(lambdaFunction: lambda.Function): string[]; export interface LambdaProps { readonly existingLambdaObj?: lambda.Function; readonly lambdaFunctionProps?: lambda.FunctionProps; } export declare function CheckLambdaProps(propsObject: LambdaProps | any): void;