
io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{
PageToken,
EventId,
TaskToken
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class PollForDecisionTaskResponse(
taskToken: TaskToken,
startedEventId: EventId,
workflowExecution: io.github.vigoo.zioaws.swf.model.WorkflowExecution,
workflowType: io.github.vigoo.zioaws.swf.model.WorkflowType,
events: Iterable[io.github.vigoo.zioaws.swf.model.HistoryEvent],
nextPageToken: Option[PageToken] = None,
previousStartedEventId: Option[EventId] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.swf.model.PollForDecisionTaskResponse = {
import PollForDecisionTaskResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.swf.model.PollForDecisionTaskResponse
.builder()
.taskToken(taskToken: java.lang.String)
.startedEventId(startedEventId: java.lang.Long)
.workflowExecution(workflowExecution.buildAwsValue())
.workflowType(workflowType.buildAwsValue())
.events(events.map { item =>
item.buildAwsValue()
}.asJavaCollection)
.optionallyWith(nextPageToken.map(value => value: java.lang.String))(
_.nextPageToken
)
.optionallyWith(
previousStartedEventId.map(value => value: java.lang.Long)
)(_.previousStartedEventId)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse.ReadOnly =
io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse
.wrap(buildAwsValue())
}
object PollForDecisionTaskResponse {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.swf.model.PollForDecisionTaskResponse
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse =
io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse(
taskTokenValue,
startedEventIdValue,
workflowExecutionValue.editable,
workflowTypeValue.editable,
eventsValue.map { item =>
item.editable
},
nextPageTokenValue.map(value => value),
previousStartedEventIdValue.map(value => value)
)
def taskTokenValue: TaskToken
def startedEventIdValue: EventId
def workflowExecutionValue
: io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly
def workflowTypeValue
: io.github.vigoo.zioaws.swf.model.WorkflowType.ReadOnly
def eventsValue
: List[io.github.vigoo.zioaws.swf.model.HistoryEvent.ReadOnly]
def nextPageTokenValue: Option[PageToken]
def previousStartedEventIdValue: Option[EventId]
def taskToken: ZIO[Any, Nothing, TaskToken] = ZIO.succeed(taskTokenValue)
def startedEventId: ZIO[Any, Nothing, EventId] =
ZIO.succeed(startedEventIdValue)
def workflowExecution: ZIO[
Any,
Nothing,
io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly
] = ZIO.succeed(workflowExecutionValue)
def workflowType: ZIO[
Any,
Nothing,
io.github.vigoo.zioaws.swf.model.WorkflowType.ReadOnly
] = ZIO.succeed(workflowTypeValue)
def events: ZIO[Any, Nothing, List[
io.github.vigoo.zioaws.swf.model.HistoryEvent.ReadOnly
]] = ZIO.succeed(eventsValue)
def nextPageToken: ZIO[Any, AwsError, PageToken] =
AwsError.unwrapOptionField("nextPageToken", nextPageTokenValue)
def previousStartedEventId: ZIO[Any, AwsError, EventId] = AwsError
.unwrapOptionField("previousStartedEventId", previousStartedEventIdValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.swf.model.PollForDecisionTaskResponse
) extends io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse.ReadOnly {
override def taskTokenValue: TaskToken = impl.taskToken(): TaskToken
override def startedEventIdValue: EventId = impl.startedEventId(): EventId
override def workflowExecutionValue
: io.github.vigoo.zioaws.swf.model.WorkflowExecution.ReadOnly =
io.github.vigoo.zioaws.swf.model.WorkflowExecution
.wrap(impl.workflowExecution())
override def workflowTypeValue
: io.github.vigoo.zioaws.swf.model.WorkflowType.ReadOnly =
io.github.vigoo.zioaws.swf.model.WorkflowType.wrap(impl.workflowType())
override def eventsValue
: List[io.github.vigoo.zioaws.swf.model.HistoryEvent.ReadOnly] = impl
.events()
.asScala
.map { item =>
io.github.vigoo.zioaws.swf.model.HistoryEvent.wrap(item)
}
.toList
override def nextPageTokenValue: Option[PageToken] =
scala.Option(impl.nextPageToken()).map(value => value: PageToken)
override def previousStartedEventIdValue: Option[EventId] =
scala.Option(impl.previousStartedEventId()).map(value => value: EventId)
}
def wrap(
impl: software.amazon.awssdk.services.swf.model.PollForDecisionTaskResponse
): io.github.vigoo.zioaws.swf.model.PollForDecisionTaskResponse.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy