![JAR search and dependency download from the Maven repository](/logo.png)
zio.aws.lexruntimev2.model.Slot.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-lexruntimev2_2.12 Show documentation
Show all versions of zio-aws-lexruntimev2_2.12 Show documentation
Low-level AWS wrapper for ZIO
package zio.aws.lexruntimev2.model
import zio.aws.lexruntimev2.model.primitives.NonEmptyString
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import scala.jdk.CollectionConverters._
final case class Slot(
value: Optional[zio.aws.lexruntimev2.model.Value] = Optional.Absent,
shape: Optional[zio.aws.lexruntimev2.model.Shape] = Optional.Absent,
values: Optional[Iterable[zio.aws.lexruntimev2.model.Slot]] =
Optional.Absent,
subSlots: Optional[Map[NonEmptyString, zio.aws.lexruntimev2.model.Slot]] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.lexruntimev2.model.Slot = {
import Slot.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.lexruntimev2.model.Slot
.builder()
.optionallyWith(value.map(value => value.buildAwsValue()))(_.value)
.optionallyWith(shape.map(value => value.unwrap))(_.shape)
.optionallyWith(
values.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.values)
.optionallyWith(
subSlots.map(value =>
value
.map({ case (key, value) =>
(NonEmptyString.unwrap(key): java.lang.String) -> value
.buildAwsValue()
})
.asJava
)
)(_.subSlots)
.build()
}
def asReadOnly: zio.aws.lexruntimev2.model.Slot.ReadOnly =
zio.aws.lexruntimev2.model.Slot.wrap(buildAwsValue())
}
object Slot {
private lazy val zioAwsBuilderHelper
: BuilderHelper[software.amazon.awssdk.services.lexruntimev2.model.Slot] =
BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.lexruntimev2.model.Slot =
zio.aws.lexruntimev2.model.Slot(
value.map(value => value.asEditable),
shape.map(value => value),
values.map(value =>
value.map { item =>
item.asEditable
}
),
subSlots.map(value =>
value.map({ case (key, value) =>
key -> value.asEditable
})
)
)
def value: Optional[zio.aws.lexruntimev2.model.Value.ReadOnly]
def shape: Optional[zio.aws.lexruntimev2.model.Shape]
def values: Optional[List[zio.aws.lexruntimev2.model.Slot.ReadOnly]]
def subSlots: Optional[
Map[NonEmptyString, zio.aws.lexruntimev2.model.Slot.ReadOnly]
]
def getValue
: ZIO[Any, AwsError, zio.aws.lexruntimev2.model.Value.ReadOnly] =
AwsError.unwrapOptionField("value", value)
def getShape: ZIO[Any, AwsError, zio.aws.lexruntimev2.model.Shape] =
AwsError.unwrapOptionField("shape", shape)
def getValues
: ZIO[Any, AwsError, List[zio.aws.lexruntimev2.model.Slot.ReadOnly]] =
AwsError.unwrapOptionField("values", values)
def getSubSlots: ZIO[Any, AwsError, Map[
NonEmptyString,
zio.aws.lexruntimev2.model.Slot.ReadOnly
]] = AwsError.unwrapOptionField("subSlots", subSlots)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.lexruntimev2.model.Slot
) extends zio.aws.lexruntimev2.model.Slot.ReadOnly {
override val value: Optional[zio.aws.lexruntimev2.model.Value.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.value())
.map(value => zio.aws.lexruntimev2.model.Value.wrap(value))
override val shape: Optional[zio.aws.lexruntimev2.model.Shape] =
zio.aws.core.internal
.optionalFromNullable(impl.shape())
.map(value => zio.aws.lexruntimev2.model.Shape.wrap(value))
override val values
: Optional[List[zio.aws.lexruntimev2.model.Slot.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.values())
.map(value =>
value.asScala.map { item =>
zio.aws.lexruntimev2.model.Slot.wrap(item)
}.toList
)
override val subSlots: Optional[
Map[NonEmptyString, zio.aws.lexruntimev2.model.Slot.ReadOnly]
] = zio.aws.core.internal
.optionalFromNullable(impl.subSlots())
.map(value =>
value.asScala
.map({ case (key, value) =>
zio.aws.lexruntimev2.model.primitives.NonEmptyString(
key
) -> zio.aws.lexruntimev2.model.Slot.wrap(value)
})
.toMap
)
}
def wrap(
impl: software.amazon.awssdk.services.lexruntimev2.model.Slot
): zio.aws.lexruntimev2.model.Slot.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy