
zio.aws.qbusiness.model.UpdateDataSourceRequest.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.{
RoleArn,
DataSourceName,
DataSourceId,
IndexId,
SyncSchedule,
Description,
ApplicationId
}
import scala.jdk.CollectionConverters._
final case class UpdateDataSourceRequest(
applicationId: ApplicationId,
indexId: IndexId,
dataSourceId: DataSourceId,
displayName: Optional[DataSourceName] = Optional.Absent,
configuration: Optional[zio.aws.qbusiness.model.DataSourceConfiguration] =
Optional.Absent,
vpcConfiguration: Optional[
zio.aws.qbusiness.model.DataSourceVpcConfiguration
] = Optional.Absent,
description: Optional[Description] = Optional.Absent,
syncSchedule: Optional[SyncSchedule] = Optional.Absent,
roleArn: Optional[RoleArn] = 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.UpdateDataSourceRequest = {
import UpdateDataSourceRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.UpdateDataSourceRequest
.builder()
.applicationId(ApplicationId.unwrap(applicationId): java.lang.String)
.indexId(IndexId.unwrap(indexId): java.lang.String)
.dataSourceId(DataSourceId.unwrap(dataSourceId): java.lang.String)
.optionallyWith(
displayName.map(value => DataSourceName.unwrap(value): java.lang.String)
)(_.displayName)
.optionallyWith(configuration.map(value => value))(_.configuration)
.optionallyWith(vpcConfiguration.map(value => value.buildAwsValue()))(
_.vpcConfiguration
)
.optionallyWith(
description.map(value => Description.unwrap(value): java.lang.String)
)(_.description)
.optionallyWith(
syncSchedule.map(value => SyncSchedule.unwrap(value): java.lang.String)
)(_.syncSchedule)
.optionallyWith(
roleArn.map(value => RoleArn.unwrap(value): java.lang.String)
)(_.roleArn)
.optionallyWith(
documentEnrichmentConfiguration.map(value => value.buildAwsValue())
)(_.documentEnrichmentConfiguration)
.optionallyWith(
mediaExtractionConfiguration.map(value => value.buildAwsValue())
)(_.mediaExtractionConfiguration)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.UpdateDataSourceRequest.ReadOnly =
zio.aws.qbusiness.model.UpdateDataSourceRequest.wrap(buildAwsValue())
}
object UpdateDataSourceRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.UpdateDataSourceRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.UpdateDataSourceRequest =
zio.aws.qbusiness.model.UpdateDataSourceRequest(
applicationId,
indexId,
dataSourceId,
displayName.map(value => value),
configuration.map(value => value),
vpcConfiguration.map(value => value.asEditable),
description.map(value => value),
syncSchedule.map(value => value),
roleArn.map(value => value),
documentEnrichmentConfiguration.map(value => value.asEditable),
mediaExtractionConfiguration.map(value => value.asEditable)
)
def applicationId: ApplicationId
def indexId: IndexId
def dataSourceId: DataSourceId
def displayName: Optional[DataSourceName]
def configuration: Optional[software.amazon.awssdk.core.document.Document]
def vpcConfiguration
: Optional[zio.aws.qbusiness.model.DataSourceVpcConfiguration.ReadOnly]
def description: Optional[Description]
def syncSchedule: Optional[SyncSchedule]
def roleArn: Optional[RoleArn]
def documentEnrichmentConfiguration: Optional[
zio.aws.qbusiness.model.DocumentEnrichmentConfiguration.ReadOnly
]
def mediaExtractionConfiguration: Optional[
zio.aws.qbusiness.model.MediaExtractionConfiguration.ReadOnly
]
def getApplicationId: ZIO[Any, Nothing, ApplicationId] =
ZIO.succeed(applicationId)
def getIndexId: ZIO[Any, Nothing, IndexId] = ZIO.succeed(indexId)
def getDataSourceId: ZIO[Any, Nothing, DataSourceId] =
ZIO.succeed(dataSourceId)
def getDisplayName: ZIO[Any, AwsError, DataSourceName] =
AwsError.unwrapOptionField("displayName", displayName)
def getConfiguration
: ZIO[Any, AwsError, software.amazon.awssdk.core.document.Document] =
AwsError.unwrapOptionField("configuration", configuration)
def getVpcConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.DataSourceVpcConfiguration.ReadOnly
] = AwsError.unwrapOptionField("vpcConfiguration", vpcConfiguration)
def getDescription: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", description)
def getSyncSchedule: ZIO[Any, AwsError, SyncSchedule] =
AwsError.unwrapOptionField("syncSchedule", syncSchedule)
def getRoleArn: ZIO[Any, AwsError, RoleArn] =
AwsError.unwrapOptionField("roleArn", roleArn)
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.UpdateDataSourceRequest
) extends zio.aws.qbusiness.model.UpdateDataSourceRequest.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 dataSourceId: DataSourceId =
zio.aws.qbusiness.model.primitives.DataSourceId(impl.dataSourceId())
override val displayName: Optional[DataSourceName] = zio.aws.core.internal
.optionalFromNullable(impl.displayName())
.map(value => zio.aws.qbusiness.model.primitives.DataSourceName(value))
override val configuration
: Optional[software.amazon.awssdk.core.document.Document] =
zio.aws.core.internal.optionalFromNullable(impl.configuration())
override val vpcConfiguration: Optional[
zio.aws.qbusiness.model.DataSourceVpcConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.vpcConfiguration())
.map(value =>
zio.aws.qbusiness.model.DataSourceVpcConfiguration.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 syncSchedule: Optional[SyncSchedule] = zio.aws.core.internal
.optionalFromNullable(impl.syncSchedule())
.map(value => zio.aws.qbusiness.model.primitives.SyncSchedule(value))
override val roleArn: Optional[RoleArn] = zio.aws.core.internal
.optionalFromNullable(impl.roleArn())
.map(value => zio.aws.qbusiness.model.primitives.RoleArn(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.UpdateDataSourceRequest
): zio.aws.qbusiness.model.UpdateDataSourceRequest.ReadOnly = new Wrapper(
impl
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy