
zio.aws.qbusiness.model.DataAccessor.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.aws.qbusiness.model.primitives.{
DataAccessorName,
IdcApplicationArn,
Timestamp,
DataAccessorId,
PrincipalRoleArn,
DataAccessorArn
}
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 DataAccessor(
displayName: Optional[DataAccessorName] = Optional.Absent,
dataAccessorId: Optional[DataAccessorId] = Optional.Absent,
dataAccessorArn: Optional[DataAccessorArn] = Optional.Absent,
idcApplicationArn: Optional[IdcApplicationArn] = Optional.Absent,
principal: Optional[PrincipalRoleArn] = Optional.Absent,
createdAt: Optional[Timestamp] = Optional.Absent,
updatedAt: Optional[Timestamp] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.DataAccessor = {
import DataAccessor.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.DataAccessor
.builder()
.optionallyWith(
displayName.map(value =>
DataAccessorName.unwrap(value): java.lang.String
)
)(_.displayName)
.optionallyWith(
dataAccessorId.map(value =>
DataAccessorId.unwrap(value): java.lang.String
)
)(_.dataAccessorId)
.optionallyWith(
dataAccessorArn.map(value =>
DataAccessorArn.unwrap(value): java.lang.String
)
)(_.dataAccessorArn)
.optionallyWith(
idcApplicationArn.map(value =>
IdcApplicationArn.unwrap(value): java.lang.String
)
)(_.idcApplicationArn)
.optionallyWith(
principal.map(value => PrincipalRoleArn.unwrap(value): java.lang.String)
)(_.principal)
.optionallyWith(createdAt.map(value => Timestamp.unwrap(value): Instant))(
_.createdAt
)
.optionallyWith(updatedAt.map(value => Timestamp.unwrap(value): Instant))(
_.updatedAt
)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.DataAccessor.ReadOnly =
zio.aws.qbusiness.model.DataAccessor.wrap(buildAwsValue())
}
object DataAccessor {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.DataAccessor
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.DataAccessor =
zio.aws.qbusiness.model.DataAccessor(
displayName.map(value => value),
dataAccessorId.map(value => value),
dataAccessorArn.map(value => value),
idcApplicationArn.map(value => value),
principal.map(value => value),
createdAt.map(value => value),
updatedAt.map(value => value)
)
def displayName: Optional[DataAccessorName]
def dataAccessorId: Optional[DataAccessorId]
def dataAccessorArn: Optional[DataAccessorArn]
def idcApplicationArn: Optional[IdcApplicationArn]
def principal: Optional[PrincipalRoleArn]
def createdAt: Optional[Timestamp]
def updatedAt: Optional[Timestamp]
def getDisplayName: ZIO[Any, AwsError, DataAccessorName] =
AwsError.unwrapOptionField("displayName", displayName)
def getDataAccessorId: ZIO[Any, AwsError, DataAccessorId] =
AwsError.unwrapOptionField("dataAccessorId", dataAccessorId)
def getDataAccessorArn: ZIO[Any, AwsError, DataAccessorArn] =
AwsError.unwrapOptionField("dataAccessorArn", dataAccessorArn)
def getIdcApplicationArn: ZIO[Any, AwsError, IdcApplicationArn] =
AwsError.unwrapOptionField("idcApplicationArn", idcApplicationArn)
def getPrincipal: ZIO[Any, AwsError, PrincipalRoleArn] =
AwsError.unwrapOptionField("principal", principal)
def getCreatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("createdAt", createdAt)
def getUpdatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("updatedAt", updatedAt)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.DataAccessor
) extends zio.aws.qbusiness.model.DataAccessor.ReadOnly {
override val displayName: Optional[DataAccessorName] = zio.aws.core.internal
.optionalFromNullable(impl.displayName())
.map(value => zio.aws.qbusiness.model.primitives.DataAccessorName(value))
override val dataAccessorId: Optional[DataAccessorId] =
zio.aws.core.internal
.optionalFromNullable(impl.dataAccessorId())
.map(value => zio.aws.qbusiness.model.primitives.DataAccessorId(value))
override val dataAccessorArn: Optional[DataAccessorArn] =
zio.aws.core.internal
.optionalFromNullable(impl.dataAccessorArn())
.map(value => zio.aws.qbusiness.model.primitives.DataAccessorArn(value))
override val idcApplicationArn: Optional[IdcApplicationArn] =
zio.aws.core.internal
.optionalFromNullable(impl.idcApplicationArn())
.map(value =>
zio.aws.qbusiness.model.primitives.IdcApplicationArn(value)
)
override val principal: Optional[PrincipalRoleArn] = zio.aws.core.internal
.optionalFromNullable(impl.principal())
.map(value => zio.aws.qbusiness.model.primitives.PrincipalRoleArn(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))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.DataAccessor
): zio.aws.qbusiness.model.DataAccessor.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy