
zio.aws.qbusiness.model.NativeIndexConfiguration.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.qbusiness.model.primitives.{DocumentAttributeKey, IndexId}
import scala.jdk.CollectionConverters._
final case class NativeIndexConfiguration(
indexId: IndexId,
boostingOverride: Optional[Map[
DocumentAttributeKey,
zio.aws.qbusiness.model.DocumentAttributeBoostingConfiguration
]] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.NativeIndexConfiguration = {
import NativeIndexConfiguration.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.NativeIndexConfiguration
.builder()
.indexId(IndexId.unwrap(indexId): java.lang.String)
.optionallyWith(
boostingOverride.map(value =>
value
.map({ case (key, value) =>
(DocumentAttributeKey.unwrap(key): java.lang.String) -> value
.buildAwsValue()
})
.asJava
)
)(_.boostingOverride)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.NativeIndexConfiguration.ReadOnly =
zio.aws.qbusiness.model.NativeIndexConfiguration.wrap(buildAwsValue())
}
object NativeIndexConfiguration {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.NativeIndexConfiguration
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.NativeIndexConfiguration =
zio.aws.qbusiness.model.NativeIndexConfiguration(
indexId,
boostingOverride.map(value =>
value.map({ case (key, value) =>
key -> value.asEditable
})
)
)
def indexId: IndexId
def boostingOverride: Optional[Map[
DocumentAttributeKey,
zio.aws.qbusiness.model.DocumentAttributeBoostingConfiguration.ReadOnly
]]
def getIndexId: ZIO[Any, Nothing, IndexId] = ZIO.succeed(indexId)
def getBoostingOverride: ZIO[Any, AwsError, Map[
DocumentAttributeKey,
zio.aws.qbusiness.model.DocumentAttributeBoostingConfiguration.ReadOnly
]] = AwsError.unwrapOptionField("boostingOverride", boostingOverride)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.NativeIndexConfiguration
) extends zio.aws.qbusiness.model.NativeIndexConfiguration.ReadOnly {
override val indexId: IndexId =
zio.aws.qbusiness.model.primitives.IndexId(impl.indexId())
override val boostingOverride: Optional[Map[
DocumentAttributeKey,
zio.aws.qbusiness.model.DocumentAttributeBoostingConfiguration.ReadOnly
]] = zio.aws.core.internal
.optionalFromNullable(impl.boostingOverride())
.map(value =>
value.asScala
.map({ case (key, value) =>
zio.aws.qbusiness.model.primitives.DocumentAttributeKey(
key
) -> zio.aws.qbusiness.model.DocumentAttributeBoostingConfiguration
.wrap(value)
})
.toMap
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.NativeIndexConfiguration
): zio.aws.qbusiness.model.NativeIndexConfiguration.ReadOnly = new Wrapper(
impl
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy