
io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{
Data,
WorkflowRunIdOptional,
DomainName,
TerminateReason,
WorkflowId
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class TerminateWorkflowExecutionRequest(
domain: DomainName,
workflowId: WorkflowId,
runId: Option[WorkflowRunIdOptional] = None,
reason: Option[TerminateReason] = None,
details: Option[Data] = None,
childPolicy: Option[io.github.vigoo.zioaws.swf.model.ChildPolicy] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.swf.model.TerminateWorkflowExecutionRequest = {
import TerminateWorkflowExecutionRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.swf.model.TerminateWorkflowExecutionRequest
.builder()
.domain(domain: java.lang.String)
.workflowId(workflowId: java.lang.String)
.optionallyWith(runId.map(value => value: java.lang.String))(_.runId)
.optionallyWith(reason.map(value => value: java.lang.String))(_.reason)
.optionallyWith(details.map(value => value: java.lang.String))(_.details)
.optionallyWith(childPolicy.map(value => value.unwrap))(_.childPolicy)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest.ReadOnly =
io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest
.wrap(buildAwsValue())
}
object TerminateWorkflowExecutionRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.swf.model.TerminateWorkflowExecutionRequest
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest =
io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest(
domainValue,
workflowIdValue,
runIdValue.map(value => value),
reasonValue.map(value => value),
detailsValue.map(value => value),
childPolicyValue.map(value => value)
)
def domainValue: DomainName
def workflowIdValue: WorkflowId
def runIdValue: Option[WorkflowRunIdOptional]
def reasonValue: Option[TerminateReason]
def detailsValue: Option[Data]
def childPolicyValue: Option[io.github.vigoo.zioaws.swf.model.ChildPolicy]
def domain: ZIO[Any, Nothing, DomainName] = ZIO.succeed(domainValue)
def workflowId: ZIO[Any, Nothing, WorkflowId] = ZIO.succeed(workflowIdValue)
def runId: ZIO[Any, AwsError, WorkflowRunIdOptional] =
AwsError.unwrapOptionField("runId", runIdValue)
def reason: ZIO[Any, AwsError, TerminateReason] =
AwsError.unwrapOptionField("reason", reasonValue)
def details: ZIO[Any, AwsError, Data] =
AwsError.unwrapOptionField("details", detailsValue)
def childPolicy
: ZIO[Any, AwsError, io.github.vigoo.zioaws.swf.model.ChildPolicy] =
AwsError.unwrapOptionField("childPolicy", childPolicyValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.swf.model.TerminateWorkflowExecutionRequest
) extends io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest.ReadOnly {
override def domainValue: DomainName = impl.domain(): DomainName
override def workflowIdValue: WorkflowId = impl.workflowId(): WorkflowId
override def runIdValue: Option[WorkflowRunIdOptional] =
scala.Option(impl.runId()).map(value => value: WorkflowRunIdOptional)
override def reasonValue: Option[TerminateReason] =
scala.Option(impl.reason()).map(value => value: TerminateReason)
override def detailsValue: Option[Data] =
scala.Option(impl.details()).map(value => value: Data)
override def childPolicyValue
: Option[io.github.vigoo.zioaws.swf.model.ChildPolicy] = scala
.Option(impl.childPolicy())
.map(value => io.github.vigoo.zioaws.swf.model.ChildPolicy.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.swf.model.TerminateWorkflowExecutionRequest
): io.github.vigoo.zioaws.swf.model.TerminateWorkflowExecutionRequest.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy