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

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