
zio.aws.qbusiness.model.Document.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.{Title, DocumentId}
import scala.jdk.CollectionConverters._
final case class Document(
id: DocumentId,
attributes: Optional[Iterable[zio.aws.qbusiness.model.DocumentAttribute]] =
Optional.Absent,
content: Optional[zio.aws.qbusiness.model.DocumentContent] =
Optional.Absent,
contentType: Optional[zio.aws.qbusiness.model.ContentType] =
Optional.Absent,
title: Optional[Title] = Optional.Absent,
accessConfiguration: Optional[zio.aws.qbusiness.model.AccessConfiguration] =
Optional.Absent,
documentEnrichmentConfiguration: Optional[
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration
] = Optional.Absent,
mediaExtractionConfiguration: Optional[
zio.aws.qbusiness.model.MediaExtractionConfiguration
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.Document = {
import Document.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.Document
.builder()
.id(DocumentId.unwrap(id): java.lang.String)
.optionallyWith(
attributes.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.attributes)
.optionallyWith(content.map(value => value.buildAwsValue()))(_.content)
.optionallyWith(contentType.map(value => value.unwrap))(_.contentType)
.optionallyWith(
title.map(value => Title.unwrap(value): java.lang.String)
)(_.title)
.optionallyWith(accessConfiguration.map(value => value.buildAwsValue()))(
_.accessConfiguration
)
.optionallyWith(
documentEnrichmentConfiguration.map(value => value.buildAwsValue())
)(_.documentEnrichmentConfiguration)
.optionallyWith(
mediaExtractionConfiguration.map(value => value.buildAwsValue())
)(_.mediaExtractionConfiguration)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.Document.ReadOnly =
zio.aws.qbusiness.model.Document.wrap(buildAwsValue())
}
object Document {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.Document
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.Document =
zio.aws.qbusiness.model.Document(
id,
attributes.map(value =>
value.map { item =>
item.asEditable
}
),
content.map(value => value.asEditable),
contentType.map(value => value),
title.map(value => value),
accessConfiguration.map(value => value.asEditable),
documentEnrichmentConfiguration.map(value => value.asEditable),
mediaExtractionConfiguration.map(value => value.asEditable)
)
def id: DocumentId
def attributes
: Optional[List[zio.aws.qbusiness.model.DocumentAttribute.ReadOnly]]
def content: Optional[zio.aws.qbusiness.model.DocumentContent.ReadOnly]
def contentType: Optional[zio.aws.qbusiness.model.ContentType]
def title: Optional[Title]
def accessConfiguration
: Optional[zio.aws.qbusiness.model.AccessConfiguration.ReadOnly]
def documentEnrichmentConfiguration: Optional[
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration.ReadOnly
]
def mediaExtractionConfiguration: Optional[
zio.aws.qbusiness.model.MediaExtractionConfiguration.ReadOnly
]
def getId: ZIO[Any, Nothing, DocumentId] = ZIO.succeed(id)
def getAttributes: ZIO[Any, AwsError, List[
zio.aws.qbusiness.model.DocumentAttribute.ReadOnly
]] = AwsError.unwrapOptionField("attributes", attributes)
def getContent
: ZIO[Any, AwsError, zio.aws.qbusiness.model.DocumentContent.ReadOnly] =
AwsError.unwrapOptionField("content", content)
def getContentType
: ZIO[Any, AwsError, zio.aws.qbusiness.model.ContentType] =
AwsError.unwrapOptionField("contentType", contentType)
def getTitle: ZIO[Any, AwsError, Title] =
AwsError.unwrapOptionField("title", title)
def getAccessConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.AccessConfiguration.ReadOnly
] = AwsError.unwrapOptionField("accessConfiguration", accessConfiguration)
def getDocumentEnrichmentConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"documentEnrichmentConfiguration",
documentEnrichmentConfiguration
)
def getMediaExtractionConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.MediaExtractionConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"mediaExtractionConfiguration",
mediaExtractionConfiguration
)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.Document
) extends zio.aws.qbusiness.model.Document.ReadOnly {
override val id: DocumentId =
zio.aws.qbusiness.model.primitives.DocumentId(impl.id())
override val attributes
: Optional[List[zio.aws.qbusiness.model.DocumentAttribute.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.attributes())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.DocumentAttribute.wrap(item)
}.toList
)
override val content
: Optional[zio.aws.qbusiness.model.DocumentContent.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.content())
.map(value => zio.aws.qbusiness.model.DocumentContent.wrap(value))
override val contentType: Optional[zio.aws.qbusiness.model.ContentType] =
zio.aws.core.internal
.optionalFromNullable(impl.contentType())
.map(value => zio.aws.qbusiness.model.ContentType.wrap(value))
override val title: Optional[Title] = zio.aws.core.internal
.optionalFromNullable(impl.title())
.map(value => zio.aws.qbusiness.model.primitives.Title(value))
override val accessConfiguration
: Optional[zio.aws.qbusiness.model.AccessConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.accessConfiguration())
.map(value => zio.aws.qbusiness.model.AccessConfiguration.wrap(value))
override val documentEnrichmentConfiguration: Optional[
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.documentEnrichmentConfiguration())
.map(value =>
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration.wrap(value)
)
override val mediaExtractionConfiguration: Optional[
zio.aws.qbusiness.model.MediaExtractionConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.mediaExtractionConfiguration())
.map(value =>
zio.aws.qbusiness.model.MediaExtractionConfiguration.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.Document
): zio.aws.qbusiness.model.Document.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy