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

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

package zio.aws.licensemanager.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.licensemanager.model.primitives.{ISO8601DateTime, Arn}
import scala.jdk.CollectionConverters.*
final case class License(
    licenseArn: Optional[Arn] = Optional.Absent,
    licenseName: Optional[String] = Optional.Absent,
    productName: Optional[String] = Optional.Absent,
    productSKU: Optional[String] = Optional.Absent,
    issuer: Optional[zio.aws.licensemanager.model.IssuerDetails] =
      Optional.Absent,
    homeRegion: Optional[String] = Optional.Absent,
    status: Optional[zio.aws.licensemanager.model.LicenseStatus] =
      Optional.Absent,
    validity: Optional[zio.aws.licensemanager.model.DatetimeRange] =
      Optional.Absent,
    beneficiary: Optional[String] = Optional.Absent,
    entitlements: Optional[Iterable[zio.aws.licensemanager.model.Entitlement]] =
      Optional.Absent,
    consumptionConfiguration: Optional[
      zio.aws.licensemanager.model.ConsumptionConfiguration
    ] = Optional.Absent,
    licenseMetadata: Optional[Iterable[zio.aws.licensemanager.model.Metadata]] =
      Optional.Absent,
    createTime: Optional[ISO8601DateTime] = Optional.Absent,
    version: Optional[String] = Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.licensemanager.model.License = {
    import License.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.licensemanager.model.License
      .builder()
      .optionallyWith(
        licenseArn.map(value => Arn.unwrap(value): java.lang.String)
      )(_.licenseArn)
      .optionallyWith(licenseName.map(value => value: java.lang.String))(
        _.licenseName
      )
      .optionallyWith(productName.map(value => value: java.lang.String))(
        _.productName
      )
      .optionallyWith(productSKU.map(value => value: java.lang.String))(
        _.productSKU
      )
      .optionallyWith(issuer.map(value => value.buildAwsValue()))(_.issuer)
      .optionallyWith(homeRegion.map(value => value: java.lang.String))(
        _.homeRegion
      )
      .optionallyWith(status.map(value => value.unwrap))(_.status)
      .optionallyWith(validity.map(value => value.buildAwsValue()))(_.validity)
      .optionallyWith(beneficiary.map(value => value: java.lang.String))(
        _.beneficiary
      )
      .optionallyWith(
        entitlements.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.entitlements)
      .optionallyWith(
        consumptionConfiguration.map(value => value.buildAwsValue())
      )(_.consumptionConfiguration)
      .optionallyWith(
        licenseMetadata.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.licenseMetadata)
      .optionallyWith(
        createTime.map(value => ISO8601DateTime.unwrap(value): java.lang.String)
      )(_.createTime)
      .optionallyWith(version.map(value => value: java.lang.String))(_.version)
      .build()
  }
  def asReadOnly: zio.aws.licensemanager.model.License.ReadOnly =
    zio.aws.licensemanager.model.License.wrap(buildAwsValue())
}
object License {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.licensemanager.model.License
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.licensemanager.model.License =
      zio.aws.licensemanager.model.License(
        licenseArn.map(value => value),
        licenseName.map(value => value),
        productName.map(value => value),
        productSKU.map(value => value),
        issuer.map(value => value.asEditable),
        homeRegion.map(value => value),
        status.map(value => value),
        validity.map(value => value.asEditable),
        beneficiary.map(value => value),
        entitlements.map(value =>
          value.map { item =>
            item.asEditable
          }
        ),
        consumptionConfiguration.map(value => value.asEditable),
        licenseMetadata.map(value =>
          value.map { item =>
            item.asEditable
          }
        ),
        createTime.map(value => value),
        version.map(value => value)
      )
    def licenseArn: Optional[Arn]
    def licenseName: Optional[String]
    def productName: Optional[String]
    def productSKU: Optional[String]
    def issuer: Optional[zio.aws.licensemanager.model.IssuerDetails.ReadOnly]
    def homeRegion: Optional[String]
    def status: Optional[zio.aws.licensemanager.model.LicenseStatus]
    def validity: Optional[zio.aws.licensemanager.model.DatetimeRange.ReadOnly]
    def beneficiary: Optional[String]
    def entitlements
        : Optional[List[zio.aws.licensemanager.model.Entitlement.ReadOnly]]
    def consumptionConfiguration: Optional[
      zio.aws.licensemanager.model.ConsumptionConfiguration.ReadOnly
    ]
    def licenseMetadata
        : Optional[List[zio.aws.licensemanager.model.Metadata.ReadOnly]]
    def createTime: Optional[ISO8601DateTime]
    def version: Optional[String]
    def getLicenseArn: ZIO[Any, AwsError, Arn] =
      AwsError.unwrapOptionField("licenseArn", licenseArn)
    def getLicenseName: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("licenseName", licenseName)
    def getProductName: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("productName", productName)
    def getProductSKU: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("productSKU", productSKU)
    def getIssuer: ZIO[
      Any,
      AwsError,
      zio.aws.licensemanager.model.IssuerDetails.ReadOnly
    ] = AwsError.unwrapOptionField("issuer", issuer)
    def getHomeRegion: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("homeRegion", homeRegion)
    def getStatus
        : ZIO[Any, AwsError, zio.aws.licensemanager.model.LicenseStatus] =
      AwsError.unwrapOptionField("status", status)
    def getValidity: ZIO[
      Any,
      AwsError,
      zio.aws.licensemanager.model.DatetimeRange.ReadOnly
    ] = AwsError.unwrapOptionField("validity", validity)
    def getBeneficiary: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("beneficiary", beneficiary)
    def getEntitlements: ZIO[Any, AwsError, List[
      zio.aws.licensemanager.model.Entitlement.ReadOnly
    ]] = AwsError.unwrapOptionField("entitlements", entitlements)
    def getConsumptionConfiguration: ZIO[
      Any,
      AwsError,
      zio.aws.licensemanager.model.ConsumptionConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField(
      "consumptionConfiguration",
      consumptionConfiguration
    )
    def getLicenseMetadata: ZIO[Any, AwsError, List[
      zio.aws.licensemanager.model.Metadata.ReadOnly
    ]] = AwsError.unwrapOptionField("licenseMetadata", licenseMetadata)
    def getCreateTime: ZIO[Any, AwsError, ISO8601DateTime] =
      AwsError.unwrapOptionField("createTime", createTime)
    def getVersion: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("version", version)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.licensemanager.model.License
  ) extends zio.aws.licensemanager.model.License.ReadOnly {
    override val licenseArn: Optional[Arn] = zio.aws.core.internal
      .optionalFromNullable(impl.licenseArn())
      .map(value => zio.aws.licensemanager.model.primitives.Arn(value))
    override val licenseName: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.licenseName())
      .map(value => value: String)
    override val productName: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.productName())
      .map(value => value: String)
    override val productSKU: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.productSKU())
      .map(value => value: String)
    override val issuer
        : Optional[zio.aws.licensemanager.model.IssuerDetails.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.issuer())
        .map(value => zio.aws.licensemanager.model.IssuerDetails.wrap(value))
    override val homeRegion: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.homeRegion())
      .map(value => value: String)
    override val status: Optional[zio.aws.licensemanager.model.LicenseStatus] =
      zio.aws.core.internal
        .optionalFromNullable(impl.status())
        .map(value => zio.aws.licensemanager.model.LicenseStatus.wrap(value))
    override val validity
        : Optional[zio.aws.licensemanager.model.DatetimeRange.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.validity())
        .map(value => zio.aws.licensemanager.model.DatetimeRange.wrap(value))
    override val beneficiary: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.beneficiary())
      .map(value => value: String)
    override val entitlements
        : Optional[List[zio.aws.licensemanager.model.Entitlement.ReadOnly]] =
      zio.aws.core.internal
        .optionalFromNullable(impl.entitlements())
        .map(value =>
          value.asScala.map { item =>
            zio.aws.licensemanager.model.Entitlement.wrap(item)
          }.toList
        )
    override val consumptionConfiguration: Optional[
      zio.aws.licensemanager.model.ConsumptionConfiguration.ReadOnly
    ] = zio.aws.core.internal
      .optionalFromNullable(impl.consumptionConfiguration())
      .map(value =>
        zio.aws.licensemanager.model.ConsumptionConfiguration.wrap(value)
      )
    override val licenseMetadata
        : Optional[List[zio.aws.licensemanager.model.Metadata.ReadOnly]] =
      zio.aws.core.internal
        .optionalFromNullable(impl.licenseMetadata())
        .map(value =>
          value.asScala.map { item =>
            zio.aws.licensemanager.model.Metadata.wrap(item)
          }.toList
        )
    override val createTime: Optional[ISO8601DateTime] = zio.aws.core.internal
      .optionalFromNullable(impl.createTime())
      .map(value =>
        zio.aws.licensemanager.model.primitives.ISO8601DateTime(value)
      )
    override val version: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.version())
      .map(value => value: String)
  }
  def wrap(
      impl: software.amazon.awssdk.services.licensemanager.model.License
  ): zio.aws.licensemanager.model.License.ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy