All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.datasync.model
import zio.ZIO
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import io.github.vigoo.zioaws.datasync.model.primitives.Duration
import scala.jdk.CollectionConverters._
final case class TaskExecutionResultDetail(
    prepareDuration: Option[Duration] = None,
    prepareStatus: Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] =
      None,
    totalDuration: Option[Duration] = None,
    transferDuration: Option[Duration] = None,
    transferStatus: Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] =
      None,
    verifyDuration: Option[Duration] = None,
    verifyStatus: Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] =
      None,
    errorCode: Option[String] = None,
    errorDetail: Option[String] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.datasync.model.TaskExecutionResultDetail = {
    import TaskExecutionResultDetail.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.datasync.model.TaskExecutionResultDetail
      .builder()
      .optionallyWith(prepareDuration.map(value => value: java.lang.Long))(
        _.prepareDuration
      )
      .optionallyWith(prepareStatus.map(value => value.unwrap))(_.prepareStatus)
      .optionallyWith(totalDuration.map(value => value: java.lang.Long))(
        _.totalDuration
      )
      .optionallyWith(transferDuration.map(value => value: java.lang.Long))(
        _.transferDuration
      )
      .optionallyWith(transferStatus.map(value => value.unwrap))(
        _.transferStatus
      )
      .optionallyWith(verifyDuration.map(value => value: java.lang.Long))(
        _.verifyDuration
      )
      .optionallyWith(verifyStatus.map(value => value.unwrap))(_.verifyStatus)
      .optionallyWith(errorCode.map(value => value: java.lang.String))(
        _.errorCode
      )
      .optionallyWith(errorDetail.map(value => value: java.lang.String))(
        _.errorDetail
      )
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail.ReadOnly =
    io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail
      .wrap(buildAwsValue())
}
object TaskExecutionResultDetail {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.datasync.model.TaskExecutionResultDetail
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail =
      io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail(
        prepareDurationValue.map(value => value),
        prepareStatusValue.map(value => value),
        totalDurationValue.map(value => value),
        transferDurationValue.map(value => value),
        transferStatusValue.map(value => value),
        verifyDurationValue.map(value => value),
        verifyStatusValue.map(value => value),
        errorCodeValue.map(value => value),
        errorDetailValue.map(value => value)
      )
    def prepareDurationValue: Option[Duration]
    def prepareStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus]
    def totalDurationValue: Option[Duration]
    def transferDurationValue: Option[Duration]
    def transferStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus]
    def verifyDurationValue: Option[Duration]
    def verifyStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus]
    def errorCodeValue: Option[String]
    def errorDetailValue: Option[String]
    def prepareDuration: ZIO[Any, AwsError, Duration] =
      AwsError.unwrapOptionField("prepareDuration", prepareDurationValue)
    def prepareStatus: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.datasync.model.PhaseStatus
    ] = AwsError.unwrapOptionField("prepareStatus", prepareStatusValue)
    def totalDuration: ZIO[Any, AwsError, Duration] =
      AwsError.unwrapOptionField("totalDuration", totalDurationValue)
    def transferDuration: ZIO[Any, AwsError, Duration] =
      AwsError.unwrapOptionField("transferDuration", transferDurationValue)
    def transferStatus: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.datasync.model.PhaseStatus
    ] = AwsError.unwrapOptionField("transferStatus", transferStatusValue)
    def verifyDuration: ZIO[Any, AwsError, Duration] =
      AwsError.unwrapOptionField("verifyDuration", verifyDurationValue)
    def verifyStatus: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.datasync.model.PhaseStatus
    ] = AwsError.unwrapOptionField("verifyStatus", verifyStatusValue)
    def errorCode: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("errorCode", errorCodeValue)
    def errorDetail: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("errorDetail", errorDetailValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.datasync.model.TaskExecutionResultDetail
  ) extends io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail.ReadOnly {
    override def prepareDurationValue: Option[Duration] =
      scala.Option(impl.prepareDuration()).map(value => value: Duration)
    override def prepareStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] = scala
      .Option(impl.prepareStatus())
      .map(value =>
        io.github.vigoo.zioaws.datasync.model.PhaseStatus.wrap(value)
      )
    override def totalDurationValue: Option[Duration] =
      scala.Option(impl.totalDuration()).map(value => value: Duration)
    override def transferDurationValue: Option[Duration] =
      scala.Option(impl.transferDuration()).map(value => value: Duration)
    override def transferStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] = scala
      .Option(impl.transferStatus())
      .map(value =>
        io.github.vigoo.zioaws.datasync.model.PhaseStatus.wrap(value)
      )
    override def verifyDurationValue: Option[Duration] =
      scala.Option(impl.verifyDuration()).map(value => value: Duration)
    override def verifyStatusValue
        : Option[io.github.vigoo.zioaws.datasync.model.PhaseStatus] = scala
      .Option(impl.verifyStatus())
      .map(value =>
        io.github.vigoo.zioaws.datasync.model.PhaseStatus.wrap(value)
      )
    override def errorCodeValue: Option[String] =
      scala.Option(impl.errorCode()).map(value => value: String)
    override def errorDetailValue: Option[String] =
      scala.Option(impl.errorDetail()).map(value => value: String)
  }
  def wrap(
      impl: software.amazon.awssdk.services.datasync.model.TaskExecutionResultDetail
  ): io.github.vigoo.zioaws.datasync.model.TaskExecutionResultDetail.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy