
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticbeanstalk.model
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
PlatformName,
PlatformCategory,
OperatingSystemVersion,
SolutionStackName,
SupportedTier,
PlatformArn,
UpdateDate,
Description,
PlatformLifecycleState,
SupportedAddon,
PlatformBranchLifecycleState,
Maintainer,
PlatformVersion,
PlatformOwner,
OperatingSystemName,
BranchName,
CreationDate
}
import java.time.Instant
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class PlatformDescription(
platformArn: Option[PlatformArn] = None,
platformOwner: Option[PlatformOwner] = None,
platformName: Option[PlatformName] = None,
platformVersion: Option[PlatformVersion] = None,
solutionStackName: Option[SolutionStackName] = None,
platformStatus: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus
] = None,
dateCreated: Option[CreationDate] = None,
dateUpdated: Option[UpdateDate] = None,
platformCategory: Option[PlatformCategory] = None,
description: Option[Description] = None,
maintainer: Option[Maintainer] = None,
operatingSystemName: Option[OperatingSystemName] = None,
operatingSystemVersion: Option[OperatingSystemVersion] = None,
programmingLanguages: Option[Iterable[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformProgrammingLanguage
]] = None,
frameworks: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformFramework]
] = None,
customAmiList: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.CustomAmi]
] = None,
supportedTierList: Option[Iterable[SupportedTier]] = None,
supportedAddonList: Option[Iterable[SupportedAddon]] = None,
platformLifecycleState: Option[PlatformLifecycleState] = None,
platformBranchName: Option[BranchName] = None,
platformBranchLifecycleState: Option[PlatformBranchLifecycleState] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.PlatformDescription = {
import PlatformDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.PlatformDescription
.builder()
.optionallyWith(platformArn.map(value => value: java.lang.String))(
_.platformArn
)
.optionallyWith(platformOwner.map(value => value: java.lang.String))(
_.platformOwner
)
.optionallyWith(platformName.map(value => value: java.lang.String))(
_.platformName
)
.optionallyWith(platformVersion.map(value => value: java.lang.String))(
_.platformVersion
)
.optionallyWith(solutionStackName.map(value => value: java.lang.String))(
_.solutionStackName
)
.optionallyWith(platformStatus.map(value => value.unwrap))(
_.platformStatus
)
.optionallyWith(dateCreated.map(value => value: Instant))(_.dateCreated)
.optionallyWith(dateUpdated.map(value => value: Instant))(_.dateUpdated)
.optionallyWith(platformCategory.map(value => value: java.lang.String))(
_.platformCategory
)
.optionallyWith(description.map(value => value: java.lang.String))(
_.description
)
.optionallyWith(maintainer.map(value => value: java.lang.String))(
_.maintainer
)
.optionallyWith(
operatingSystemName.map(value => value: java.lang.String)
)(_.operatingSystemName)
.optionallyWith(
operatingSystemVersion.map(value => value: java.lang.String)
)(_.operatingSystemVersion)
.optionallyWith(
programmingLanguages.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.programmingLanguages)
.optionallyWith(
frameworks.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.frameworks)
.optionallyWith(
customAmiList.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.customAmiList)
.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(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.PlatformDescription.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription
.wrap(buildAwsValue())
}
object PlatformDescription {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.PlatformDescription
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription =
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription(
platformArnValue.map(value => value),
platformOwnerValue.map(value => value),
platformNameValue.map(value => value),
platformVersionValue.map(value => value),
solutionStackNameValue.map(value => value),
platformStatusValue.map(value => value),
dateCreatedValue.map(value => value),
dateUpdatedValue.map(value => value),
platformCategoryValue.map(value => value),
descriptionValue.map(value => value),
maintainerValue.map(value => value),
operatingSystemNameValue.map(value => value),
operatingSystemVersionValue.map(value => value),
programmingLanguagesValue.map(value =>
value.map { item =>
item.editable
}
),
frameworksValue.map(value =>
value.map { item =>
item.editable
}
),
customAmiListValue.map(value =>
value.map { item =>
item.editable
}
),
supportedTierListValue.map(value => value),
supportedAddonListValue.map(value => value),
platformLifecycleStateValue.map(value => value),
platformBranchNameValue.map(value => value),
platformBranchLifecycleStateValue.map(value => value)
)
def platformArnValue: Option[PlatformArn]
def platformOwnerValue: Option[PlatformOwner]
def platformNameValue: Option[PlatformName]
def platformVersionValue: Option[PlatformVersion]
def solutionStackNameValue: Option[SolutionStackName]
def platformStatusValue
: Option[io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus]
def dateCreatedValue: Option[CreationDate]
def dateUpdatedValue: Option[UpdateDate]
def platformCategoryValue: Option[PlatformCategory]
def descriptionValue: Option[Description]
def maintainerValue: Option[Maintainer]
def operatingSystemNameValue: Option[OperatingSystemName]
def operatingSystemVersionValue: Option[OperatingSystemVersion]
def programmingLanguagesValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformProgrammingLanguage.ReadOnly
]]
def frameworksValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformFramework.ReadOnly
]]
def customAmiListValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.CustomAmi.ReadOnly]
]
def supportedTierListValue: Option[List[SupportedTier]]
def supportedAddonListValue: Option[List[SupportedAddon]]
def platformLifecycleStateValue: Option[PlatformLifecycleState]
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 platformName: ZIO[Any, AwsError, PlatformName] =
AwsError.unwrapOptionField("platformName", platformNameValue)
def platformVersion: ZIO[Any, AwsError, PlatformVersion] =
AwsError.unwrapOptionField("platformVersion", platformVersionValue)
def solutionStackName: ZIO[Any, AwsError, SolutionStackName] =
AwsError.unwrapOptionField("solutionStackName", solutionStackNameValue)
def platformStatus: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformStatus
] = AwsError.unwrapOptionField("platformStatus", platformStatusValue)
def dateCreated: ZIO[Any, AwsError, CreationDate] =
AwsError.unwrapOptionField("dateCreated", dateCreatedValue)
def dateUpdated: ZIO[Any, AwsError, UpdateDate] =
AwsError.unwrapOptionField("dateUpdated", dateUpdatedValue)
def platformCategory: ZIO[Any, AwsError, PlatformCategory] =
AwsError.unwrapOptionField("platformCategory", platformCategoryValue)
def description: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", descriptionValue)
def maintainer: ZIO[Any, AwsError, Maintainer] =
AwsError.unwrapOptionField("maintainer", maintainerValue)
def operatingSystemName: ZIO[Any, AwsError, OperatingSystemName] = AwsError
.unwrapOptionField("operatingSystemName", operatingSystemNameValue)
def operatingSystemVersion: ZIO[Any, AwsError, OperatingSystemVersion] =
AwsError.unwrapOptionField(
"operatingSystemVersion",
operatingSystemVersionValue
)
def programmingLanguages: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformProgrammingLanguage.ReadOnly
]] = AwsError.unwrapOptionField(
"programmingLanguages",
programmingLanguagesValue
)
def frameworks: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformFramework.ReadOnly
]] = AwsError.unwrapOptionField("frameworks", frameworksValue)
def customAmiList: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.CustomAmi.ReadOnly
]] = AwsError.unwrapOptionField("customAmiList", customAmiListValue)
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 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.PlatformDescription
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription.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 platformNameValue: Option[PlatformName] =
scala.Option(impl.platformName()).map(value => value: PlatformName)
override def platformVersionValue: Option[PlatformVersion] =
scala.Option(impl.platformVersion()).map(value => value: PlatformVersion)
override def solutionStackNameValue: Option[SolutionStackName] = scala
.Option(impl.solutionStackName())
.map(value => value: SolutionStackName)
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 dateCreatedValue: Option[CreationDate] =
scala.Option(impl.dateCreated()).map(value => value: CreationDate)
override def dateUpdatedValue: Option[UpdateDate] =
scala.Option(impl.dateUpdated()).map(value => value: UpdateDate)
override def platformCategoryValue: Option[PlatformCategory] = scala
.Option(impl.platformCategory())
.map(value => value: PlatformCategory)
override def descriptionValue: Option[Description] =
scala.Option(impl.description()).map(value => value: Description)
override def maintainerValue: Option[Maintainer] =
scala.Option(impl.maintainer()).map(value => value: Maintainer)
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 programmingLanguagesValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformProgrammingLanguage.ReadOnly
]] = scala
.Option(impl.programmingLanguages())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformProgrammingLanguage
.wrap(item)
}.toList
)
override def frameworksValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformFramework.ReadOnly
]] = scala
.Option(impl.frameworks())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformFramework
.wrap(item)
}.toList
)
override def customAmiListValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.CustomAmi.ReadOnly]
] = scala
.Option(impl.customAmiList())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.CustomAmi.wrap(item)
}.toList
)
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 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.PlatformDescription
): io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformDescription.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy