constructor()

in src/machines/single_failure.ts [14:53]


  constructor(scope: cdk.Construct, lambdaFunction: lambda.Function) {
    let testFailed = new sfn.Fail(scope, 'testFailed');
    let testSucceeded = new sfn.Succeed(scope, 'testSucceeded');
    let simpleFailurefullRsTaskProcedure = new RetryableLambdaInvoke(
      scope, 'SimpleFailureRsTaskProcedure', {
        lambdaFunction: lambdaFunction,
        integrationPattern: sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
        payload: sfn.TaskInput.fromObject({
          'taskToken': sfn.JsonPath.taskToken,
          'executionArn.$': '$$.Execution.Id',
          'sqlStatement': 'select get_date()',
        }),
        heartbeat: cdk.Duration.seconds(3600),
      },
    );
    let simpleFailureDescribeTaskProcedure = new RetryableLambdaInvoke(
      scope, 'simpleFailureDescribeTaskProcedure', {
        lambdaFunction: lambdaFunction,
        payloadResponseOnly: true,
        payload: sfn.TaskInput.fromObject({
          'statementId': 'LATEST',
          'executionArn.$': '$$.Execution.Id',
          'action': 'describeStatement',
        }),
        heartbeat: cdk.Duration.seconds(3600),
      },
    );
    simpleFailurefullRsTaskProcedure.next(testFailed);
    simpleFailurefullRsTaskProcedure.addCatch(simpleFailureDescribeTaskProcedure, { errors: ['FAILED'] });
    simpleFailurefullRsTaskProcedure.addCatch(
      testFailed,
      { errors: ['States.ALL'] },
    );
    simpleFailureDescribeTaskProcedure.next(testSucceeded);
    this.definition = new sfn.StateMachine(
      scope, 'SimpleFailureRsTaskProcedureCallbackIntegration', {
        definition: simpleFailurefullRsTaskProcedure,
      },
    );
  }