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

zio.aws.qbusiness.model.PluginAuthConfiguration.scala Maven / Gradle / Ivy

package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import scala.jdk.CollectionConverters._
final case class PluginAuthConfiguration(
    basicAuthConfiguration: Optional[
      zio.aws.qbusiness.model.BasicAuthConfiguration
    ] = Optional.Absent,
    oAuth2ClientCredentialConfiguration: Optional[
      zio.aws.qbusiness.model.OAuth2ClientCredentialConfiguration
    ] = Optional.Absent,
    noAuthConfiguration: Optional[zio.aws.qbusiness.model.NoAuthConfiguration] =
      Optional.Absent,
    idcAuthConfiguration: Optional[
      zio.aws.qbusiness.model.IdcAuthConfiguration
    ] = Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.PluginAuthConfiguration = {
    import PluginAuthConfiguration.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.PluginAuthConfiguration
      .builder()
      .optionallyWith(
        basicAuthConfiguration.map(value => value.buildAwsValue())
      )(_.basicAuthConfiguration)
      .optionallyWith(
        oAuth2ClientCredentialConfiguration.map(value => value.buildAwsValue())
      )(_.oAuth2ClientCredentialConfiguration)
      .optionallyWith(noAuthConfiguration.map(value => value.buildAwsValue()))(
        _.noAuthConfiguration
      )
      .optionallyWith(idcAuthConfiguration.map(value => value.buildAwsValue()))(
        _.idcAuthConfiguration
      )
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.PluginAuthConfiguration.ReadOnly =
    zio.aws.qbusiness.model.PluginAuthConfiguration.wrap(buildAwsValue())
}
object PluginAuthConfiguration {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.PluginAuthConfiguration
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.PluginAuthConfiguration =
      zio.aws.qbusiness.model.PluginAuthConfiguration(
        basicAuthConfiguration.map(value => value.asEditable),
        oAuth2ClientCredentialConfiguration.map(value => value.asEditable),
        noAuthConfiguration.map(value => value.asEditable),
        idcAuthConfiguration.map(value => value.asEditable)
      )
    def basicAuthConfiguration
        : Optional[zio.aws.qbusiness.model.BasicAuthConfiguration.ReadOnly]
    def oAuth2ClientCredentialConfiguration: Optional[
      zio.aws.qbusiness.model.OAuth2ClientCredentialConfiguration.ReadOnly
    ]
    def noAuthConfiguration
        : Optional[zio.aws.qbusiness.model.NoAuthConfiguration.ReadOnly]
    def idcAuthConfiguration
        : Optional[zio.aws.qbusiness.model.IdcAuthConfiguration.ReadOnly]
    def getBasicAuthConfiguration: ZIO[
      Any,
      AwsError,
      zio.aws.qbusiness.model.BasicAuthConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField(
      "basicAuthConfiguration",
      basicAuthConfiguration
    )
    def getOAuth2ClientCredentialConfiguration: ZIO[
      Any,
      AwsError,
      zio.aws.qbusiness.model.OAuth2ClientCredentialConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField(
      "oAuth2ClientCredentialConfiguration",
      oAuth2ClientCredentialConfiguration
    )
    def getNoAuthConfiguration: ZIO[
      Any,
      AwsError,
      zio.aws.qbusiness.model.NoAuthConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField("noAuthConfiguration", noAuthConfiguration)
    def getIdcAuthConfiguration: ZIO[
      Any,
      AwsError,
      zio.aws.qbusiness.model.IdcAuthConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField("idcAuthConfiguration", idcAuthConfiguration)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.PluginAuthConfiguration
  ) extends zio.aws.qbusiness.model.PluginAuthConfiguration.ReadOnly {
    override val basicAuthConfiguration
        : Optional[zio.aws.qbusiness.model.BasicAuthConfiguration.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.basicAuthConfiguration())
        .map(value =>
          zio.aws.qbusiness.model.BasicAuthConfiguration.wrap(value)
        )
    override val oAuth2ClientCredentialConfiguration: Optional[
      zio.aws.qbusiness.model.OAuth2ClientCredentialConfiguration.ReadOnly
    ] = zio.aws.core.internal
      .optionalFromNullable(impl.oAuth2ClientCredentialConfiguration())
      .map(value =>
        zio.aws.qbusiness.model.OAuth2ClientCredentialConfiguration.wrap(value)
      )
    override val noAuthConfiguration
        : Optional[zio.aws.qbusiness.model.NoAuthConfiguration.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.noAuthConfiguration())
        .map(value => zio.aws.qbusiness.model.NoAuthConfiguration.wrap(value))
    override val idcAuthConfiguration
        : Optional[zio.aws.qbusiness.model.IdcAuthConfiguration.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.idcAuthConfiguration())
        .map(value => zio.aws.qbusiness.model.IdcAuthConfiguration.wrap(value))
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.PluginAuthConfiguration
  ): zio.aws.qbusiness.model.PluginAuthConfiguration.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy