
zio.aws.qbusiness.model.RelevantContent.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.{Url, Title, DocumentId}
import scala.jdk.CollectionConverters._
final case class RelevantContent(
content: Optional[String] = Optional.Absent,
documentId: Optional[DocumentId] = Optional.Absent,
documentTitle: Optional[Title] = Optional.Absent,
documentUri: Optional[Url] = Optional.Absent,
documentAttributes: Optional[
Iterable[zio.aws.qbusiness.model.DocumentAttribute]
] = Optional.Absent,
scoreAttributes: Optional[zio.aws.qbusiness.model.ScoreAttributes] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.RelevantContent = {
import RelevantContent.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.RelevantContent
.builder()
.optionallyWith(content.map(value => value: java.lang.String))(_.content)
.optionallyWith(
documentId.map(value => DocumentId.unwrap(value): java.lang.String)
)(_.documentId)
.optionallyWith(
documentTitle.map(value => Title.unwrap(value): java.lang.String)
)(_.documentTitle)
.optionallyWith(
documentUri.map(value => Url.unwrap(value): java.lang.String)
)(_.documentUri)
.optionallyWith(
documentAttributes.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.documentAttributes)
.optionallyWith(scoreAttributes.map(value => value.buildAwsValue()))(
_.scoreAttributes
)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.RelevantContent.ReadOnly =
zio.aws.qbusiness.model.RelevantContent.wrap(buildAwsValue())
}
object RelevantContent {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.RelevantContent
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.RelevantContent =
zio.aws.qbusiness.model.RelevantContent(
content.map(value => value),
documentId.map(value => value),
documentTitle.map(value => value),
documentUri.map(value => value),
documentAttributes.map(value =>
value.map { item =>
item.asEditable
}
),
scoreAttributes.map(value => value.asEditable)
)
def content: Optional[String]
def documentId: Optional[DocumentId]
def documentTitle: Optional[Title]
def documentUri: Optional[Url]
def documentAttributes
: Optional[List[zio.aws.qbusiness.model.DocumentAttribute.ReadOnly]]
def scoreAttributes
: Optional[zio.aws.qbusiness.model.ScoreAttributes.ReadOnly]
def getContent: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("content", content)
def getDocumentId: ZIO[Any, AwsError, DocumentId] =
AwsError.unwrapOptionField("documentId", documentId)
def getDocumentTitle: ZIO[Any, AwsError, Title] =
AwsError.unwrapOptionField("documentTitle", documentTitle)
def getDocumentUri: ZIO[Any, AwsError, Url] =
AwsError.unwrapOptionField("documentUri", documentUri)
def getDocumentAttributes: ZIO[Any, AwsError, List[
zio.aws.qbusiness.model.DocumentAttribute.ReadOnly
]] = AwsError.unwrapOptionField("documentAttributes", documentAttributes)
def getScoreAttributes
: ZIO[Any, AwsError, zio.aws.qbusiness.model.ScoreAttributes.ReadOnly] =
AwsError.unwrapOptionField("scoreAttributes", scoreAttributes)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.RelevantContent
) extends zio.aws.qbusiness.model.RelevantContent.ReadOnly {
override val content: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.content())
.map(value => value: String)
override val documentId: Optional[DocumentId] = zio.aws.core.internal
.optionalFromNullable(impl.documentId())
.map(value => zio.aws.qbusiness.model.primitives.DocumentId(value))
override val documentTitle: Optional[Title] = zio.aws.core.internal
.optionalFromNullable(impl.documentTitle())
.map(value => zio.aws.qbusiness.model.primitives.Title(value))
override val documentUri: Optional[Url] = zio.aws.core.internal
.optionalFromNullable(impl.documentUri())
.map(value => zio.aws.qbusiness.model.primitives.Url(value))
override val documentAttributes
: Optional[List[zio.aws.qbusiness.model.DocumentAttribute.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.documentAttributes())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.DocumentAttribute.wrap(item)
}.toList
)
override val scoreAttributes
: Optional[zio.aws.qbusiness.model.ScoreAttributes.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.scoreAttributes())
.map(value => zio.aws.qbusiness.model.ScoreAttributes.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.RelevantContent
): zio.aws.qbusiness.model.RelevantContent.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy