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

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

package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import zio.aws.qbusiness.model.primitives.PluginDescription
import scala.jdk.CollectionConverters._
final case class CustomPluginConfiguration(
    description: PluginDescription,
    apiSchemaType: zio.aws.qbusiness.model.APISchemaType,
    apiSchema: zio.aws.qbusiness.model.APISchema
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.CustomPluginConfiguration = {
    import CustomPluginConfiguration.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.CustomPluginConfiguration
      .builder()
      .description(PluginDescription.unwrap(description): java.lang.String)
      .apiSchemaType(apiSchemaType.unwrap)
      .apiSchema(apiSchema.buildAwsValue())
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.CustomPluginConfiguration.ReadOnly =
    zio.aws.qbusiness.model.CustomPluginConfiguration.wrap(buildAwsValue())
}
object CustomPluginConfiguration {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.CustomPluginConfiguration
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.CustomPluginConfiguration =
      zio.aws.qbusiness.model.CustomPluginConfiguration(
        description,
        apiSchemaType,
        apiSchema.asEditable
      )
    def description: PluginDescription
    def apiSchemaType: zio.aws.qbusiness.model.APISchemaType
    def apiSchema: zio.aws.qbusiness.model.APISchema.ReadOnly
    def getDescription: ZIO[Any, Nothing, PluginDescription] =
      ZIO.succeed(description)
    def getApiSchemaType
        : ZIO[Any, Nothing, zio.aws.qbusiness.model.APISchemaType] =
      ZIO.succeed(apiSchemaType)
    def getApiSchema
        : ZIO[Any, Nothing, zio.aws.qbusiness.model.APISchema.ReadOnly] =
      ZIO.succeed(apiSchema)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.CustomPluginConfiguration
  ) extends zio.aws.qbusiness.model.CustomPluginConfiguration.ReadOnly {
    override val description: PluginDescription =
      zio.aws.qbusiness.model.primitives.PluginDescription(impl.description())
    override val apiSchemaType: zio.aws.qbusiness.model.APISchemaType =
      zio.aws.qbusiness.model.APISchemaType.wrap(impl.apiSchemaType())
    override val apiSchema: zio.aws.qbusiness.model.APISchema.ReadOnly =
      zio.aws.qbusiness.model.APISchema.wrap(impl.apiSchema())
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.CustomPluginConfiguration
  ): zio.aws.qbusiness.model.CustomPluginConfiguration.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy