All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.snowdevicemanagement.model
import io.github.vigoo.zioaws.snowdevicemanagement.model.primitives.{
TaskDescriptionString,
Timestamp
}
import zio.ZIO
import java.time.Instant
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters.*
final case class DescribeTaskResponse(
completedAt: Option[Timestamp] = None,
createdAt: Option[Timestamp] = None,
description: Option[TaskDescriptionString] = None,
lastUpdatedAt: Option[Timestamp] = None,
state: Option[io.github.vigoo.zioaws.snowdevicemanagement.model.TaskState] =
None,
tags: Option[Map[String, String]] = None,
targets: Option[Iterable[String]] = None,
taskArn: Option[String] = None,
taskId: Option[String] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.snowdevicemanagement.model.DescribeTaskResponse = {
import DescribeTaskResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.snowdevicemanagement.model.DescribeTaskResponse
.builder()
.optionallyWith(completedAt.map(value => value: Instant))(_.completedAt)
.optionallyWith(createdAt.map(value => value: Instant))(_.createdAt)
.optionallyWith(description.map(value => value: java.lang.String))(
_.description
)
.optionallyWith(lastUpdatedAt.map(value => value: Instant))(
_.lastUpdatedAt
)
.optionallyWith(state.map(value => value.unwrap))(_.state)
.optionallyWith(
tags.map(value =>
value
.map({ case (key, value) =>
(key: java.lang.String) -> (value: java.lang.String)
})
.asJava
)
)(_.tags)
.optionallyWith(
targets.map(value =>
value.map { item =>
item: java.lang.String
}.asJavaCollection
)
)(_.targets)
.optionallyWith(taskArn.map(value => value: java.lang.String))(_.taskArn)
.optionallyWith(taskId.map(value => value: java.lang.String))(_.taskId)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse.ReadOnly =
io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse
.wrap(buildAwsValue())
}
object DescribeTaskResponse {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.snowdevicemanagement.model.DescribeTaskResponse
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse =
io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse(
completedAtValue.map(value => value),
createdAtValue.map(value => value),
descriptionValue.map(value => value),
lastUpdatedAtValue.map(value => value),
stateValue.map(value => value),
tagsValue.map(value => value),
targetsValue.map(value => value),
taskArnValue.map(value => value),
taskIdValue.map(value => value)
)
def completedAtValue: Option[Timestamp]
def createdAtValue: Option[Timestamp]
def descriptionValue: Option[TaskDescriptionString]
def lastUpdatedAtValue: Option[Timestamp]
def stateValue
: Option[io.github.vigoo.zioaws.snowdevicemanagement.model.TaskState]
def tagsValue: Option[Map[String, String]]
def targetsValue: Option[List[String]]
def taskArnValue: Option[String]
def taskIdValue: Option[String]
def completedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("completedAt", completedAtValue)
def createdAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("createdAt", createdAtValue)
def description: ZIO[Any, AwsError, TaskDescriptionString] =
AwsError.unwrapOptionField("description", descriptionValue)
def lastUpdatedAt: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("lastUpdatedAt", lastUpdatedAtValue)
def state: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.snowdevicemanagement.model.TaskState
] = AwsError.unwrapOptionField("state", stateValue)
def tags: ZIO[Any, AwsError, Map[String, String]] =
AwsError.unwrapOptionField("tags", tagsValue)
def targets: ZIO[Any, AwsError, List[String]] =
AwsError.unwrapOptionField("targets", targetsValue)
def taskArn: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("taskArn", taskArnValue)
def taskId: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("taskId", taskIdValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.snowdevicemanagement.model.DescribeTaskResponse
) extends io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse.ReadOnly {
override def completedAtValue: Option[Timestamp] =
scala.Option(impl.completedAt()).map(value => value: Timestamp)
override def createdAtValue: Option[Timestamp] =
scala.Option(impl.createdAt()).map(value => value: Timestamp)
override def descriptionValue: Option[TaskDescriptionString] = scala
.Option(impl.description())
.map(value => value: TaskDescriptionString)
override def lastUpdatedAtValue: Option[Timestamp] =
scala.Option(impl.lastUpdatedAt()).map(value => value: Timestamp)
override def stateValue
: Option[io.github.vigoo.zioaws.snowdevicemanagement.model.TaskState] =
scala
.Option(impl.state())
.map(value =>
io.github.vigoo.zioaws.snowdevicemanagement.model.TaskState
.wrap(value)
)
override def tagsValue: Option[Map[String, String]] = scala
.Option(impl.tags())
.map(value =>
value.asScala
.map({ case (key, value) =>
(key: String) -> (value: String)
})
.toMap
)
override def targetsValue: Option[List[String]] = scala
.Option(impl.targets())
.map(value =>
value.asScala.map { item =>
item: String
}.toList
)
override def taskArnValue: Option[String] =
scala.Option(impl.taskArn()).map(value => value: String)
override def taskIdValue: Option[String] =
scala.Option(impl.taskId()).map(value => value: String)
}
def wrap(
impl: software.amazon.awssdk.services.snowdevicemanagement.model.DescribeTaskResponse
): io.github.vigoo.zioaws.snowdevicemanagement.model.DescribeTaskResponse.ReadOnly =
new Wrapper(impl)
}