How to use the @aws-cdk/aws-stepfunctions.Wait function in @aws-cdk/aws-stepfunctions

To help you get started, we’ve selected a few @aws-cdk/aws-stepfunctions examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github fourTheorem / slic-starter / cicd / lib / stages / build-job.ts View on Github external
inputPath: '$',
      resultPath: `$.runBuildResult.${id}`,
      outputPath: '$' // Pass all input to the output
    })

    const checkBuildTask = new Task(this, `Check ${id} status`, {
      resource: props.checkCodeBuildFunction,
      parameters: {
        'build.$': `$.runBuildResult.${id}.build`
      },
      inputPath: `$`,
      resultPath: `$.buildStatus.${id}`,
      outputPath: '$'
    })

    const waitForBuild = new Wait(this, `Wait for ${id}`, {
      duration: WaitDuration.seconds(10)
    })

    this.task.next(waitForBuild)
    waitForBuild.next(checkBuildTask)
    checkBuildTask.next(
      new Choice(this, `${id} done?`)
        .when(
          Condition.stringEquals(
            `$.buildStatus.${id}.buildStatus`,
            'SUCCEEDED'
          ),
          new Succeed(this, `Success ${id}`)
        )
        .when(
          Condition.stringEquals(
github deepalert / deepalert / lib / deepalert-stack.ts View on Github external
publishReport: lambda.Function,
  errorHandler: lambda.Function,
  delay?: cdk.Duration,
  sfnRole?: iam.IRole
): sfn.StateMachine {
  const waitTime = delay || cdk.Duration.minutes(10);

  const invokeErrorHandler = new tasks.LambdaInvoke(
    scope,
    "InvokeErrorHandler",
    { lambdaFunction: errorHandler }
  );
  const condFailed = sfn.Condition.stringEquals("$.status", "FAILED");
  const condSucceeded = sfn.Condition.stringEquals("$.status", "SUCCEEDED");

  const wait = new sfn.Wait(scope, "WaitCompile", {
    time: sfn.WaitTime.duration(waitTime),
  });

  const definition = wait
    .next(
      new sfn.Choice(scope, "Job Complete?")
        .when(condFailed, invokeErrorHandler)
        .when(
          condSucceeded,
          new tasks.LambdaInvoke(scope, "invokeCompileReport", {
            lambdaFunction: compileReport,
          })
        )
    )
    .next(
      new sfn.Choice(scope, "Job Complete?")
github deepalert / deepalert / lib / deepalert-stack.ts View on Github external
function buildInspectionMachine(
  scope: cdk.Construct,
  dispatchInspection: lambda.Function,
  errorHandler: lambda.Function,
  delay?: cdk.Duration,
  sfnRole?: iam.IRole
): sfn.StateMachine {
  const waitTime = delay || cdk.Duration.minutes(5);

  const wait = new sfn.Wait(scope, "WaitDispatch", {
    time: sfn.WaitTime.duration(waitTime),
  });
  const invokeDispatcher = new tasks.LambdaInvoke(
    scope,
    "InvokeDispatchInspection",
    { lambdaFunction: dispatchInspection }
  );
  const invokeErrorHandler = new tasks.LambdaInvoke(
    scope,
    "InvokeErrorHandler",
    { lambdaFunction: errorHandler }
  );

  const definition = wait
    .next(invokeDispatcher)
    .next(