
zio.aws.personalize.model.DatasetSchema.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-personalize_3 Show documentation
Show all versions of zio-aws-personalize_3 Show documentation
Low-level AWS wrapper for ZIO
package zio.aws.personalize.model
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.personalize.model.primitives.{Date, AvroSchema, Arn, Name}
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters.*
final case class DatasetSchema(
name: Optional[Name] = Optional.Absent,
schemaArn: Optional[Arn] = Optional.Absent,
schema: Optional[AvroSchema] = Optional.Absent,
creationDateTime: Optional[Date] = Optional.Absent,
lastUpdatedDateTime: Optional[Date] = Optional.Absent,
domain: Optional[zio.aws.personalize.model.Domain] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.personalize.model.DatasetSchema = {
import DatasetSchema.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.personalize.model.DatasetSchema
.builder()
.optionallyWith(name.map(value => Name.unwrap(value): java.lang.String))(
_.name
)
.optionallyWith(
schemaArn.map(value => Arn.unwrap(value): java.lang.String)
)(_.schemaArn)
.optionallyWith(
schema.map(value => AvroSchema.unwrap(value): java.lang.String)
)(_.schema)
.optionallyWith(
creationDateTime.map(value => Date.unwrap(value): Instant)
)(_.creationDateTime)
.optionallyWith(
lastUpdatedDateTime.map(value => Date.unwrap(value): Instant)
)(_.lastUpdatedDateTime)
.optionallyWith(domain.map(value => value.unwrap))(_.domain)
.build()
}
def asReadOnly: zio.aws.personalize.model.DatasetSchema.ReadOnly =
zio.aws.personalize.model.DatasetSchema.wrap(buildAwsValue())
}
object DatasetSchema {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.personalize.model.DatasetSchema
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.personalize.model.DatasetSchema =
zio.aws.personalize.model.DatasetSchema(
name.map(value => value),
schemaArn.map(value => value),
schema.map(value => value),
creationDateTime.map(value => value),
lastUpdatedDateTime.map(value => value),
domain.map(value => value)
)
def name: Optional[Name]
def schemaArn: Optional[Arn]
def schema: Optional[AvroSchema]
def creationDateTime: Optional[Date]
def lastUpdatedDateTime: Optional[Date]
def domain: Optional[zio.aws.personalize.model.Domain]
def getName: ZIO[Any, AwsError, Name] =
AwsError.unwrapOptionField("name", name)
def getSchemaArn: ZIO[Any, AwsError, Arn] =
AwsError.unwrapOptionField("schemaArn", schemaArn)
def getSchema: ZIO[Any, AwsError, AvroSchema] =
AwsError.unwrapOptionField("schema", schema)
def getCreationDateTime: ZIO[Any, AwsError, Date] =
AwsError.unwrapOptionField("creationDateTime", creationDateTime)
def getLastUpdatedDateTime: ZIO[Any, AwsError, Date] =
AwsError.unwrapOptionField("lastUpdatedDateTime", lastUpdatedDateTime)
def getDomain: ZIO[Any, AwsError, zio.aws.personalize.model.Domain] =
AwsError.unwrapOptionField("domain", domain)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.personalize.model.DatasetSchema
) extends zio.aws.personalize.model.DatasetSchema.ReadOnly {
override val name: Optional[Name] = zio.aws.core.internal
.optionalFromNullable(impl.name())
.map(value => zio.aws.personalize.model.primitives.Name(value))
override val schemaArn: Optional[Arn] = zio.aws.core.internal
.optionalFromNullable(impl.schemaArn())
.map(value => zio.aws.personalize.model.primitives.Arn(value))
override val schema: Optional[AvroSchema] = zio.aws.core.internal
.optionalFromNullable(impl.schema())
.map(value => zio.aws.personalize.model.primitives.AvroSchema(value))
override val creationDateTime: Optional[Date] = zio.aws.core.internal
.optionalFromNullable(impl.creationDateTime())
.map(value => zio.aws.personalize.model.primitives.Date(value))
override val lastUpdatedDateTime: Optional[Date] = zio.aws.core.internal
.optionalFromNullable(impl.lastUpdatedDateTime())
.map(value => zio.aws.personalize.model.primitives.Date(value))
override val domain: Optional[zio.aws.personalize.model.Domain] =
zio.aws.core.internal
.optionalFromNullable(impl.domain())
.map(value => zio.aws.personalize.model.Domain.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.personalize.model.DatasetSchema
): zio.aws.personalize.model.DatasetSchema.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy