
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticbeanstalk.model
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
ApplicationVersionArn,
ApplicationName,
VersionLabel,
UpdateDate,
Description,
CreationDate
}
import java.time.Instant
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ApplicationVersionDescription(
applicationVersionArn: Option[ApplicationVersionArn] = None,
applicationName: Option[ApplicationName] = None,
description: Option[Description] = None,
versionLabel: Option[VersionLabel] = None,
sourceBuildInformation: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.SourceBuildInformation
] = None,
buildArn: Option[String] = None,
sourceBundle: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.S3Location
] = None,
dateCreated: Option[CreationDate] = None,
dateUpdated: Option[UpdateDate] = None,
status: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionStatus
] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationVersionDescription = {
import ApplicationVersionDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationVersionDescription
.builder()
.optionallyWith(
applicationVersionArn.map(value => value: java.lang.String)
)(_.applicationVersionArn)
.optionallyWith(applicationName.map(value => value: java.lang.String))(
_.applicationName
)
.optionallyWith(description.map(value => value: java.lang.String))(
_.description
)
.optionallyWith(versionLabel.map(value => value: java.lang.String))(
_.versionLabel
)
.optionallyWith(
sourceBuildInformation.map(value => value.buildAwsValue())
)(_.sourceBuildInformation)
.optionallyWith(buildArn.map(value => value: java.lang.String))(
_.buildArn
)
.optionallyWith(sourceBundle.map(value => value.buildAwsValue()))(
_.sourceBundle
)
.optionallyWith(dateCreated.map(value => value: Instant))(_.dateCreated)
.optionallyWith(dateUpdated.map(value => value: Instant))(_.dateUpdated)
.optionallyWith(status.map(value => value.unwrap))(_.status)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription
.wrap(buildAwsValue())
}
object ApplicationVersionDescription {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationVersionDescription
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription =
io.github.vigoo.zioaws.elasticbeanstalk.model
.ApplicationVersionDescription(
applicationVersionArnValue.map(value => value),
applicationNameValue.map(value => value),
descriptionValue.map(value => value),
versionLabelValue.map(value => value),
sourceBuildInformationValue.map(value => value.editable),
buildArnValue.map(value => value),
sourceBundleValue.map(value => value.editable),
dateCreatedValue.map(value => value),
dateUpdatedValue.map(value => value),
statusValue.map(value => value)
)
def applicationVersionArnValue: Option[ApplicationVersionArn]
def applicationNameValue: Option[ApplicationName]
def descriptionValue: Option[Description]
def versionLabelValue: Option[VersionLabel]
def sourceBuildInformationValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.SourceBuildInformation.ReadOnly
]
def buildArnValue: Option[String]
def sourceBundleValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.S3Location.ReadOnly
]
def dateCreatedValue: Option[CreationDate]
def dateUpdatedValue: Option[UpdateDate]
def statusValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionStatus
]
def applicationVersionArn: ZIO[Any, AwsError, ApplicationVersionArn] =
AwsError.unwrapOptionField(
"applicationVersionArn",
applicationVersionArnValue
)
def applicationName: ZIO[Any, AwsError, ApplicationName] =
AwsError.unwrapOptionField("applicationName", applicationNameValue)
def description: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", descriptionValue)
def versionLabel: ZIO[Any, AwsError, VersionLabel] =
AwsError.unwrapOptionField("versionLabel", versionLabelValue)
def sourceBuildInformation: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.SourceBuildInformation.ReadOnly
] = AwsError.unwrapOptionField(
"sourceBuildInformation",
sourceBuildInformationValue
)
def buildArn: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("buildArn", buildArnValue)
def sourceBundle: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.S3Location.ReadOnly
] = AwsError.unwrapOptionField("sourceBundle", sourceBundleValue)
def dateCreated: ZIO[Any, AwsError, CreationDate] =
AwsError.unwrapOptionField("dateCreated", dateCreatedValue)
def dateUpdated: ZIO[Any, AwsError, UpdateDate] =
AwsError.unwrapOptionField("dateUpdated", dateUpdatedValue)
def status: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionStatus
] = AwsError.unwrapOptionField("status", statusValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationVersionDescription
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly {
override def applicationVersionArnValue: Option[ApplicationVersionArn] =
scala
.Option(impl.applicationVersionArn())
.map(value => value: ApplicationVersionArn)
override def applicationNameValue: Option[ApplicationName] =
scala.Option(impl.applicationName()).map(value => value: ApplicationName)
override def descriptionValue: Option[Description] =
scala.Option(impl.description()).map(value => value: Description)
override def versionLabelValue: Option[VersionLabel] =
scala.Option(impl.versionLabel()).map(value => value: VersionLabel)
override def sourceBuildInformationValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.SourceBuildInformation.ReadOnly
] = scala
.Option(impl.sourceBuildInformation())
.map(value =>
io.github.vigoo.zioaws.elasticbeanstalk.model.SourceBuildInformation
.wrap(value)
)
override def buildArnValue: Option[String] =
scala.Option(impl.buildArn()).map(value => value: String)
override def sourceBundleValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.S3Location.ReadOnly
] = scala
.Option(impl.sourceBundle())
.map(value =>
io.github.vigoo.zioaws.elasticbeanstalk.model.S3Location.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 statusValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionStatus
] = scala
.Option(impl.status())
.map(value =>
io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionStatus
.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationVersionDescription
): io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy