
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription.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.{
ConfigurationOptionName,
ConfigurationOptionDefaultValue,
ConfigurationOptionPossibleValue,
OptionRestrictionMaxLength,
UserDefinedOption,
OptionNamespace,
ConfigurationOptionSeverity,
OptionRestrictionMinValue,
OptionRestrictionMaxValue
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ConfigurationOptionDescription(
namespace: Option[OptionNamespace] = None,
name: Option[ConfigurationOptionName] = None,
defaultValue: Option[ConfigurationOptionDefaultValue] = None,
changeSeverity: Option[ConfigurationOptionSeverity] = None,
userDefined: Option[UserDefinedOption] = None,
valueType: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionValueType
] = None,
valueOptions: Option[Iterable[ConfigurationOptionPossibleValue]] = None,
minValue: Option[OptionRestrictionMinValue] = None,
maxValue: Option[OptionRestrictionMaxValue] = None,
maxLength: Option[OptionRestrictionMaxLength] = None,
regex: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.OptionRestrictionRegex
] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.ConfigurationOptionDescription = {
import ConfigurationOptionDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.ConfigurationOptionDescription
.builder()
.optionallyWith(namespace.map(value => value: java.lang.String))(
_.namespace
)
.optionallyWith(name.map(value => value: java.lang.String))(_.name)
.optionallyWith(defaultValue.map(value => value: java.lang.String))(
_.defaultValue
)
.optionallyWith(changeSeverity.map(value => value: java.lang.String))(
_.changeSeverity
)
.optionallyWith(userDefined.map(value => value: java.lang.Boolean))(
_.userDefined
)
.optionallyWith(valueType.map(value => value.unwrap))(_.valueType)
.optionallyWith(
valueOptions.map(value =>
value.map { item =>
item: java.lang.String
}.asJavaCollection
)
)(_.valueOptions)
.optionallyWith(minValue.map(value => value: Integer))(_.minValue)
.optionallyWith(maxValue.map(value => value: Integer))(_.maxValue)
.optionallyWith(maxLength.map(value => value: Integer))(_.maxLength)
.optionallyWith(regex.map(value => value.buildAwsValue()))(_.regex)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription
.wrap(buildAwsValue())
}
object ConfigurationOptionDescription {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.ConfigurationOptionDescription
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription =
io.github.vigoo.zioaws.elasticbeanstalk.model
.ConfigurationOptionDescription(
namespaceValue.map(value => value),
nameValue.map(value => value),
defaultValueValue.map(value => value),
changeSeverityValue.map(value => value),
userDefinedValue.map(value => value),
valueTypeValue.map(value => value),
valueOptionsValue.map(value => value),
minValueValue.map(value => value),
maxValueValue.map(value => value),
maxLengthValue.map(value => value),
regexValue.map(value => value.editable)
)
def namespaceValue: Option[OptionNamespace]
def nameValue: Option[ConfigurationOptionName]
def defaultValueValue: Option[ConfigurationOptionDefaultValue]
def changeSeverityValue: Option[ConfigurationOptionSeverity]
def userDefinedValue: Option[UserDefinedOption]
def valueTypeValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionValueType
]
def valueOptionsValue: Option[List[ConfigurationOptionPossibleValue]]
def minValueValue: Option[OptionRestrictionMinValue]
def maxValueValue: Option[OptionRestrictionMaxValue]
def maxLengthValue: Option[OptionRestrictionMaxLength]
def regexValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.OptionRestrictionRegex.ReadOnly
]
def namespace: ZIO[Any, AwsError, OptionNamespace] =
AwsError.unwrapOptionField("namespace", namespaceValue)
def name: ZIO[Any, AwsError, ConfigurationOptionName] =
AwsError.unwrapOptionField("name", nameValue)
def defaultValue: ZIO[Any, AwsError, ConfigurationOptionDefaultValue] =
AwsError.unwrapOptionField("defaultValue", defaultValueValue)
def changeSeverity: ZIO[Any, AwsError, ConfigurationOptionSeverity] =
AwsError.unwrapOptionField("changeSeverity", changeSeverityValue)
def userDefined: ZIO[Any, AwsError, UserDefinedOption] =
AwsError.unwrapOptionField("userDefined", userDefinedValue)
def valueType: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionValueType
] = AwsError.unwrapOptionField("valueType", valueTypeValue)
def valueOptions
: ZIO[Any, AwsError, List[ConfigurationOptionPossibleValue]] =
AwsError.unwrapOptionField("valueOptions", valueOptionsValue)
def minValue: ZIO[Any, AwsError, OptionRestrictionMinValue] =
AwsError.unwrapOptionField("minValue", minValueValue)
def maxValue: ZIO[Any, AwsError, OptionRestrictionMaxValue] =
AwsError.unwrapOptionField("maxValue", maxValueValue)
def maxLength: ZIO[Any, AwsError, OptionRestrictionMaxLength] =
AwsError.unwrapOptionField("maxLength", maxLengthValue)
def regex: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.elasticbeanstalk.model.OptionRestrictionRegex.ReadOnly
] = AwsError.unwrapOptionField("regex", regexValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.ConfigurationOptionDescription
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription.ReadOnly {
override def namespaceValue: Option[OptionNamespace] =
scala.Option(impl.namespace()).map(value => value: OptionNamespace)
override def nameValue: Option[ConfigurationOptionName] =
scala.Option(impl.name()).map(value => value: ConfigurationOptionName)
override def defaultValueValue: Option[ConfigurationOptionDefaultValue] =
scala
.Option(impl.defaultValue())
.map(value => value: ConfigurationOptionDefaultValue)
override def changeSeverityValue: Option[ConfigurationOptionSeverity] =
scala
.Option(impl.changeSeverity())
.map(value => value: ConfigurationOptionSeverity)
override def userDefinedValue: Option[UserDefinedOption] =
scala.Option(impl.userDefined()).map(value => value: UserDefinedOption)
override def valueTypeValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionValueType
] = scala
.Option(impl.valueType())
.map(value =>
io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionValueType
.wrap(value)
)
override def valueOptionsValue
: Option[List[ConfigurationOptionPossibleValue]] = scala
.Option(impl.valueOptions())
.map(value =>
value.asScala.map { item =>
item: ConfigurationOptionPossibleValue
}.toList
)
override def minValueValue: Option[OptionRestrictionMinValue] = scala
.Option(impl.minValue())
.map(value => value: OptionRestrictionMinValue)
override def maxValueValue: Option[OptionRestrictionMaxValue] = scala
.Option(impl.maxValue())
.map(value => value: OptionRestrictionMaxValue)
override def maxLengthValue: Option[OptionRestrictionMaxLength] = scala
.Option(impl.maxLength())
.map(value => value: OptionRestrictionMaxLength)
override def regexValue: Option[
io.github.vigoo.zioaws.elasticbeanstalk.model.OptionRestrictionRegex.ReadOnly
] = scala
.Option(impl.regex())
.map(value =>
io.github.vigoo.zioaws.elasticbeanstalk.model.OptionRestrictionRegex
.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.ConfigurationOptionDescription
): io.github.vigoo.zioaws.elasticbeanstalk.model.ConfigurationOptionDescription.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy