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

io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.elasticbeanstalk.model
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
  PlatformCategory,
  OperatingSystemVersion,
  SupportedTier,
  PlatformArn,
  PlatformLifecycleState,
  SupportedAddon,
  PlatformBranchLifecycleState,
  PlatformVersion,
  PlatformOwner,
  OperatingSystemName,
  BranchName
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class PlatformSummary(
    platformArn: Option[PlatformArn] = None,
    platformOwner: Option[PlatformOwner] = None,
    platformStatus: Option[
      io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus
    ] = None,
    platformCategory: Option[PlatformCategory] = None,
    operatingSystemName: Option[OperatingSystemName] = None,
    operatingSystemVersion: Option[OperatingSystemVersion] = None,
    supportedTierList: Option[Iterable[SupportedTier]] = None,
    supportedAddonList: Option[Iterable[SupportedAddon]] = None,
    platformLifecycleState: Option[PlatformLifecycleState] = None,
    platformVersion: Option[PlatformVersion] = None,
    platformBranchName: Option[BranchName] = None,
    platformBranchLifecycleState: Option[PlatformBranchLifecycleState] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.elasticbeanstalk.model.PlatformSummary = {
    import PlatformSummary.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.elasticbeanstalk.model.PlatformSummary
      .builder()
      .optionallyWith(platformArn.map(value => value: java.lang.String))(
        _.platformArn
      )
      .optionallyWith(platformOwner.map(value => value: java.lang.String))(
        _.platformOwner
      )
      .optionallyWith(platformStatus.map(value => value.unwrap))(
        _.platformStatus
      )
      .optionallyWith(platformCategory.map(value => value: java.lang.String))(
        _.platformCategory
      )
      .optionallyWith(
        operatingSystemName.map(value => value: java.lang.String)
      )(_.operatingSystemName)
      .optionallyWith(
        operatingSystemVersion.map(value => value: java.lang.String)
      )(_.operatingSystemVersion)
      .optionallyWith(
        supportedTierList.map(value =>
          value.map { item =>
            item: java.lang.String
          }.asJavaCollection
        )
      )(_.supportedTierList)
      .optionallyWith(
        supportedAddonList.map(value =>
          value.map { item =>
            item: java.lang.String
          }.asJavaCollection
        )
      )(_.supportedAddonList)
      .optionallyWith(
        platformLifecycleState.map(value => value: java.lang.String)
      )(_.platformLifecycleState)
      .optionallyWith(platformVersion.map(value => value: java.lang.String))(
        _.platformVersion
      )
      .optionallyWith(platformBranchName.map(value => value: java.lang.String))(
        _.platformBranchName
      )
      .optionallyWith(
        platformBranchLifecycleState.map(value => value: java.lang.String)
      )(_.platformBranchLifecycleState)
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly =
    io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary
      .wrap(buildAwsValue())
}
object PlatformSummary {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.elasticbeanstalk.model.PlatformSummary
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary =
      io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary(
        platformArnValue.map(value => value),
        platformOwnerValue.map(value => value),
        platformStatusValue.map(value => value),
        platformCategoryValue.map(value => value),
        operatingSystemNameValue.map(value => value),
        operatingSystemVersionValue.map(value => value),
        supportedTierListValue.map(value => value),
        supportedAddonListValue.map(value => value),
        platformLifecycleStateValue.map(value => value),
        platformVersionValue.map(value => value),
        platformBranchNameValue.map(value => value),
        platformBranchLifecycleStateValue.map(value => value)
      )
    def platformArnValue: Option[PlatformArn]
    def platformOwnerValue: Option[PlatformOwner]
    def platformStatusValue
        : Option[io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus]
    def platformCategoryValue: Option[PlatformCategory]
    def operatingSystemNameValue: Option[OperatingSystemName]
    def operatingSystemVersionValue: Option[OperatingSystemVersion]
    def supportedTierListValue: Option[List[SupportedTier]]
    def supportedAddonListValue: Option[List[SupportedAddon]]
    def platformLifecycleStateValue: Option[PlatformLifecycleState]
    def platformVersionValue: Option[PlatformVersion]
    def platformBranchNameValue: Option[BranchName]
    def platformBranchLifecycleStateValue: Option[PlatformBranchLifecycleState]
    def platformArn: ZIO[Any, AwsError, PlatformArn] =
      AwsError.unwrapOptionField("platformArn", platformArnValue)
    def platformOwner: ZIO[Any, AwsError, PlatformOwner] =
      AwsError.unwrapOptionField("platformOwner", platformOwnerValue)
    def platformStatus: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus
    ] = AwsError.unwrapOptionField("platformStatus", platformStatusValue)
    def platformCategory: ZIO[Any, AwsError, PlatformCategory] =
      AwsError.unwrapOptionField("platformCategory", platformCategoryValue)
    def operatingSystemName: ZIO[Any, AwsError, OperatingSystemName] = AwsError
      .unwrapOptionField("operatingSystemName", operatingSystemNameValue)
    def operatingSystemVersion: ZIO[Any, AwsError, OperatingSystemVersion] =
      AwsError.unwrapOptionField(
        "operatingSystemVersion",
        operatingSystemVersionValue
      )
    def supportedTierList: ZIO[Any, AwsError, List[SupportedTier]] =
      AwsError.unwrapOptionField("supportedTierList", supportedTierListValue)
    def supportedAddonList: ZIO[Any, AwsError, List[SupportedAddon]] =
      AwsError.unwrapOptionField("supportedAddonList", supportedAddonListValue)
    def platformLifecycleState: ZIO[Any, AwsError, PlatformLifecycleState] =
      AwsError.unwrapOptionField(
        "platformLifecycleState",
        platformLifecycleStateValue
      )
    def platformVersion: ZIO[Any, AwsError, PlatformVersion] =
      AwsError.unwrapOptionField("platformVersion", platformVersionValue)
    def platformBranchName: ZIO[Any, AwsError, BranchName] =
      AwsError.unwrapOptionField("platformBranchName", platformBranchNameValue)
    def platformBranchLifecycleState
        : ZIO[Any, AwsError, PlatformBranchLifecycleState] =
      AwsError.unwrapOptionField(
        "platformBranchLifecycleState",
        platformBranchLifecycleStateValue
      )
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.elasticbeanstalk.model.PlatformSummary
  ) extends io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly {
    override def platformArnValue: Option[PlatformArn] =
      scala.Option(impl.platformArn()).map(value => value: PlatformArn)
    override def platformOwnerValue: Option[PlatformOwner] =
      scala.Option(impl.platformOwner()).map(value => value: PlatformOwner)
    override def platformStatusValue
        : Option[io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus] =
      scala
        .Option(impl.platformStatus())
        .map(value =>
          io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus
            .wrap(value)
        )
    override def platformCategoryValue: Option[PlatformCategory] = scala
      .Option(impl.platformCategory())
      .map(value => value: PlatformCategory)
    override def operatingSystemNameValue: Option[OperatingSystemName] = scala
      .Option(impl.operatingSystemName())
      .map(value => value: OperatingSystemName)
    override def operatingSystemVersionValue: Option[OperatingSystemVersion] =
      scala
        .Option(impl.operatingSystemVersion())
        .map(value => value: OperatingSystemVersion)
    override def supportedTierListValue: Option[List[SupportedTier]] = scala
      .Option(impl.supportedTierList())
      .map(value =>
        value.asScala.map { item =>
          item: SupportedTier
        }.toList
      )
    override def supportedAddonListValue: Option[List[SupportedAddon]] = scala
      .Option(impl.supportedAddonList())
      .map(value =>
        value.asScala.map { item =>
          item: SupportedAddon
        }.toList
      )
    override def platformLifecycleStateValue: Option[PlatformLifecycleState] =
      scala
        .Option(impl.platformLifecycleState())
        .map(value => value: PlatformLifecycleState)
    override def platformVersionValue: Option[PlatformVersion] =
      scala.Option(impl.platformVersion()).map(value => value: PlatformVersion)
    override def platformBranchNameValue: Option[BranchName] =
      scala.Option(impl.platformBranchName()).map(value => value: BranchName)
    override def platformBranchLifecycleStateValue
        : Option[PlatformBranchLifecycleState] = scala
      .Option(impl.platformBranchLifecycleState())
      .map(value => value: PlatformBranchLifecycleState)
  }
  def wrap(
      impl: software.amazon.awssdk.services.elasticbeanstalk.model.PlatformSummary
  ): io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy