
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticbeanstalk.model
import java.lang.Integer
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
BoxedInt,
BoxedBoolean
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class MaxAgeRule(
enabled: BoxedBoolean,
maxAgeInDays: Option[BoxedInt] = None,
deleteSourceFromS3: Option[BoxedBoolean] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.MaxAgeRule = {
import MaxAgeRule.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.MaxAgeRule
.builder()
.enabled(enabled: java.lang.Boolean)
.optionallyWith(maxAgeInDays.map(value => value: Integer))(_.maxAgeInDays)
.optionallyWith(
deleteSourceFromS3.map(value => value: java.lang.Boolean)
)(_.deleteSourceFromS3)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule
.wrap(buildAwsValue())
}
object MaxAgeRule {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.MaxAgeRule
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule =
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule(
enabledValue,
maxAgeInDaysValue.map(value => value),
deleteSourceFromS3Value.map(value => value)
)
def enabledValue: BoxedBoolean
def maxAgeInDaysValue: Option[BoxedInt]
def deleteSourceFromS3Value: Option[BoxedBoolean]
def enabled: ZIO[Any, Nothing, BoxedBoolean] = ZIO.succeed(enabledValue)
def maxAgeInDays: ZIO[Any, AwsError, BoxedInt] =
AwsError.unwrapOptionField("maxAgeInDays", maxAgeInDaysValue)
def deleteSourceFromS3: ZIO[Any, AwsError, BoxedBoolean] =
AwsError.unwrapOptionField("deleteSourceFromS3", deleteSourceFromS3Value)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.MaxAgeRule
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule.ReadOnly {
override def enabledValue: BoxedBoolean = impl.enabled(): BoxedBoolean
override def maxAgeInDaysValue: Option[BoxedInt] =
scala.Option(impl.maxAgeInDays()).map(value => value: BoxedInt)
override def deleteSourceFromS3Value: Option[BoxedBoolean] =
scala.Option(impl.deleteSourceFromS3()).map(value => value: BoxedBoolean)
}
def wrap(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.MaxAgeRule
): io.github.vigoo.zioaws.elasticbeanstalk.model.MaxAgeRule.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy