"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.StepFunctionInvokeAction=exports.StateMachineInput=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var codepipeline=()=>{var tmp=require("../../../aws-codepipeline");return codepipeline=()=>tmp,tmp},iam=()=>{var tmp=require("../../../aws-iam");return iam=()=>tmp,tmp},cdk=()=>{var tmp=require("../../../core");return cdk=()=>tmp,tmp},action_1=()=>{var tmp=require("../action");return action_1=()=>tmp,tmp};class StateMachineInput{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")}constructor(input,inputArtifact,inputType){this.input=input,this.inputArtifact=inputArtifact,this.inputType=inputType}}exports.StateMachineInput=StateMachineInput,_a=JSII_RTTI_SYMBOL_1,StateMachineInput[_a]={fqn:"aws-cdk-lib.aws_codepipeline_actions.StateMachineInput",version:"2.148.1"};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,StepFunctionInvokeAction),error}this.props=props}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}options.role.addToPrincipalPolicy(new(iam()).PolicyStatement({actions:["states:StartExecution","states:DescribeStateMachine"],resources:[this.props.stateMachine.stateMachineArn]}));const{account,region,partition,resourceName}=cdk().Stack.of(this.props.stateMachine).splitArn(this.props.stateMachine.stateMachineArn,cdk().ArnFormat.COLON_RESOURCE_NAME);return options.role.addToPrincipalPolicy(new(iam()).PolicyStatement({actions:["states:DescribeExecution"],resources:[cdk().Stack.of(this.props.stateMachine).formatArn({account,region,partition,service:"states",resource:"execution",resourceName:`${resourceName}:${this.props.executionNamePrefix??""}*`,arnFormat:cdk().ArnFormat.COLON_RESOURCE_NAME})]})),(this.actionProperties.inputs??[]).length>0&&options.bucket.grantRead(options.role),(this.actionProperties.outputs??[]).length>0&&options.bucket.grantWrite(options.role),{configuration:{StateMachineArn:this.props.stateMachine.stateMachineArn,Input:this.props.stateMachineInput?.input,InputType:this.props.stateMachineInput?.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.148.1"};
