
io.github.vigoo.zioaws.pi.model.DescribeDimensionKeysResponse.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.pi.model
import scala.jdk.CollectionConverters._
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class DescribeDimensionKeysResponse(alignedStartTime: scala.Option[primitives.ISOTimestamp] = None, alignedEndTime: scala.Option[primitives.ISOTimestamp] = None, partitionKeys: scala.Option[Iterable[ResponsePartitionKey]] = None, keys: scala.Option[Iterable[DimensionKeyDescription]] = None, nextToken: scala.Option[primitives.NextToken] = None) {
def buildAwsValue(): software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse = {
import DescribeDimensionKeysResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse.builder().optionallyWith(alignedStartTime.map(value => value: java.time.Instant))(_.alignedStartTime).optionallyWith(alignedEndTime.map(value => value: java.time.Instant))(_.alignedEndTime).optionallyWith(partitionKeys.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.partitionKeys).optionallyWith(keys.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.keys).optionallyWith(nextToken.map(value => value: java.lang.String))(_.nextToken).build()
}
def asReadOnly: DescribeDimensionKeysResponse.ReadOnly = DescribeDimensionKeysResponse.wrap(buildAwsValue())
}
object DescribeDimensionKeysResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: DescribeDimensionKeysResponse = DescribeDimensionKeysResponse(alignedStartTimeValue.map(value => value), alignedEndTimeValue.map(value => value), partitionKeysValue.map(value => value.map { item =>
item.editable
}), keysValue.map(value => value.map { item =>
item.editable
}), nextTokenValue.map(value => value))
def alignedStartTimeValue: scala.Option[primitives.ISOTimestamp]
def alignedEndTimeValue: scala.Option[primitives.ISOTimestamp]
def partitionKeysValue: scala.Option[List[ResponsePartitionKey.ReadOnly]]
def keysValue: scala.Option[List[DimensionKeyDescription.ReadOnly]]
def nextTokenValue: scala.Option[primitives.NextToken]
def alignedStartTime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ISOTimestamp] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("alignedStartTime", alignedStartTimeValue)
def alignedEndTime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ISOTimestamp] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("alignedEndTime", alignedEndTimeValue)
def partitionKeys: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[ResponsePartitionKey.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("partitionKeys", partitionKeysValue)
def keys: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[DimensionKeyDescription.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("keys", keysValue)
def nextToken: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.NextToken] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nextToken", nextTokenValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse) extends DescribeDimensionKeysResponse.ReadOnly {
override def alignedStartTimeValue: scala.Option[primitives.ISOTimestamp] = scala.Option(impl.alignedStartTime()).map(value => value: primitives.ISOTimestamp)
override def alignedEndTimeValue: scala.Option[primitives.ISOTimestamp] = scala.Option(impl.alignedEndTime()).map(value => value: primitives.ISOTimestamp)
override def partitionKeysValue: scala.Option[List[ResponsePartitionKey.ReadOnly]] = scala.Option(impl.partitionKeys()).map(value => value.asScala.map { item =>
ResponsePartitionKey.wrap(item)
}.toList)
override def keysValue: scala.Option[List[DimensionKeyDescription.ReadOnly]] = scala.Option(impl.keys()).map(value => value.asScala.map { item =>
DimensionKeyDescription.wrap(item)
}.toList)
override def nextTokenValue: scala.Option[primitives.NextToken] = scala.Option(impl.nextToken()).map(value => value: primitives.NextToken)
}
def wrap(impl: software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy