All Downloads are FREE. Search and download functionalities are using the official Maven repository.

zio.aws.qbusiness.model.CustomizationConfiguration.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.{
  FaviconUrl,
  FontUrl,
  LogoUrl,
  CustomCSSUrl
}
import scala.jdk.CollectionConverters._
final case class CustomizationConfiguration(
    customCSSUrl: Optional[CustomCSSUrl] = Optional.Absent,
    logoUrl: Optional[LogoUrl] = Optional.Absent,
    fontUrl: Optional[FontUrl] = Optional.Absent,
    faviconUrl: Optional[FaviconUrl] = Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.CustomizationConfiguration = {
    import CustomizationConfiguration.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.CustomizationConfiguration
      .builder()
      .optionallyWith(
        customCSSUrl.map(value => CustomCSSUrl.unwrap(value): java.lang.String)
      )(_.customCSSUrl)
      .optionallyWith(
        logoUrl.map(value => LogoUrl.unwrap(value): java.lang.String)
      )(_.logoUrl)
      .optionallyWith(
        fontUrl.map(value => FontUrl.unwrap(value): java.lang.String)
      )(_.fontUrl)
      .optionallyWith(
        faviconUrl.map(value => FaviconUrl.unwrap(value): java.lang.String)
      )(_.faviconUrl)
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.CustomizationConfiguration.ReadOnly =
    zio.aws.qbusiness.model.CustomizationConfiguration.wrap(buildAwsValue())
}
object CustomizationConfiguration {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.CustomizationConfiguration
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.CustomizationConfiguration =
      zio.aws.qbusiness.model.CustomizationConfiguration(
        customCSSUrl.map(value => value),
        logoUrl.map(value => value),
        fontUrl.map(value => value),
        faviconUrl.map(value => value)
      )
    def customCSSUrl: Optional[CustomCSSUrl]
    def logoUrl: Optional[LogoUrl]
    def fontUrl: Optional[FontUrl]
    def faviconUrl: Optional[FaviconUrl]
    def getCustomCSSUrl: ZIO[Any, AwsError, CustomCSSUrl] =
      AwsError.unwrapOptionField("customCSSUrl", customCSSUrl)
    def getLogoUrl: ZIO[Any, AwsError, LogoUrl] =
      AwsError.unwrapOptionField("logoUrl", logoUrl)
    def getFontUrl: ZIO[Any, AwsError, FontUrl] =
      AwsError.unwrapOptionField("fontUrl", fontUrl)
    def getFaviconUrl: ZIO[Any, AwsError, FaviconUrl] =
      AwsError.unwrapOptionField("faviconUrl", faviconUrl)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.CustomizationConfiguration
  ) extends zio.aws.qbusiness.model.CustomizationConfiguration.ReadOnly {
    override val customCSSUrl: Optional[CustomCSSUrl] = zio.aws.core.internal
      .optionalFromNullable(impl.customCSSUrl())
      .map(value => zio.aws.qbusiness.model.primitives.CustomCSSUrl(value))
    override val logoUrl: Optional[LogoUrl] = zio.aws.core.internal
      .optionalFromNullable(impl.logoUrl())
      .map(value => zio.aws.qbusiness.model.primitives.LogoUrl(value))
    override val fontUrl: Optional[FontUrl] = zio.aws.core.internal
      .optionalFromNullable(impl.fontUrl())
      .map(value => zio.aws.qbusiness.model.primitives.FontUrl(value))
    override val faviconUrl: Optional[FaviconUrl] = zio.aws.core.internal
      .optionalFromNullable(impl.faviconUrl())
      .map(value => zio.aws.qbusiness.model.primitives.FaviconUrl(value))
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.CustomizationConfiguration
  ): zio.aws.qbusiness.model.CustomizationConfiguration.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy