zio.aws.transcribe.model.RelativeTimeRange.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-transcribe_2.12 Show documentation
Show all versions of zio-aws-transcribe_2.12 Show documentation
Low-level AWS wrapper for ZIO
The newest version!
package zio.aws.transcribe.model
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.aws.transcribe.model.primitives.Percentage
import zio.ZIO
import java.lang.Integer
import scala.jdk.CollectionConverters._
final case class RelativeTimeRange(
startPercentage: Optional[Percentage] = Optional.Absent,
endPercentage: Optional[Percentage] = Optional.Absent,
first: Optional[Percentage] = Optional.Absent,
last: Optional[Percentage] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.transcribe.model.RelativeTimeRange = {
import RelativeTimeRange.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.transcribe.model.RelativeTimeRange
.builder()
.optionallyWith(
startPercentage.map(value => Percentage.unwrap(value): Integer)
)(_.startPercentage)
.optionallyWith(
endPercentage.map(value => Percentage.unwrap(value): Integer)
)(_.endPercentage)
.optionallyWith(first.map(value => Percentage.unwrap(value): Integer))(
_.first
)
.optionallyWith(last.map(value => Percentage.unwrap(value): Integer))(
_.last
)
.build()
}
def asReadOnly: zio.aws.transcribe.model.RelativeTimeRange.ReadOnly =
zio.aws.transcribe.model.RelativeTimeRange.wrap(buildAwsValue())
}
object RelativeTimeRange {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.transcribe.model.RelativeTimeRange
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.transcribe.model.RelativeTimeRange =
zio.aws.transcribe.model.RelativeTimeRange(
startPercentage.map(value => value),
endPercentage.map(value => value),
first.map(value => value),
last.map(value => value)
)
def startPercentage: Optional[Percentage]
def endPercentage: Optional[Percentage]
def first: Optional[Percentage]
def last: Optional[Percentage]
def getStartPercentage: ZIO[Any, AwsError, Percentage] =
AwsError.unwrapOptionField("startPercentage", startPercentage)
def getEndPercentage: ZIO[Any, AwsError, Percentage] =
AwsError.unwrapOptionField("endPercentage", endPercentage)
def getFirst: ZIO[Any, AwsError, Percentage] =
AwsError.unwrapOptionField("first", first)
def getLast: ZIO[Any, AwsError, Percentage] =
AwsError.unwrapOptionField("last", last)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.transcribe.model.RelativeTimeRange
) extends zio.aws.transcribe.model.RelativeTimeRange.ReadOnly {
override val startPercentage: Optional[Percentage] = zio.aws.core.internal
.optionalFromNullable(impl.startPercentage())
.map(value => zio.aws.transcribe.model.primitives.Percentage(value))
override val endPercentage: Optional[Percentage] = zio.aws.core.internal
.optionalFromNullable(impl.endPercentage())
.map(value => zio.aws.transcribe.model.primitives.Percentage(value))
override val first: Optional[Percentage] = zio.aws.core.internal
.optionalFromNullable(impl.first())
.map(value => zio.aws.transcribe.model.primitives.Percentage(value))
override val last: Optional[Percentage] = zio.aws.core.internal
.optionalFromNullable(impl.last())
.map(value => zio.aws.transcribe.model.primitives.Percentage(value))
}
def wrap(
impl: software.amazon.awssdk.services.transcribe.model.RelativeTimeRange
): zio.aws.transcribe.model.RelativeTimeRange.ReadOnly = new Wrapper(impl)
}