Use with Cats Effect

Setup

You will need this dependency:

sbt
libraryDependencies += "uk.gov.nationalarchives" % "da-sfn-client_2.13" % "0.1.123"
Maven
<dependencies>
  <dependency>
    <groupId>uk.gov.nationalarchives</groupId>
    <artifactId>da-sfn-client_2.13</artifactId>
    <version>0.1.123</version>
  </dependency>
</dependencies>
Gradle
dependencies {
  implementation "uk.gov.nationalarchives:da-sfn-client_2.13:0.1.123"
}

Examples

import cats.effect._
import io.circe.generic.auto._

  val client = DASFNClient[IO]()
  val arn = "arn:aws:states:eu-west-2:123456789:stateMachine:StateMachineName"
  case class Message(value: String)
  val executionResponse = client.startExecution(arn, Message("value"), Option("optionalName"))

  val listStepFunctions = client.listStepFunctions(arn, Status.Running)
  
  val sendTaskSuccess = client.sendTaskSuccess("taskToken")