"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.StepFunctionInvokeAction=exports.StateMachineInput=void 0;const jsiiDeprecationWarnings=require("../../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),codepipeline=require("../../../aws-codepipeline"),iam=require("../../../aws-iam"),cdk=require("../../../core"),action_1=require("../action");class StateMachineInput{constructor(input,inputArtifact,inputType){this.input=input,this.inputArtifact=inputArtifact,this.inputType=inputType}static filePath(inputFile){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_codepipeline_ArtifactPath(inputFile)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.filePath),error}return new StateMachineInput(inputFile.location,inputFile.artifact,"FilePath")}static literal(object){return new StateMachineInput(JSON.stringify(object),void 0,"Literal")}}exports.StateMachineInput=StateMachineInput,_a=JSII_RTTI_SYMBOL_1,StateMachineInput[_a]={fqn:"aws-cdk-lib.aws_codepipeline_actions.StateMachineInput",version:"2.21.0"};class StepFunctionInvokeAction extends action_1.Action{constructor(props){super({...props,resource:props.stateMachine,category:codepipeline.ActionCategory.INVOKE,provider:"StepFunctions",artifactBounds:{minInputs:0,maxInputs:1,minOutputs:0,maxOutputs:1},inputs:props.stateMachineInput&&props.stateMachineInput.inputArtifact?[props.stateMachineInput.inputArtifact]:[],outputs:props.output?[props.output]:[]});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_codepipeline_actions_StepFunctionsInvokeActionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.constructor),error}this.props=props}bound(_scope,_stage,options){var _c,_d,_e,_f,_g;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.addToPrincipalPolicy(new iam.PolicyStatement({actions:["states:StartExecution","states:DescribeStateMachine"],resources:[this.props.stateMachine.stateMachineArn]})),options.role.addToPrincipalPolicy(new iam.PolicyStatement({actions:["states:DescribeExecution"],resources:[cdk.Stack.of(this.props.stateMachine).formatArn({service:"states",resource:"execution",resourceName:`${cdk.Stack.of(this.props.stateMachine).splitArn(this.props.stateMachine.stateMachineArn,cdk.ArnFormat.COLON_RESOURCE_NAME).resourceName}:${(_c=this.props.executionNamePrefix)!==null&&_c!==void 0?_c:""}*`,arnFormat:cdk.ArnFormat.COLON_RESOURCE_NAME})]})),((_d=this.actionProperties.inputs)!==null&&_d!==void 0?_d:[]).length>0&&options.bucket.grantRead(options.role),((_e=this.actionProperties.outputs)!==null&&_e!==void 0?_e:[]).length>0&&options.bucket.grantWrite(options.role),{configuration:{StateMachineArn:this.props.stateMachine.stateMachineArn,Input:(_f=this.props.stateMachineInput)===null||_f===void 0?void 0:_f.input,InputType:(_g=this.props.stateMachineInput)===null||_g===void 0?void 0:_g.inputType,ExecutionNamePrefix:this.props.executionNamePrefix}}}}exports.StepFunctionInvokeAction=StepFunctionInvokeAction,_b=JSII_RTTI_SYMBOL_1,StepFunctionInvokeAction[_b]={fqn:"aws-cdk-lib.aws_codepipeline_actions.StepFunctionInvokeAction",version:"2.21.0"};
//# sourceMappingURL=invoke-action.js.map
