
io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{Data, TaskToken}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class RespondDecisionTaskCompletedRequest(
taskToken: TaskToken,
decisions: Option[Iterable[io.github.vigoo.zioaws.swf.model.Decision]] =
None,
executionContext: Option[Data] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.swf.model.RespondDecisionTaskCompletedRequest = {
import RespondDecisionTaskCompletedRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.swf.model.RespondDecisionTaskCompletedRequest
.builder()
.taskToken(taskToken: java.lang.String)
.optionallyWith(
decisions.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.decisions)
.optionallyWith(executionContext.map(value => value: java.lang.String))(
_.executionContext
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest.ReadOnly =
io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest
.wrap(buildAwsValue())
}
object RespondDecisionTaskCompletedRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.swf.model.RespondDecisionTaskCompletedRequest
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest =
io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest(
taskTokenValue,
decisionsValue.map(value =>
value.map { item =>
item.editable
}
),
executionContextValue.map(value => value)
)
def taskTokenValue: TaskToken
def decisionsValue
: Option[List[io.github.vigoo.zioaws.swf.model.Decision.ReadOnly]]
def executionContextValue: Option[Data]
def taskToken: ZIO[Any, Nothing, TaskToken] = ZIO.succeed(taskTokenValue)
def decisions: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.swf.model.Decision.ReadOnly
]] = AwsError.unwrapOptionField("decisions", decisionsValue)
def executionContext: ZIO[Any, AwsError, Data] =
AwsError.unwrapOptionField("executionContext", executionContextValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.swf.model.RespondDecisionTaskCompletedRequest
) extends io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest.ReadOnly {
override def taskTokenValue: TaskToken = impl.taskToken(): TaskToken
override def decisionsValue
: Option[List[io.github.vigoo.zioaws.swf.model.Decision.ReadOnly]] =
scala
.Option(impl.decisions())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.swf.model.Decision.wrap(item)
}.toList
)
override def executionContextValue: Option[Data] =
scala.Option(impl.executionContext()).map(value => value: Data)
}
def wrap(
impl: software.amazon.awssdk.services.swf.model.RespondDecisionTaskCompletedRequest
): io.github.vigoo.zioaws.swf.model.RespondDecisionTaskCompletedRequest.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy