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

zio.aws.licensemanager.model.ProductInformation.scala Maven / Gradle / Ivy

package zio.aws.licensemanager.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import scala.jdk.CollectionConverters.*
final case class ProductInformation(
    resourceType: String,
    productInformationFilterList: Iterable[
      zio.aws.licensemanager.model.ProductInformationFilter
    ]
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.licensemanager.model.ProductInformation = {
    import ProductInformation.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.licensemanager.model.ProductInformation
      .builder()
      .resourceType(resourceType: java.lang.String)
      .productInformationFilterList(productInformationFilterList.map { item =>
        item.buildAwsValue()
      }.asJavaCollection)
      .build()
  }
  def asReadOnly: zio.aws.licensemanager.model.ProductInformation.ReadOnly =
    zio.aws.licensemanager.model.ProductInformation.wrap(buildAwsValue())
}
object ProductInformation {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.licensemanager.model.ProductInformation
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.licensemanager.model.ProductInformation =
      zio.aws.licensemanager.model.ProductInformation(
        resourceType,
        productInformationFilterList.map { item =>
          item.asEditable
        }
      )
    def resourceType: String
    def productInformationFilterList
        : List[zio.aws.licensemanager.model.ProductInformationFilter.ReadOnly]
    def getResourceType: ZIO[Any, Nothing, String] = ZIO.succeed(resourceType)
    def getProductInformationFilterList: ZIO[Any, Nothing, List[
      zio.aws.licensemanager.model.ProductInformationFilter.ReadOnly
    ]] = ZIO.succeed(productInformationFilterList)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.licensemanager.model.ProductInformation
  ) extends zio.aws.licensemanager.model.ProductInformation.ReadOnly {
    override val resourceType: String = impl.resourceType(): String
    override val productInformationFilterList
        : List[zio.aws.licensemanager.model.ProductInformationFilter.ReadOnly] =
      impl
        .productInformationFilterList()
        .asScala
        .map { item =>
          zio.aws.licensemanager.model.ProductInformationFilter.wrap(item)
        }
        .toList
  }
  def wrap(
      impl: software.amazon.awssdk.services.licensemanager.model.ProductInformation
  ): zio.aws.licensemanager.model.ProductInformation.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy