import { Construct } from 'constructs'; import * as codepipeline from '../../../aws-codepipeline'; import * as lambda from '../../../aws-lambda'; import { Action } from '../action'; /** * Construction properties of the `LambdaInvokeAction Lambda invoke CodePipeline Action`. */ export interface LambdaInvokeActionProps extends codepipeline.CommonAwsActionProps { /** * The optional input Artifacts of the Action. * A Lambda Action can have up to 5 inputs. * The inputs will appear in the event passed to the Lambda, * under the `'CodePipeline.job'.data.inputArtifacts` path. * * @default the Action will not have any inputs * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html#actions-invoke-lambda-function-json-event-example */ readonly inputs?: codepipeline.Artifact[]; /** * The optional names of the output Artifacts of the Action. * A Lambda Action can have up to 5 outputs. * The outputs will appear in the event passed to the Lambda, * under the `'CodePipeline.job'.data.outputArtifacts` path. * It is the responsibility of the Lambda to upload ZIP files with the Artifact contents to the provided locations. * * @default the Action will not have any outputs */ readonly outputs?: codepipeline.Artifact[]; /** * A set of key-value pairs that will be accessible to the invoked Lambda * inside the event that the Pipeline will call it with. * * Only one of `userParameters` or `userParametersString` can be specified. * * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html#actions-invoke-lambda-function-json-event-example * @default - no user parameters will be passed */ readonly userParameters?: { [key: string]: any; }; /** * The string representation of the user parameters that will be * accessible to the invoked Lambda inside the event * that the Pipeline will call it with. * * Only one of `userParametersString` or `userParameters` can be specified. * * @default - no user parameters will be passed */ readonly userParametersString?: string; /** * The lambda function to invoke. */ readonly lambda: lambda.IFunction; } /** * CodePipeline invoke Action that is provided by an AWS Lambda function. * * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html */ export declare class LambdaInvokeAction extends Action { private readonly props; constructor(props: LambdaInvokeActionProps); /** * Reference a CodePipeline variable defined by the Lambda function this action points to. * Variables in Lambda invoke actions are defined by calling the PutJobSuccessResult CodePipeline API call * with the 'outputVariables' property filled. * * @param variableName the name of the variable to reference. * A variable by this name must be present in the 'outputVariables' section of the PutJobSuccessResult * request that the Lambda function calls when the action is invoked * * @see https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html */ variable(variableName: string): string; protected bound(scope: Construct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig; }