
io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest.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,
SignalName,
WorkflowId
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class SignalWorkflowExecutionRequest(
domain: DomainName,
workflowId: WorkflowId,
runId: Option[WorkflowRunIdOptional] = None,
signalName: SignalName,
input: Option[Data] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.swf.model.SignalWorkflowExecutionRequest = {
import SignalWorkflowExecutionRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.swf.model.SignalWorkflowExecutionRequest
.builder()
.domain(domain: java.lang.String)
.workflowId(workflowId: java.lang.String)
.optionallyWith(runId.map(value => value: java.lang.String))(_.runId)
.signalName(signalName: java.lang.String)
.optionallyWith(input.map(value => value: java.lang.String))(_.input)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest.ReadOnly =
io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest
.wrap(buildAwsValue())
}
object SignalWorkflowExecutionRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.swf.model.SignalWorkflowExecutionRequest
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest =
io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest(
domainValue,
workflowIdValue,
runIdValue.map(value => value),
signalNameValue,
inputValue.map(value => value)
)
def domainValue: DomainName
def workflowIdValue: WorkflowId
def runIdValue: Option[WorkflowRunIdOptional]
def signalNameValue: SignalName
def inputValue: Option[Data]
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 signalName: ZIO[Any, Nothing, SignalName] = ZIO.succeed(signalNameValue)
def input: ZIO[Any, AwsError, Data] =
AwsError.unwrapOptionField("input", inputValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.swf.model.SignalWorkflowExecutionRequest
) extends io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest.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 signalNameValue: SignalName = impl.signalName(): SignalName
override def inputValue: Option[Data] =
scala.Option(impl.input()).map(value => value: Data)
}
def wrap(
impl: software.amazon.awssdk.services.swf.model.SignalWorkflowExecutionRequest
): io.github.vigoo.zioaws.swf.model.SignalWorkflowExecutionRequest.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy