zio.aws.snowdevicemanagement.model.Capacity.scala Maven / Gradle / Ivy
The newest version!
package zio.aws.snowdevicemanagement.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.snowdevicemanagement.model.primitives.{
CapacityUnitString,
CapacityNameString
}
import scala.jdk.CollectionConverters._
final case class Capacity(
available: Optional[Long] = Optional.Absent,
name: Optional[CapacityNameString] = Optional.Absent,
total: Optional[Long] = Optional.Absent,
unit: Optional[CapacityUnitString] = Optional.Absent,
used: Optional[Long] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.snowdevicemanagement.model.Capacity = {
import Capacity.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.snowdevicemanagement.model.Capacity
.builder()
.optionallyWith(available.map(value => value: java.lang.Long))(
_.available
)
.optionallyWith(
name.map(value => CapacityNameString.unwrap(value): java.lang.String)
)(_.name)
.optionallyWith(total.map(value => value: java.lang.Long))(_.total)
.optionallyWith(
unit.map(value => CapacityUnitString.unwrap(value): java.lang.String)
)(_.unit)
.optionallyWith(used.map(value => value: java.lang.Long))(_.used)
.build()
}
def asReadOnly: zio.aws.snowdevicemanagement.model.Capacity.ReadOnly =
zio.aws.snowdevicemanagement.model.Capacity.wrap(buildAwsValue())
}
object Capacity {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.snowdevicemanagement.model.Capacity
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.snowdevicemanagement.model.Capacity =
zio.aws.snowdevicemanagement.model.Capacity(
available.map(value => value),
name.map(value => value),
total.map(value => value),
unit.map(value => value),
used.map(value => value)
)
def available: Optional[Long]
def name: Optional[CapacityNameString]
def total: Optional[Long]
def unit: Optional[CapacityUnitString]
def used: Optional[Long]
def getAvailable: ZIO[Any, AwsError, Long] =
AwsError.unwrapOptionField("available", available)
def getName: ZIO[Any, AwsError, CapacityNameString] =
AwsError.unwrapOptionField("name", name)
def getTotal: ZIO[Any, AwsError, Long] =
AwsError.unwrapOptionField("total", total)
def getUnit: ZIO[Any, AwsError, CapacityUnitString] =
AwsError.unwrapOptionField("unit", unit)
def getUsed: ZIO[Any, AwsError, Long] =
AwsError.unwrapOptionField("used", used)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.snowdevicemanagement.model.Capacity
) extends zio.aws.snowdevicemanagement.model.Capacity.ReadOnly {
override val available: Optional[Long] = zio.aws.core.internal
.optionalFromNullable(impl.available())
.map(value => value: Long)
override val name: Optional[CapacityNameString] = zio.aws.core.internal
.optionalFromNullable(impl.name())
.map(value =>
zio.aws.snowdevicemanagement.model.primitives.CapacityNameString(value)
)
override val total: Optional[Long] = zio.aws.core.internal
.optionalFromNullable(impl.total())
.map(value => value: Long)
override val unit: Optional[CapacityUnitString] = zio.aws.core.internal
.optionalFromNullable(impl.unit())
.map(value =>
zio.aws.snowdevicemanagement.model.primitives.CapacityUnitString(value)
)
override val used: Optional[Long] = zio.aws.core.internal
.optionalFromNullable(impl.used())
.map(value => value: Long)
}
def wrap(
impl: software.amazon.awssdk.services.snowdevicemanagement.model.Capacity
): zio.aws.snowdevicemanagement.model.Capacity.ReadOnly = new Wrapper(impl)
}