All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.vigoo.zioaws.swf.model.WorkflowExecution.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{WorkflowRunId, WorkflowId}
import io.github.vigoo.zioaws.core.BuilderHelper
import scala.jdk.CollectionConverters._
final case class WorkflowExecution(
    workflowId: WorkflowId,
    runId: WorkflowRunId
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.swf.model.WorkflowExecution = {
    import WorkflowExecution.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.swf.model.WorkflowExecution
      .builder()
      .workflowId(workflowId: java.lang.String)
      .runId(runId: java.lang.String)
      .build()
  }
  def asReadOnly: io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly =
    io.github.vigoo.zioaws.swf.model.WorkflowExecution.wrap(buildAwsValue())
}
object WorkflowExecution {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.swf.model.WorkflowExecution
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable: io.github.vigoo.zioaws.swf.model.WorkflowExecution =
      io.github.vigoo.zioaws.swf.model
        .WorkflowExecution(workflowIdValue, runIdValue)
    def workflowIdValue: WorkflowId
    def runIdValue: WorkflowRunId
    def workflowId: ZIO[Any, Nothing, WorkflowId] = ZIO.succeed(workflowIdValue)
    def runId: ZIO[Any, Nothing, WorkflowRunId] = ZIO.succeed(runIdValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.swf.model.WorkflowExecution
  ) extends io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly {
    override def workflowIdValue: WorkflowId = impl.workflowId(): WorkflowId
    override def runIdValue: WorkflowRunId = impl.runId(): WorkflowRunId
  }
  def wrap(
      impl: software.amazon.awssdk.services.swf.model.WorkflowExecution
  ): io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy