import codepipeline = require('@aws-cdk/aws-codepipeline-api'); import cdk = require('@aws-cdk/cdk'); import { FunctionRef } from './lambda-ref'; /** * Construction properties of the {@link PipelineInvokeAction Lambda invoke CodePipeline Action}. */ export interface PipelineInvokeActionProps extends codepipeline.CommonActionProps { /** * The lambda function to invoke. */ lambda: FunctionRef; /** * String to be used in the event data parameter passed to the Lambda * function * * See an example JSON event in the CodePipeline documentation. * * https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html#actions-invoke-lambda-function-json-event-example */ userParameters?: any; /** * Adds the "codepipeline:PutJobSuccessResult" and * "codepipeline:PutJobFailureResult" for '*' resource to the Lambda * execution role policy. * * NOTE: the reason we can't add the specific pipeline ARN as a resource is * to avoid a cyclic dependency between the pipeline and the Lambda function * (the pipeline references) the Lambda and the Lambda needs permissions on * the pipeline. * * @see * https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html#actions-invoke-lambda-function-create-function * * @default true */ addPutJobResultPolicy?: boolean; } /** * 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 PipelineInvokeAction extends codepipeline.Action { constructor(parent: cdk.Construct, name: string, props: PipelineInvokeActionProps); /** * Add an input artifact * @param artifact */ protected addInputArtifact(artifact: codepipeline.Artifact): codepipeline.Action; }