io.github.vigoo.zioaws.sfn.model.StartExecutionRequest.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-sfn_2.13 Show documentation
Show all versions of zio-aws-sfn_2.13 Show documentation
Low-level AWS wrapper for ZIO
package io.github.vigoo.zioaws.sfn.model
import zio.ZIO
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import io.github.vigoo.zioaws.sfn.model.primitives.{
TraceHeader,
SensitiveData,
Name,
Arn
}
import scala.jdk.CollectionConverters._
final case class StartExecutionRequest(
stateMachineArn: Arn,
name: Option[Name] = None,
input: Option[SensitiveData] = None,
traceHeader: Option[TraceHeader] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.sfn.model.StartExecutionRequest = {
import StartExecutionRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.sfn.model.StartExecutionRequest
.builder()
.stateMachineArn(stateMachineArn: java.lang.String)
.optionallyWith(name.map(value => value: java.lang.String))(_.name)
.optionallyWith(input.map(value => value: java.lang.String))(_.input)
.optionallyWith(traceHeader.map(value => value: java.lang.String))(
_.traceHeader
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.sfn.model.StartExecutionRequest.ReadOnly =
io.github.vigoo.zioaws.sfn.model.StartExecutionRequest.wrap(buildAwsValue())
}
object StartExecutionRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.sfn.model.StartExecutionRequest
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.sfn.model.StartExecutionRequest =
io.github.vigoo.zioaws.sfn.model.StartExecutionRequest(
stateMachineArnValue,
nameValue.map(value => value),
inputValue.map(value => value),
traceHeaderValue.map(value => value)
)
def stateMachineArnValue: Arn
def nameValue: Option[Name]
def inputValue: Option[SensitiveData]
def traceHeaderValue: Option[TraceHeader]
def stateMachineArn: ZIO[Any, Nothing, Arn] =
ZIO.succeed(stateMachineArnValue)
def name: ZIO[Any, AwsError, Name] =
AwsError.unwrapOptionField("name", nameValue)
def input: ZIO[Any, AwsError, SensitiveData] =
AwsError.unwrapOptionField("input", inputValue)
def traceHeader: ZIO[Any, AwsError, TraceHeader] =
AwsError.unwrapOptionField("traceHeader", traceHeaderValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.sfn.model.StartExecutionRequest
) extends io.github.vigoo.zioaws.sfn.model.StartExecutionRequest.ReadOnly {
override def stateMachineArnValue: Arn = impl.stateMachineArn(): Arn
override def nameValue: Option[Name] =
scala.Option(impl.name()).map(value => value: Name)
override def inputValue: Option[SensitiveData] =
scala.Option(impl.input()).map(value => value: SensitiveData)
override def traceHeaderValue: Option[TraceHeader] =
scala.Option(impl.traceHeader()).map(value => value: TraceHeader)
}
def wrap(
impl: software.amazon.awssdk.services.sfn.model.StartExecutionRequest
): io.github.vigoo.zioaws.sfn.model.StartExecutionRequest.ReadOnly =
new Wrapper(impl)
}