
zio.aws.qbusiness.model.UpdateIndexRequest.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.{
Description,
ApplicationName,
IndexId,
ApplicationId
}
import scala.jdk.CollectionConverters._
final case class UpdateIndexRequest(
applicationId: ApplicationId,
indexId: IndexId,
displayName: Optional[ApplicationName] = Optional.Absent,
description: Optional[Description] = Optional.Absent,
capacityConfiguration: Optional[
zio.aws.qbusiness.model.IndexCapacityConfiguration
] = Optional.Absent,
documentAttributeConfigurations: Optional[
Iterable[zio.aws.qbusiness.model.DocumentAttributeConfiguration]
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.UpdateIndexRequest = {
import UpdateIndexRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.UpdateIndexRequest
.builder()
.applicationId(ApplicationId.unwrap(applicationId): java.lang.String)
.indexId(IndexId.unwrap(indexId): java.lang.String)
.optionallyWith(
displayName.map(value =>
ApplicationName.unwrap(value): java.lang.String
)
)(_.displayName)
.optionallyWith(
description.map(value => Description.unwrap(value): java.lang.String)
)(_.description)
.optionallyWith(
capacityConfiguration.map(value => value.buildAwsValue())
)(_.capacityConfiguration)
.optionallyWith(
documentAttributeConfigurations.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.documentAttributeConfigurations)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.UpdateIndexRequest.ReadOnly =
zio.aws.qbusiness.model.UpdateIndexRequest.wrap(buildAwsValue())
}
object UpdateIndexRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.UpdateIndexRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.UpdateIndexRequest =
zio.aws.qbusiness.model.UpdateIndexRequest(
applicationId,
indexId,
displayName.map(value => value),
description.map(value => value),
capacityConfiguration.map(value => value.asEditable),
documentAttributeConfigurations.map(value =>
value.map { item =>
item.asEditable
}
)
)
def applicationId: ApplicationId
def indexId: IndexId
def displayName: Optional[ApplicationName]
def description: Optional[Description]
def capacityConfiguration
: Optional[zio.aws.qbusiness.model.IndexCapacityConfiguration.ReadOnly]
def documentAttributeConfigurations: Optional[
List[zio.aws.qbusiness.model.DocumentAttributeConfiguration.ReadOnly]
]
def getApplicationId: ZIO[Any, Nothing, ApplicationId] =
ZIO.succeed(applicationId)
def getIndexId: ZIO[Any, Nothing, IndexId] = ZIO.succeed(indexId)
def getDisplayName: ZIO[Any, AwsError, ApplicationName] =
AwsError.unwrapOptionField("displayName", displayName)
def getDescription: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", description)
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
)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.UpdateIndexRequest
) extends zio.aws.qbusiness.model.UpdateIndexRequest.ReadOnly {
override val applicationId: ApplicationId =
zio.aws.qbusiness.model.primitives.ApplicationId(impl.applicationId())
override val indexId: IndexId =
zio.aws.qbusiness.model.primitives.IndexId(impl.indexId())
override val displayName: Optional[ApplicationName] = zio.aws.core.internal
.optionalFromNullable(impl.displayName())
.map(value => zio.aws.qbusiness.model.primitives.ApplicationName(value))
override val description: Optional[Description] = zio.aws.core.internal
.optionalFromNullable(impl.description())
.map(value => zio.aws.qbusiness.model.primitives.Description(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
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.UpdateIndexRequest
): zio.aws.qbusiness.model.UpdateIndexRequest.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy