
zio.aws.qbusiness.model.GetIndexResponse.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.aws.qbusiness.model.primitives.{
IndexName,
Timestamp,
IndexId,
Description,
IndexArn,
ApplicationId
}
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters._
final case class GetIndexResponse(
applicationId: Optional[ApplicationId] = Optional.Absent,
indexId: Optional[IndexId] = Optional.Absent,
displayName: Optional[IndexName] = Optional.Absent,
indexArn: Optional[IndexArn] = Optional.Absent,
status: Optional[zio.aws.qbusiness.model.IndexStatus] = Optional.Absent,
`type`: Optional[zio.aws.qbusiness.model.IndexType] = Optional.Absent,
description: Optional[Description] = Optional.Absent,
createdAt: Optional[Timestamp] = Optional.Absent,
updatedAt: Optional[Timestamp] = Optional.Absent,
capacityConfiguration: Optional[
zio.aws.qbusiness.model.IndexCapacityConfiguration
] = Optional.Absent,
documentAttributeConfigurations: Optional[
Iterable[zio.aws.qbusiness.model.DocumentAttributeConfiguration]
] = Optional.Absent,
error: Optional[zio.aws.qbusiness.model.ErrorDetail] = Optional.Absent,
indexStatistics: Optional[zio.aws.qbusiness.model.IndexStatistics] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.GetIndexResponse = {
import GetIndexResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.GetIndexResponse
.builder()
.optionallyWith(
applicationId.map(value =>
ApplicationId.unwrap(value): java.lang.String
)
)(_.applicationId)
.optionallyWith(
indexId.map(value => IndexId.unwrap(value): java.lang.String)
)(_.indexId)
.optionallyWith(
displayName.map(value => IndexName.unwrap(value): java.lang.String)
)(_.displayName)
.optionallyWith(
indexArn.map(value => IndexArn.unwrap(value): java.lang.String)
)(_.indexArn)
.optionallyWith(status.map(value => value.unwrap))(_.status)
.optionallyWith(`type`.map(value => value.unwrap))(_.`type`)
.optionallyWith(
description.map(value => Description.unwrap(value): java.lang.String)
)(_.description)
.optionallyWith(createdAt.map(value => Timestamp.unwrap(value): Instant))(
_.createdAt
)
.optionallyWith(updatedAt.map(value => Timestamp.unwrap(value): Instant))(
_.updatedAt
)
.optionallyWith(
capacityConfiguration.map(value => value.buildAwsValue())
)(_.capacityConfiguration)
.optionallyWith(
documentAttributeConfigurations.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.documentAttributeConfigurations)
.optionallyWith(error.map(value => value.buildAwsValue()))(_.error)
.optionallyWith(indexStatistics.map(value => value.buildAwsValue()))(
_.indexStatistics
)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.GetIndexResponse.ReadOnly =
zio.aws.qbusiness.model.GetIndexResponse.wrap(buildAwsValue())
}
object GetIndexResponse {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.GetIndexResponse
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.GetIndexResponse =
zio.aws.qbusiness.model.GetIndexResponse(
applicationId.map(value => value),
indexId.map(value => value),
displayName.map(value => value),
indexArn.map(value => value),
status.map(value => value),
`type`.map(value => value),
description.map(value => value),
createdAt.map(value => value),
updatedAt.map(value => value),
capacityConfiguration.map(value => value.asEditable),
documentAttributeConfigurations.map(value =>
value.map { item =>
item.asEditable
}
),
error.map(value => value.asEditable),
indexStatistics.map(value => value.asEditable)
)
def applicationId: Optional[ApplicationId]
def indexId: Optional[IndexId]
def displayName: Optional[IndexName]
def indexArn: Optional[IndexArn]
def status: Optional[zio.aws.qbusiness.model.IndexStatus]
def `type`: Optional[zio.aws.qbusiness.model.IndexType]
def description: Optional[Description]
def createdAt: Optional[Timestamp]
def updatedAt: Optional[Timestamp]
def capacityConfiguration
: Optional[zio.aws.qbusiness.model.IndexCapacityConfiguration.ReadOnly]
def documentAttributeConfigurations: Optional[
List[zio.aws.qbusiness.model.DocumentAttributeConfiguration.ReadOnly]
]
def error: Optional[zio.aws.qbusiness.model.ErrorDetail.ReadOnly]
def indexStatistics
: Optional[zio.aws.qbusiness.model.IndexStatistics.ReadOnly]
def getApplicationId: ZIO[Any, AwsError, ApplicationId] =
AwsError.unwrapOptionField("applicationId", applicationId)
def getIndexId: ZIO[Any, AwsError, IndexId] =
AwsError.unwrapOptionField("indexId", indexId)
def getDisplayName: ZIO[Any, AwsError, IndexName] =
AwsError.unwrapOptionField("displayName", displayName)
def getIndexArn: ZIO[Any, AwsError, IndexArn] =
AwsError.unwrapOptionField("indexArn", indexArn)
def getStatus: ZIO[Any, AwsError, zio.aws.qbusiness.model.IndexStatus] =
AwsError.unwrapOptionField("status", status)
def getType: ZIO[Any, AwsError, zio.aws.qbusiness.model.IndexType] =
AwsError.unwrapOptionField("type", `type`)
def getDescription: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", description)
def getCreatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("createdAt", createdAt)
def getUpdatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("updatedAt", updatedAt)
def getCapacityConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.IndexCapacityConfiguration.ReadOnly
] =
AwsError.unwrapOptionField("capacityConfiguration", capacityConfiguration)
def getDocumentAttributeConfigurations: ZIO[Any, AwsError, List[
zio.aws.qbusiness.model.DocumentAttributeConfiguration.ReadOnly
]] = AwsError.unwrapOptionField(
"documentAttributeConfigurations",
documentAttributeConfigurations
)
def getError
: ZIO[Any, AwsError, zio.aws.qbusiness.model.ErrorDetail.ReadOnly] =
AwsError.unwrapOptionField("error", error)
def getIndexStatistics
: ZIO[Any, AwsError, zio.aws.qbusiness.model.IndexStatistics.ReadOnly] =
AwsError.unwrapOptionField("indexStatistics", indexStatistics)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.GetIndexResponse
) extends zio.aws.qbusiness.model.GetIndexResponse.ReadOnly {
override val applicationId: Optional[ApplicationId] = zio.aws.core.internal
.optionalFromNullable(impl.applicationId())
.map(value => zio.aws.qbusiness.model.primitives.ApplicationId(value))
override val indexId: Optional[IndexId] = zio.aws.core.internal
.optionalFromNullable(impl.indexId())
.map(value => zio.aws.qbusiness.model.primitives.IndexId(value))
override val displayName: Optional[IndexName] = zio.aws.core.internal
.optionalFromNullable(impl.displayName())
.map(value => zio.aws.qbusiness.model.primitives.IndexName(value))
override val indexArn: Optional[IndexArn] = zio.aws.core.internal
.optionalFromNullable(impl.indexArn())
.map(value => zio.aws.qbusiness.model.primitives.IndexArn(value))
override val status: Optional[zio.aws.qbusiness.model.IndexStatus] =
zio.aws.core.internal
.optionalFromNullable(impl.status())
.map(value => zio.aws.qbusiness.model.IndexStatus.wrap(value))
override val `type`: Optional[zio.aws.qbusiness.model.IndexType] =
zio.aws.core.internal
.optionalFromNullable(impl.`type`())
.map(value => zio.aws.qbusiness.model.IndexType.wrap(value))
override val description: Optional[Description] = zio.aws.core.internal
.optionalFromNullable(impl.description())
.map(value => zio.aws.qbusiness.model.primitives.Description(value))
override val createdAt: Optional[Timestamp] = zio.aws.core.internal
.optionalFromNullable(impl.createdAt())
.map(value => zio.aws.qbusiness.model.primitives.Timestamp(value))
override val updatedAt: Optional[Timestamp] = zio.aws.core.internal
.optionalFromNullable(impl.updatedAt())
.map(value => zio.aws.qbusiness.model.primitives.Timestamp(value))
override val capacityConfiguration: Optional[
zio.aws.qbusiness.model.IndexCapacityConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.capacityConfiguration())
.map(value =>
zio.aws.qbusiness.model.IndexCapacityConfiguration.wrap(value)
)
override val documentAttributeConfigurations: Optional[
List[zio.aws.qbusiness.model.DocumentAttributeConfiguration.ReadOnly]
] = zio.aws.core.internal
.optionalFromNullable(impl.documentAttributeConfigurations())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.DocumentAttributeConfiguration.wrap(item)
}.toList
)
override val error: Optional[zio.aws.qbusiness.model.ErrorDetail.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.error())
.map(value => zio.aws.qbusiness.model.ErrorDetail.wrap(value))
override val indexStatistics
: Optional[zio.aws.qbusiness.model.IndexStatistics.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.indexStatistics())
.map(value => zio.aws.qbusiness.model.IndexStatistics.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.GetIndexResponse
): zio.aws.qbusiness.model.GetIndexResponse.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy