
zio.aws.qbusiness.model.Application.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.aws.qbusiness.model.primitives.{
Timestamp,
ApplicationId,
ApplicationName
}
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 Application(
displayName: Optional[ApplicationName] = Optional.Absent,
applicationId: Optional[ApplicationId] = Optional.Absent,
createdAt: Optional[Timestamp] = Optional.Absent,
updatedAt: Optional[Timestamp] = Optional.Absent,
status: Optional[zio.aws.qbusiness.model.ApplicationStatus] =
Optional.Absent,
identityType: Optional[zio.aws.qbusiness.model.IdentityType] =
Optional.Absent,
quickSightConfiguration: Optional[
zio.aws.qbusiness.model.QuickSightConfiguration
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.Application = {
import Application.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.Application
.builder()
.optionallyWith(
displayName.map(value =>
ApplicationName.unwrap(value): java.lang.String
)
)(_.displayName)
.optionallyWith(
applicationId.map(value =>
ApplicationId.unwrap(value): java.lang.String
)
)(_.applicationId)
.optionallyWith(createdAt.map(value => Timestamp.unwrap(value): Instant))(
_.createdAt
)
.optionallyWith(updatedAt.map(value => Timestamp.unwrap(value): Instant))(
_.updatedAt
)
.optionallyWith(status.map(value => value.unwrap))(_.status)
.optionallyWith(identityType.map(value => value.unwrap))(_.identityType)
.optionallyWith(
quickSightConfiguration.map(value => value.buildAwsValue())
)(_.quickSightConfiguration)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.Application.ReadOnly =
zio.aws.qbusiness.model.Application.wrap(buildAwsValue())
}
object Application {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.Application
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.Application =
zio.aws.qbusiness.model.Application(
displayName.map(value => value),
applicationId.map(value => value),
createdAt.map(value => value),
updatedAt.map(value => value),
status.map(value => value),
identityType.map(value => value),
quickSightConfiguration.map(value => value.asEditable)
)
def displayName: Optional[ApplicationName]
def applicationId: Optional[ApplicationId]
def createdAt: Optional[Timestamp]
def updatedAt: Optional[Timestamp]
def status: Optional[zio.aws.qbusiness.model.ApplicationStatus]
def identityType: Optional[zio.aws.qbusiness.model.IdentityType]
def quickSightConfiguration
: Optional[zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly]
def getDisplayName: ZIO[Any, AwsError, ApplicationName] =
AwsError.unwrapOptionField("displayName", displayName)
def getApplicationId: ZIO[Any, AwsError, ApplicationId] =
AwsError.unwrapOptionField("applicationId", applicationId)
def getCreatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("createdAt", createdAt)
def getUpdatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("updatedAt", updatedAt)
def getStatus
: ZIO[Any, AwsError, zio.aws.qbusiness.model.ApplicationStatus] =
AwsError.unwrapOptionField("status", status)
def getIdentityType
: ZIO[Any, AwsError, zio.aws.qbusiness.model.IdentityType] =
AwsError.unwrapOptionField("identityType", identityType)
def getQuickSightConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"quickSightConfiguration",
quickSightConfiguration
)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.Application
) extends zio.aws.qbusiness.model.Application.ReadOnly {
override val displayName: Optional[ApplicationName] = zio.aws.core.internal
.optionalFromNullable(impl.displayName())
.map(value => zio.aws.qbusiness.model.primitives.ApplicationName(value))
override val applicationId: Optional[ApplicationId] = zio.aws.core.internal
.optionalFromNullable(impl.applicationId())
.map(value => zio.aws.qbusiness.model.primitives.ApplicationId(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 status: Optional[zio.aws.qbusiness.model.ApplicationStatus] =
zio.aws.core.internal
.optionalFromNullable(impl.status())
.map(value => zio.aws.qbusiness.model.ApplicationStatus.wrap(value))
override val identityType: Optional[zio.aws.qbusiness.model.IdentityType] =
zio.aws.core.internal
.optionalFromNullable(impl.identityType())
.map(value => zio.aws.qbusiness.model.IdentityType.wrap(value))
override val quickSightConfiguration
: Optional[zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.quickSightConfiguration())
.map(value =>
zio.aws.qbusiness.model.QuickSightConfiguration.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.Application
): zio.aws.qbusiness.model.Application.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy