aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 2.2 kB
JavaScript
;var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LambdaInvokeAction=void 0;const jsiiDeprecationWarnings=require("../../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),codepipeline=require("../../../aws-codepipeline"),iam=require("../../../aws-iam"),core_1=require("../../../core"),action_1=require("../action");class LambdaInvokeAction extends action_1.Action{constructor(props){super({...props,resource:props.lambda,category:codepipeline.ActionCategory.INVOKE,provider:"Lambda",artifactBounds:{minInputs:0,maxInputs:5,minOutputs:0,maxOutputs:5}});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_codepipeline_actions_LambdaInvokeActionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,LambdaInvokeAction),error}if(this.props=props,props.userParameters&&props.userParametersString)throw new Error("Only one of userParameters or userParametersString can be specified")}variable(variableName){return this.variableExpression(variableName)}bound(scope,_stage,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_codepipeline_IStage(_stage),jsiiDeprecationWarnings.aws_cdk_lib_aws_codepipeline_ActionBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bound),error}return options.role.addToPolicy(new iam.PolicyStatement({actions:["lambda:ListFunctions"],resources:["*"]})),this.props.lambda.grantInvoke(options.role),(this.actionProperties.inputs||[]).length>0&&options.bucket.grantRead(options.role),(this.actionProperties.outputs||[]).length>0&&options.bucket.grantWrite(options.role),this.props.lambda.addToRolePolicy(new iam.PolicyStatement({resources:["*"],actions:["codepipeline:PutJobSuccessResult","codepipeline:PutJobFailureResult"]})),{configuration:{FunctionName:this.props.lambda.functionName,UserParameters:this.props.userParametersString??core_1.Stack.of(scope).toJsonString(this.props.userParameters)}}}}exports.LambdaInvokeAction=LambdaInvokeAction,_a=JSII_RTTI_SYMBOL_1,LambdaInvokeAction[_a]={fqn:"aws-cdk-lib.aws_codepipeline_actions.LambdaInvokeAction",version:"2.70.0"};