All Downloads are FREE. Search and download functionalities are using the official Maven repository.

zio.aws.snowdevicemanagement.model.DescribeDeviceResponse.scala Maven / Gradle / Ivy

The newest version!
package zio.aws.snowdevicemanagement.model
import zio.aws.snowdevicemanagement.model.primitives.{
  ManagedDeviceId,
  Timestamp
}
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters._
final case class DescribeDeviceResponse(
    associatedWithJob: Optional[String] = Optional.Absent,
    deviceCapacities: Optional[
      Iterable[zio.aws.snowdevicemanagement.model.Capacity]
    ] = Optional.Absent,
    deviceState: Optional[zio.aws.snowdevicemanagement.model.UnlockState] =
      Optional.Absent,
    deviceType: Optional[String] = Optional.Absent,
    lastReachedOutAt: Optional[Timestamp] = Optional.Absent,
    lastUpdatedAt: Optional[Timestamp] = Optional.Absent,
    managedDeviceArn: Optional[String] = Optional.Absent,
    managedDeviceId: Optional[ManagedDeviceId] = Optional.Absent,
    physicalNetworkInterfaces: Optional[
      Iterable[zio.aws.snowdevicemanagement.model.PhysicalNetworkInterface]
    ] = Optional.Absent,
    software: Optional[zio.aws.snowdevicemanagement.model.SoftwareInformation] =
      Optional.Absent,
    tags: Optional[Map[String, String]] = Optional.Absent
) {
  def buildAwsValue()
      : _root_.software.amazon.awssdk.services.snowdevicemanagement.model.DescribeDeviceResponse = {
    import DescribeDeviceResponse.zioAwsBuilderHelper.BuilderOps
    _root_.software.amazon.awssdk.services.snowdevicemanagement.model.DescribeDeviceResponse
      .builder()
      .optionallyWith(associatedWithJob.map(value => value: java.lang.String))(
        _.associatedWithJob
      )
      .optionallyWith(
        deviceCapacities.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.deviceCapacities)
      .optionallyWith(deviceState.map(value => value.unwrap))(_.deviceState)
      .optionallyWith(deviceType.map(value => value: java.lang.String))(
        _.deviceType
      )
      .optionallyWith(
        lastReachedOutAt.map(value => Timestamp.unwrap(value): Instant)
      )(_.lastReachedOutAt)
      .optionallyWith(
        lastUpdatedAt.map(value => Timestamp.unwrap(value): Instant)
      )(_.lastUpdatedAt)
      .optionallyWith(managedDeviceArn.map(value => value: java.lang.String))(
        _.managedDeviceArn
      )
      .optionallyWith(
        managedDeviceId.map(value =>
          ManagedDeviceId.unwrap(value): java.lang.String
        )
      )(_.managedDeviceId)
      .optionallyWith(
        physicalNetworkInterfaces.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.physicalNetworkInterfaces)
      .optionallyWith(software.map(value => value.buildAwsValue()))(_.software)
      .optionallyWith(
        tags.map(value =>
          value
            .map({ case (key, value) =>
              (key: java.lang.String) -> (value: java.lang.String)
            })
            .asJava
        )
      )(_.tags)
      .build()
  }
  def asReadOnly
      : zio.aws.snowdevicemanagement.model.DescribeDeviceResponse.ReadOnly =
    zio.aws.snowdevicemanagement.model.DescribeDeviceResponse
      .wrap(buildAwsValue())
}
object DescribeDeviceResponse {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    _root_.software.amazon.awssdk.services.snowdevicemanagement.model.DescribeDeviceResponse
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.snowdevicemanagement.model.DescribeDeviceResponse =
      zio.aws.snowdevicemanagement.model.DescribeDeviceResponse(
        associatedWithJob.map(value => value),
        deviceCapacities.map(value =>
          value.map { item =>
            item.asEditable
          }
        ),
        deviceState.map(value => value),
        deviceType.map(value => value),
        lastReachedOutAt.map(value => value),
        lastUpdatedAt.map(value => value),
        managedDeviceArn.map(value => value),
        managedDeviceId.map(value => value),
        physicalNetworkInterfaces.map(value =>
          value.map { item =>
            item.asEditable
          }
        ),
        software.map(value => value.asEditable),
        tags.map(value => value)
      )
    def associatedWithJob: Optional[String]
    def deviceCapacities
        : Optional[List[zio.aws.snowdevicemanagement.model.Capacity.ReadOnly]]
    def deviceState: Optional[zio.aws.snowdevicemanagement.model.UnlockState]
    def deviceType: Optional[String]
    def lastReachedOutAt: Optional[Timestamp]
    def lastUpdatedAt: Optional[Timestamp]
    def managedDeviceArn: Optional[String]
    def managedDeviceId: Optional[ManagedDeviceId]
    def physicalNetworkInterfaces: Optional[
      List[zio.aws.snowdevicemanagement.model.PhysicalNetworkInterface.ReadOnly]
    ]
    def software: Optional[
      zio.aws.snowdevicemanagement.model.SoftwareInformation.ReadOnly
    ]
    def tags: Optional[Map[String, String]]
    def getAssociatedWithJob: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("associatedWithJob", associatedWithJob)
    def getDeviceCapacities: ZIO[Any, AwsError, List[
      zio.aws.snowdevicemanagement.model.Capacity.ReadOnly
    ]] = AwsError.unwrapOptionField("deviceCapacities", deviceCapacities)
    def getDeviceState
        : ZIO[Any, AwsError, zio.aws.snowdevicemanagement.model.UnlockState] =
      AwsError.unwrapOptionField("deviceState", deviceState)
    def getDeviceType: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("deviceType", deviceType)
    def getLastReachedOutAt: ZIO[Any, AwsError, Timestamp] =
      AwsError.unwrapOptionField("lastReachedOutAt", lastReachedOutAt)
    def getLastUpdatedAt: ZIO[Any, AwsError, Timestamp] =
      AwsError.unwrapOptionField("lastUpdatedAt", lastUpdatedAt)
    def getManagedDeviceArn: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("managedDeviceArn", managedDeviceArn)
    def getManagedDeviceId: ZIO[Any, AwsError, ManagedDeviceId] =
      AwsError.unwrapOptionField("managedDeviceId", managedDeviceId)
    def getPhysicalNetworkInterfaces: ZIO[Any, AwsError, List[
      zio.aws.snowdevicemanagement.model.PhysicalNetworkInterface.ReadOnly
    ]] = AwsError.unwrapOptionField(
      "physicalNetworkInterfaces",
      physicalNetworkInterfaces
    )
    def getSoftware: ZIO[
      Any,
      AwsError,
      zio.aws.snowdevicemanagement.model.SoftwareInformation.ReadOnly
    ] = AwsError.unwrapOptionField("software", software)
    def getTags: ZIO[Any, AwsError, Map[String, String]] =
      AwsError.unwrapOptionField("tags", tags)
  }
  private final class Wrapper(
      impl: _root_.software.amazon.awssdk.services.snowdevicemanagement.model.DescribeDeviceResponse
  ) extends zio.aws.snowdevicemanagement.model.DescribeDeviceResponse.ReadOnly {
    override val associatedWithJob: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.associatedWithJob())
      .map(value => value: String)
    override val deviceCapacities
        : Optional[List[zio.aws.snowdevicemanagement.model.Capacity.ReadOnly]] =
      zio.aws.core.internal
        .optionalFromNullable(impl.deviceCapacities())
        .map(value =>
          value.asScala.map { item =>
            zio.aws.snowdevicemanagement.model.Capacity.wrap(item)
          }.toList
        )
    override val deviceState
        : Optional[zio.aws.snowdevicemanagement.model.UnlockState] =
      zio.aws.core.internal
        .optionalFromNullable(impl.deviceState())
        .map(value =>
          zio.aws.snowdevicemanagement.model.UnlockState.wrap(value)
        )
    override val deviceType: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.deviceType())
      .map(value => value: String)
    override val lastReachedOutAt: Optional[Timestamp] = zio.aws.core.internal
      .optionalFromNullable(impl.lastReachedOutAt())
      .map(value =>
        zio.aws.snowdevicemanagement.model.primitives.Timestamp(value)
      )
    override val lastUpdatedAt: Optional[Timestamp] = zio.aws.core.internal
      .optionalFromNullable(impl.lastUpdatedAt())
      .map(value =>
        zio.aws.snowdevicemanagement.model.primitives.Timestamp(value)
      )
    override val managedDeviceArn: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.managedDeviceArn())
      .map(value => value: String)
    override val managedDeviceId: Optional[ManagedDeviceId] =
      zio.aws.core.internal
        .optionalFromNullable(impl.managedDeviceId())
        .map(value =>
          zio.aws.snowdevicemanagement.model.primitives.ManagedDeviceId(value)
        )
    override val physicalNetworkInterfaces: Optional[
      List[zio.aws.snowdevicemanagement.model.PhysicalNetworkInterface.ReadOnly]
    ] = zio.aws.core.internal
      .optionalFromNullable(impl.physicalNetworkInterfaces())
      .map(value =>
        value.asScala.map { item =>
          zio.aws.snowdevicemanagement.model.PhysicalNetworkInterface.wrap(item)
        }.toList
      )
    override val software: Optional[
      zio.aws.snowdevicemanagement.model.SoftwareInformation.ReadOnly
    ] = zio.aws.core.internal
      .optionalFromNullable(impl.software())
      .map(value =>
        zio.aws.snowdevicemanagement.model.SoftwareInformation.wrap(value)
      )
    override val tags: Optional[Map[String, String]] = zio.aws.core.internal
      .optionalFromNullable(impl.tags())
      .map(value =>
        value.asScala
          .map({ case (key, value) =>
            (key: String) -> (value: String)
          })
          .toMap
      )
  }
  def wrap(
      impl: _root_.software.amazon.awssdk.services.snowdevicemanagement.model.DescribeDeviceResponse
  ): zio.aws.snowdevicemanagement.model.DescribeDeviceResponse.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy