
io.github.vigoo.zioaws.dynamodbstreams.model.package.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.dynamodbstreams
import scala.jdk.CollectionConverters._
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
import io.github.vigoo.zioaws.dynamodb.model._
package object model {
object primitives {
type AttributeName = String
type BinaryAttributeValue = Chunk[Byte]
type BooleanAttributeValue = Boolean
type Date = Instant
type KeySchemaAttributeName = String
type NullAttributeValue = Boolean
type NumberAttributeValue = String
type PositiveIntegerObject = Int
type PositiveLongObject = Long
type SequenceNumber = String
type ShardId = String
type ShardIterator = String
type StreamArn = String
type StringAttributeValue = String
type TableName = String
}
type AttributeMap = Map[primitives.AttributeName, AttributeValue]
case class AttributeValue(s: scala.Option[primitives.StringAttributeValue] = None, n: scala.Option[primitives.NumberAttributeValue] = None, b: scala.Option[primitives.BinaryAttributeValue] = None, ss: scala.Option[Iterable[primitives.StringAttributeValue]] = None, ns: scala.Option[Iterable[primitives.NumberAttributeValue]] = None, bs: scala.Option[Iterable[primitives.BinaryAttributeValue]] = None, m: scala.Option[Map[primitives.AttributeName, AttributeValue]] = None, l: scala.Option[Iterable[AttributeValue]] = None, nul: scala.Option[primitives.NullAttributeValue] = None, bool: scala.Option[primitives.BooleanAttributeValue] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.AttributeValue = {
import AttributeValue.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.AttributeValue.builder().optionallyWith(s.map(value => value: java.lang.String))(_.s).optionallyWith(n.map(value => value: java.lang.String))(_.n).optionallyWith(b.map(value => SdkBytes.fromByteArray(value.toArray[Byte])))(_.b).optionallyWith(ss.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.ss).optionallyWith(ns.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.ns).optionallyWith(bs.map(value => value.map { item =>
SdkBytes.fromByteArray(item.toArray[Byte])
}.asJavaCollection))(_.bs).optionallyWith(m.map(value => value.map({
case (key, value) =>
(key: java.lang.String) -> value.buildAwsValue()
}).asJava))(_.m).optionallyWith(l.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.l).optionallyWith(nul.map(value => value: java.lang.Boolean))(_.nul).optionallyWith(bool.map(value => value: java.lang.Boolean))(_.bool).build()
}
}
object AttributeValue {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.AttributeValue] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: AttributeValue = AttributeValue(sValue.map(value => value), nValue.map(value => value), bValue.map(value => value), ssValue.map(value => value), nsValue.map(value => value), bsValue.map(value => value), mValue.map(value => value.map({
case (key, value) =>
key -> value.editable
})), lValue.map(value => value.map { item =>
item.editable
}), nulValue.map(value => value), boolValue.map(value => value))
def sValue: scala.Option[primitives.StringAttributeValue]
def nValue: scala.Option[primitives.NumberAttributeValue]
def bValue: scala.Option[primitives.BinaryAttributeValue]
def ssValue: scala.Option[List[primitives.StringAttributeValue]]
def nsValue: scala.Option[List[primitives.NumberAttributeValue]]
def bsValue: scala.Option[List[primitives.BinaryAttributeValue]]
def mValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]]
def lValue: scala.Option[List[AttributeValue.ReadOnly]]
def nulValue: scala.Option[primitives.NullAttributeValue]
def boolValue: scala.Option[primitives.BooleanAttributeValue]
def s: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StringAttributeValue] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("s", sValue)
def n: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.NumberAttributeValue] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("n", nValue)
def b: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.BinaryAttributeValue] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("b", bValue)
def ss: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.StringAttributeValue]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("ss", ssValue)
def ns: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.NumberAttributeValue]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("ns", nsValue)
def bs: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.BinaryAttributeValue]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("bs", bsValue)
def m: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Map[primitives.AttributeName, AttributeValue.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("m", mValue)
def l: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[AttributeValue.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("l", lValue)
def nul: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.NullAttributeValue] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nul", nulValue)
def bool: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.BooleanAttributeValue] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("bool", boolValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.AttributeValue) extends AttributeValue.ReadOnly {
override def sValue: scala.Option[primitives.StringAttributeValue] = scala.Option(impl.s()).map(value => value: primitives.StringAttributeValue)
override def nValue: scala.Option[primitives.NumberAttributeValue] = scala.Option(impl.n()).map(value => value: primitives.NumberAttributeValue)
override def bValue: scala.Option[primitives.BinaryAttributeValue] = scala.Option(impl.b()).map(value => Chunk.fromByteBuffer(value.asByteBuffer()))
override def ssValue: scala.Option[List[primitives.StringAttributeValue]] = scala.Option(impl.ss()).map(value => value.asScala.map { item =>
item: primitives.StringAttributeValue
}.toList)
override def nsValue: scala.Option[List[primitives.NumberAttributeValue]] = scala.Option(impl.ns()).map(value => value.asScala.map { item =>
item: primitives.NumberAttributeValue
}.toList)
override def bsValue: scala.Option[List[primitives.BinaryAttributeValue]] = scala.Option(impl.bs()).map(value => value.asScala.map { item =>
Chunk.fromByteBuffer(item.asByteBuffer())
}.toList)
override def mValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]] = scala.Option(impl.m()).map(value => value.asScala.map({
case (key, value) =>
(key: primitives.AttributeName) -> AttributeValue.wrap(value)
}).toMap)
override def lValue: scala.Option[List[AttributeValue.ReadOnly]] = scala.Option(impl.l()).map(value => value.asScala.map { item =>
AttributeValue.wrap(item)
}.toList)
override def nulValue: scala.Option[primitives.NullAttributeValue] = scala.Option(impl.nul()).map(value => value: primitives.NullAttributeValue)
override def boolValue: scala.Option[primitives.BooleanAttributeValue] = scala.Option(impl.bool()).map(value => value: primitives.BooleanAttributeValue)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.AttributeValue): ReadOnly = new Wrapper(impl)
}
type BinarySetAttributeValue = List[primitives.BinaryAttributeValue]
case class DescribeStreamRequest(streamArn: primitives.StreamArn, limit: scala.Option[primitives.PositiveIntegerObject] = None, exclusiveStartShardId: scala.Option[primitives.ShardId] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest = {
import DescribeStreamRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest.builder().streamArn(streamArn: java.lang.String).optionallyWith(limit.map(value => value: java.lang.Integer))(_.limit).optionallyWith(exclusiveStartShardId.map(value => value: java.lang.String))(_.exclusiveStartShardId).build()
}
}
object DescribeStreamRequest {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: DescribeStreamRequest = DescribeStreamRequest(streamArnValue, limitValue.map(value => value), exclusiveStartShardIdValue.map(value => value))
def streamArnValue: primitives.StreamArn
def limitValue: scala.Option[primitives.PositiveIntegerObject]
def exclusiveStartShardIdValue: scala.Option[primitives.ShardId]
def streamArn: ZIO[Any, Nothing, primitives.StreamArn] = ZIO.succeed(streamArnValue)
def limit: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.PositiveIntegerObject] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("limit", limitValue)
def exclusiveStartShardId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("exclusiveStartShardId", exclusiveStartShardIdValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest) extends DescribeStreamRequest.ReadOnly {
override def streamArnValue: primitives.StreamArn = impl.streamArn(): primitives.StreamArn
override def limitValue: scala.Option[primitives.PositiveIntegerObject] = scala.Option(impl.limit()).map(value => value: primitives.PositiveIntegerObject)
override def exclusiveStartShardIdValue: scala.Option[primitives.ShardId] = scala.Option(impl.exclusiveStartShardId()).map(value => value: primitives.ShardId)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest): ReadOnly = new Wrapper(impl)
}
case class DescribeStreamResponse(streamDescription: scala.Option[StreamDescription] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse = {
import DescribeStreamResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse.builder().optionallyWith(streamDescription.map(value => value.buildAwsValue()))(_.streamDescription).build()
}
}
object DescribeStreamResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: DescribeStreamResponse = DescribeStreamResponse(streamDescriptionValue.map(value => value.editable))
def streamDescriptionValue: scala.Option[StreamDescription.ReadOnly]
def streamDescription: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StreamDescription.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamDescription", streamDescriptionValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse) extends DescribeStreamResponse.ReadOnly { override def streamDescriptionValue: scala.Option[StreamDescription.ReadOnly] = scala.Option(impl.streamDescription()).map(value => StreamDescription.wrap(value)) }
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse): ReadOnly = new Wrapper(impl)
}
case class GetRecordsRequest(shardIterator: primitives.ShardIterator, limit: scala.Option[primitives.PositiveIntegerObject] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest = {
import GetRecordsRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest.builder().shardIterator(shardIterator: java.lang.String).optionallyWith(limit.map(value => value: java.lang.Integer))(_.limit).build()
}
}
object GetRecordsRequest {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: GetRecordsRequest = GetRecordsRequest(shardIteratorValue, limitValue.map(value => value))
def shardIteratorValue: primitives.ShardIterator
def limitValue: scala.Option[primitives.PositiveIntegerObject]
def shardIterator: ZIO[Any, Nothing, primitives.ShardIterator] = ZIO.succeed(shardIteratorValue)
def limit: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.PositiveIntegerObject] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("limit", limitValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest) extends GetRecordsRequest.ReadOnly {
override def shardIteratorValue: primitives.ShardIterator = impl.shardIterator(): primitives.ShardIterator
override def limitValue: scala.Option[primitives.PositiveIntegerObject] = scala.Option(impl.limit()).map(value => value: primitives.PositiveIntegerObject)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest): ReadOnly = new Wrapper(impl)
}
case class GetRecordsResponse(records: scala.Option[Iterable[Record]] = None, nextShardIterator: scala.Option[primitives.ShardIterator] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse = {
import GetRecordsResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse.builder().optionallyWith(records.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.records).optionallyWith(nextShardIterator.map(value => value: java.lang.String))(_.nextShardIterator).build()
}
}
object GetRecordsResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: GetRecordsResponse = GetRecordsResponse(recordsValue.map(value => value.map { item =>
item.editable
}), nextShardIteratorValue.map(value => value))
def recordsValue: scala.Option[List[Record.ReadOnly]]
def nextShardIteratorValue: scala.Option[primitives.ShardIterator]
def records: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[Record.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("records", recordsValue)
def nextShardIterator: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardIterator] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nextShardIterator", nextShardIteratorValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse) extends GetRecordsResponse.ReadOnly {
override def recordsValue: scala.Option[List[Record.ReadOnly]] = scala.Option(impl.records()).map(value => value.asScala.map { item =>
Record.wrap(item)
}.toList)
override def nextShardIteratorValue: scala.Option[primitives.ShardIterator] = scala.Option(impl.nextShardIterator()).map(value => value: primitives.ShardIterator)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse): ReadOnly = new Wrapper(impl)
}
case class GetShardIteratorRequest(streamArn: primitives.StreamArn, shardId: primitives.ShardId, shardIteratorType: ShardIteratorType, sequenceNumber: scala.Option[primitives.SequenceNumber] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest = {
import GetShardIteratorRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest.builder().streamArn(streamArn: java.lang.String).shardId(shardId: java.lang.String).shardIteratorType(shardIteratorType.unwrap).optionallyWith(sequenceNumber.map(value => value: java.lang.String))(_.sequenceNumber).build()
}
}
object GetShardIteratorRequest {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: GetShardIteratorRequest = GetShardIteratorRequest(streamArnValue, shardIdValue, shardIteratorTypeValue, sequenceNumberValue.map(value => value))
def streamArnValue: primitives.StreamArn
def shardIdValue: primitives.ShardId
def shardIteratorTypeValue: ShardIteratorType
def sequenceNumberValue: scala.Option[primitives.SequenceNumber]
def streamArn: ZIO[Any, Nothing, primitives.StreamArn] = ZIO.succeed(streamArnValue)
def shardId: ZIO[Any, Nothing, primitives.ShardId] = ZIO.succeed(shardIdValue)
def shardIteratorType: ZIO[Any, Nothing, ShardIteratorType] = ZIO.succeed(shardIteratorTypeValue)
def sequenceNumber: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SequenceNumber] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sequenceNumber", sequenceNumberValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest) extends GetShardIteratorRequest.ReadOnly {
override def streamArnValue: primitives.StreamArn = impl.streamArn(): primitives.StreamArn
override def shardIdValue: primitives.ShardId = impl.shardId(): primitives.ShardId
override def shardIteratorTypeValue: ShardIteratorType = ShardIteratorType.wrap(impl.shardIteratorType())
override def sequenceNumberValue: scala.Option[primitives.SequenceNumber] = scala.Option(impl.sequenceNumber()).map(value => value: primitives.SequenceNumber)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest): ReadOnly = new Wrapper(impl)
}
case class GetShardIteratorResponse(shardIterator: scala.Option[primitives.ShardIterator] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse = {
import GetShardIteratorResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse.builder().optionallyWith(shardIterator.map(value => value: java.lang.String))(_.shardIterator).build()
}
}
object GetShardIteratorResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: GetShardIteratorResponse = GetShardIteratorResponse(shardIteratorValue.map(value => value))
def shardIteratorValue: scala.Option[primitives.ShardIterator]
def shardIterator: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardIterator] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("shardIterator", shardIteratorValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse) extends GetShardIteratorResponse.ReadOnly { override def shardIteratorValue: scala.Option[primitives.ShardIterator] = scala.Option(impl.shardIterator()).map(value => value: primitives.ShardIterator) }
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse): ReadOnly = new Wrapper(impl)
}
case class Identity(principalId: scala.Option[String] = None, `type`: scala.Option[String] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.Identity = {
import Identity.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.Identity.builder().optionallyWith(principalId.map(value => value: java.lang.String))(_.principalId).optionallyWith(`type`.map(value => value: java.lang.String))(_.`type`).build()
}
}
object Identity {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.Identity] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: Identity = Identity(principalIdValue.map(value => value), typeValue.map(value => value))
def principalIdValue: scala.Option[String]
def typeValue: scala.Option[String]
def principalId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("principalId", principalIdValue)
def `type`: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("type", typeValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.Identity) extends Identity.ReadOnly {
override def principalIdValue: scala.Option[String] = scala.Option(impl.principalId()).map(value => value: String)
override def typeValue: scala.Option[String] = scala.Option(impl.`type`()).map(value => value: String)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.Identity): ReadOnly = new Wrapper(impl)
}
type KeySchema = List[KeySchemaElement]
case class KeySchemaElement(attributeName: primitives.KeySchemaAttributeName, keyType: KeyType) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.KeySchemaElement = {
import KeySchemaElement.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.KeySchemaElement.builder().attributeName(attributeName: java.lang.String).keyType(keyType.unwrap).build()
}
}
object KeySchemaElement {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.KeySchemaElement] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: KeySchemaElement = KeySchemaElement(attributeNameValue, keyTypeValue)
def attributeNameValue: primitives.KeySchemaAttributeName
def keyTypeValue: KeyType
def attributeName: ZIO[Any, Nothing, primitives.KeySchemaAttributeName] = ZIO.succeed(attributeNameValue)
def keyType: ZIO[Any, Nothing, KeyType] = ZIO.succeed(keyTypeValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.KeySchemaElement) extends KeySchemaElement.ReadOnly {
override def attributeNameValue: primitives.KeySchemaAttributeName = impl.attributeName(): primitives.KeySchemaAttributeName
override def keyTypeValue: KeyType = KeyType.wrap(impl.keyType())
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.KeySchemaElement): ReadOnly = new Wrapper(impl)
}
sealed trait KeyType { def unwrap: software.amazon.awssdk.services.dynamodb.model.KeyType }
object KeyType {
def wrap(value: software.amazon.awssdk.services.dynamodb.model.KeyType): KeyType = value match {
case software.amazon.awssdk.services.dynamodb.model.KeyType.UNKNOWN_TO_SDK_VERSION => unknownToSdkVersion
case software.amazon.awssdk.services.dynamodb.model.KeyType.HASH => HASH
case software.amazon.awssdk.services.dynamodb.model.KeyType.RANGE => RANGE
}
final case object unknownToSdkVersion extends KeyType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.KeyType = software.amazon.awssdk.services.dynamodb.model.KeyType.UNKNOWN_TO_SDK_VERSION }
final case object HASH extends KeyType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.KeyType = software.amazon.awssdk.services.dynamodb.model.KeyType.HASH }
final case object RANGE extends KeyType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.KeyType = software.amazon.awssdk.services.dynamodb.model.KeyType.RANGE }
}
type ListAttributeValue = List[AttributeValue]
case class ListStreamsRequest(tableName: scala.Option[primitives.TableName] = None, limit: scala.Option[primitives.PositiveIntegerObject] = None, exclusiveStartStreamArn: scala.Option[primitives.StreamArn] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest = {
import ListStreamsRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest.builder().optionallyWith(tableName.map(value => value: java.lang.String))(_.tableName).optionallyWith(limit.map(value => value: java.lang.Integer))(_.limit).optionallyWith(exclusiveStartStreamArn.map(value => value: java.lang.String))(_.exclusiveStartStreamArn).build()
}
}
object ListStreamsRequest {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: ListStreamsRequest = ListStreamsRequest(tableNameValue.map(value => value), limitValue.map(value => value), exclusiveStartStreamArnValue.map(value => value))
def tableNameValue: scala.Option[primitives.TableName]
def limitValue: scala.Option[primitives.PositiveIntegerObject]
def exclusiveStartStreamArnValue: scala.Option[primitives.StreamArn]
def tableName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.TableName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tableName", tableNameValue)
def limit: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.PositiveIntegerObject] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("limit", limitValue)
def exclusiveStartStreamArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StreamArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("exclusiveStartStreamArn", exclusiveStartStreamArnValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest) extends ListStreamsRequest.ReadOnly {
override def tableNameValue: scala.Option[primitives.TableName] = scala.Option(impl.tableName()).map(value => value: primitives.TableName)
override def limitValue: scala.Option[primitives.PositiveIntegerObject] = scala.Option(impl.limit()).map(value => value: primitives.PositiveIntegerObject)
override def exclusiveStartStreamArnValue: scala.Option[primitives.StreamArn] = scala.Option(impl.exclusiveStartStreamArn()).map(value => value: primitives.StreamArn)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest): ReadOnly = new Wrapper(impl)
}
case class ListStreamsResponse(streams: scala.Option[Iterable[Stream]] = None, lastEvaluatedStreamArn: scala.Option[primitives.StreamArn] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse = {
import ListStreamsResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse.builder().optionallyWith(streams.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.streams).optionallyWith(lastEvaluatedStreamArn.map(value => value: java.lang.String))(_.lastEvaluatedStreamArn).build()
}
}
object ListStreamsResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: ListStreamsResponse = ListStreamsResponse(streamsValue.map(value => value.map { item =>
item.editable
}), lastEvaluatedStreamArnValue.map(value => value))
def streamsValue: scala.Option[List[Stream.ReadOnly]]
def lastEvaluatedStreamArnValue: scala.Option[primitives.StreamArn]
def streams: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[Stream.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streams", streamsValue)
def lastEvaluatedStreamArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StreamArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("lastEvaluatedStreamArn", lastEvaluatedStreamArnValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse) extends ListStreamsResponse.ReadOnly {
override def streamsValue: scala.Option[List[Stream.ReadOnly]] = scala.Option(impl.streams()).map(value => value.asScala.map { item =>
Stream.wrap(item)
}.toList)
override def lastEvaluatedStreamArnValue: scala.Option[primitives.StreamArn] = scala.Option(impl.lastEvaluatedStreamArn()).map(value => value: primitives.StreamArn)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse): ReadOnly = new Wrapper(impl)
}
type MapAttributeValue = Map[primitives.AttributeName, AttributeValue]
type NumberSetAttributeValue = List[primitives.NumberAttributeValue]
sealed trait OperationType { def unwrap: software.amazon.awssdk.services.dynamodb.model.OperationType }
object OperationType {
def wrap(value: software.amazon.awssdk.services.dynamodb.model.OperationType): OperationType = value match {
case software.amazon.awssdk.services.dynamodb.model.OperationType.UNKNOWN_TO_SDK_VERSION => unknownToSdkVersion
case software.amazon.awssdk.services.dynamodb.model.OperationType.INSERT => INSERT
case software.amazon.awssdk.services.dynamodb.model.OperationType.MODIFY => MODIFY
case software.amazon.awssdk.services.dynamodb.model.OperationType.REMOVE => REMOVE
}
final case object unknownToSdkVersion extends OperationType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.OperationType = software.amazon.awssdk.services.dynamodb.model.OperationType.UNKNOWN_TO_SDK_VERSION }
final case object INSERT extends OperationType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.OperationType = software.amazon.awssdk.services.dynamodb.model.OperationType.INSERT }
final case object MODIFY extends OperationType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.OperationType = software.amazon.awssdk.services.dynamodb.model.OperationType.MODIFY }
final case object REMOVE extends OperationType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.OperationType = software.amazon.awssdk.services.dynamodb.model.OperationType.REMOVE }
}
case class Record(eventID: scala.Option[String] = None, eventName: scala.Option[OperationType] = None, eventVersion: scala.Option[String] = None, eventSource: scala.Option[String] = None, awsRegion: scala.Option[String] = None, dynamodb: scala.Option[StreamRecord] = None, userIdentity: scala.Option[Identity] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.Record = {
import Record.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.Record.builder().optionallyWith(eventID.map(value => value: java.lang.String))(_.eventID).optionallyWith(eventName.map(value => value.unwrap))(_.eventName).optionallyWith(eventVersion.map(value => value: java.lang.String))(_.eventVersion).optionallyWith(eventSource.map(value => value: java.lang.String))(_.eventSource).optionallyWith(awsRegion.map(value => value: java.lang.String))(_.awsRegion).optionallyWith(dynamodb.map(value => value.buildAwsValue()))(_.dynamodb).optionallyWith(userIdentity.map(value => value.buildAwsValue()))(_.userIdentity).build()
}
}
object Record {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.Record] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: Record = Record(eventIDValue.map(value => value), eventNameValue.map(value => value), eventVersionValue.map(value => value), eventSourceValue.map(value => value), awsRegionValue.map(value => value), dynamodbValue.map(value => value.editable), userIdentityValue.map(value => value.editable))
def eventIDValue: scala.Option[String]
def eventNameValue: scala.Option[OperationType]
def eventVersionValue: scala.Option[String]
def eventSourceValue: scala.Option[String]
def awsRegionValue: scala.Option[String]
def dynamodbValue: scala.Option[StreamRecord.ReadOnly]
def userIdentityValue: scala.Option[Identity.ReadOnly]
def eventID: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("eventID", eventIDValue)
def eventName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, OperationType] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("eventName", eventNameValue)
def eventVersion: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("eventVersion", eventVersionValue)
def eventSource: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("eventSource", eventSourceValue)
def awsRegion: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("awsRegion", awsRegionValue)
def dynamodb: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StreamRecord.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("dynamodb", dynamodbValue)
def userIdentity: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Identity.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("userIdentity", userIdentityValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.Record) extends Record.ReadOnly {
override def eventIDValue: scala.Option[String] = scala.Option(impl.eventID()).map(value => value: String)
override def eventNameValue: scala.Option[OperationType] = scala.Option(impl.eventName()).map(value => OperationType.wrap(value))
override def eventVersionValue: scala.Option[String] = scala.Option(impl.eventVersion()).map(value => value: String)
override def eventSourceValue: scala.Option[String] = scala.Option(impl.eventSource()).map(value => value: String)
override def awsRegionValue: scala.Option[String] = scala.Option(impl.awsRegion()).map(value => value: String)
override def dynamodbValue: scala.Option[StreamRecord.ReadOnly] = scala.Option(impl.dynamodb()).map(value => StreamRecord.wrap(value))
override def userIdentityValue: scala.Option[Identity.ReadOnly] = scala.Option(impl.userIdentity()).map(value => Identity.wrap(value))
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.Record): ReadOnly = new Wrapper(impl)
}
type RecordList = List[Record]
case class SequenceNumberRange(startingSequenceNumber: scala.Option[primitives.SequenceNumber] = None, endingSequenceNumber: scala.Option[primitives.SequenceNumber] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.SequenceNumberRange = {
import SequenceNumberRange.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.SequenceNumberRange.builder().optionallyWith(startingSequenceNumber.map(value => value: java.lang.String))(_.startingSequenceNumber).optionallyWith(endingSequenceNumber.map(value => value: java.lang.String))(_.endingSequenceNumber).build()
}
}
object SequenceNumberRange {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.SequenceNumberRange] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: SequenceNumberRange = SequenceNumberRange(startingSequenceNumberValue.map(value => value), endingSequenceNumberValue.map(value => value))
def startingSequenceNumberValue: scala.Option[primitives.SequenceNumber]
def endingSequenceNumberValue: scala.Option[primitives.SequenceNumber]
def startingSequenceNumber: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SequenceNumber] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("startingSequenceNumber", startingSequenceNumberValue)
def endingSequenceNumber: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SequenceNumber] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("endingSequenceNumber", endingSequenceNumberValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.SequenceNumberRange) extends SequenceNumberRange.ReadOnly {
override def startingSequenceNumberValue: scala.Option[primitives.SequenceNumber] = scala.Option(impl.startingSequenceNumber()).map(value => value: primitives.SequenceNumber)
override def endingSequenceNumberValue: scala.Option[primitives.SequenceNumber] = scala.Option(impl.endingSequenceNumber()).map(value => value: primitives.SequenceNumber)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.SequenceNumberRange): ReadOnly = new Wrapper(impl)
}
case class Shard(shardId: scala.Option[primitives.ShardId] = None, sequenceNumberRange: scala.Option[SequenceNumberRange] = None, parentShardId: scala.Option[primitives.ShardId] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.Shard = {
import Shard.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.Shard.builder().optionallyWith(shardId.map(value => value: java.lang.String))(_.shardId).optionallyWith(sequenceNumberRange.map(value => value.buildAwsValue()))(_.sequenceNumberRange).optionallyWith(parentShardId.map(value => value: java.lang.String))(_.parentShardId).build()
}
}
object Shard {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.Shard] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: Shard = Shard(shardIdValue.map(value => value), sequenceNumberRangeValue.map(value => value.editable), parentShardIdValue.map(value => value))
def shardIdValue: scala.Option[primitives.ShardId]
def sequenceNumberRangeValue: scala.Option[SequenceNumberRange.ReadOnly]
def parentShardIdValue: scala.Option[primitives.ShardId]
def shardId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("shardId", shardIdValue)
def sequenceNumberRange: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, SequenceNumberRange.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sequenceNumberRange", sequenceNumberRangeValue)
def parentShardId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("parentShardId", parentShardIdValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.Shard) extends Shard.ReadOnly {
override def shardIdValue: scala.Option[primitives.ShardId] = scala.Option(impl.shardId()).map(value => value: primitives.ShardId)
override def sequenceNumberRangeValue: scala.Option[SequenceNumberRange.ReadOnly] = scala.Option(impl.sequenceNumberRange()).map(value => SequenceNumberRange.wrap(value))
override def parentShardIdValue: scala.Option[primitives.ShardId] = scala.Option(impl.parentShardId()).map(value => value: primitives.ShardId)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.Shard): ReadOnly = new Wrapper(impl)
}
type ShardDescriptionList = List[Shard]
sealed trait ShardIteratorType { def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType }
object ShardIteratorType {
def wrap(value: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType): ShardIteratorType = value match {
case software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.UNKNOWN_TO_SDK_VERSION => unknownToSdkVersion
case software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.TRIM_HORIZON => TRIM_HORIZON
case software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.LATEST => LATEST
case software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.AT_SEQUENCE_NUMBER => AT_SEQUENCE_NUMBER
case software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.AFTER_SEQUENCE_NUMBER => AFTER_SEQUENCE_NUMBER
}
final case object unknownToSdkVersion extends ShardIteratorType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType = software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.UNKNOWN_TO_SDK_VERSION }
final case object TRIM_HORIZON extends ShardIteratorType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType = software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.TRIM_HORIZON }
final case object LATEST extends ShardIteratorType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType = software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.LATEST }
final case object AT_SEQUENCE_NUMBER extends ShardIteratorType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType = software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.AT_SEQUENCE_NUMBER }
final case object AFTER_SEQUENCE_NUMBER extends ShardIteratorType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.ShardIteratorType = software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.AFTER_SEQUENCE_NUMBER }
}
case class Stream(streamArn: scala.Option[primitives.StreamArn] = None, tableName: scala.Option[primitives.TableName] = None, streamLabel: scala.Option[String] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.Stream = {
import Stream.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.Stream.builder().optionallyWith(streamArn.map(value => value: java.lang.String))(_.streamArn).optionallyWith(tableName.map(value => value: java.lang.String))(_.tableName).optionallyWith(streamLabel.map(value => value: java.lang.String))(_.streamLabel).build()
}
}
object Stream {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.Stream] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: Stream = Stream(streamArnValue.map(value => value), tableNameValue.map(value => value), streamLabelValue.map(value => value))
def streamArnValue: scala.Option[primitives.StreamArn]
def tableNameValue: scala.Option[primitives.TableName]
def streamLabelValue: scala.Option[String]
def streamArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StreamArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamArn", streamArnValue)
def tableName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.TableName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tableName", tableNameValue)
def streamLabel: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamLabel", streamLabelValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.Stream) extends Stream.ReadOnly {
override def streamArnValue: scala.Option[primitives.StreamArn] = scala.Option(impl.streamArn()).map(value => value: primitives.StreamArn)
override def tableNameValue: scala.Option[primitives.TableName] = scala.Option(impl.tableName()).map(value => value: primitives.TableName)
override def streamLabelValue: scala.Option[String] = scala.Option(impl.streamLabel()).map(value => value: String)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.Stream): ReadOnly = new Wrapper(impl)
}
case class StreamDescription(streamArn: scala.Option[primitives.StreamArn] = None, streamLabel: scala.Option[String] = None, streamStatus: scala.Option[StreamStatus] = None, streamViewType: scala.Option[StreamViewType] = None, creationRequestDateTime: scala.Option[primitives.Date] = None, tableName: scala.Option[primitives.TableName] = None, keySchema: scala.Option[Iterable[KeySchemaElement]] = None, shards: scala.Option[Iterable[Shard]] = None, lastEvaluatedShardId: scala.Option[primitives.ShardId] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.StreamDescription = {
import StreamDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.StreamDescription.builder().optionallyWith(streamArn.map(value => value: java.lang.String))(_.streamArn).optionallyWith(streamLabel.map(value => value: java.lang.String))(_.streamLabel).optionallyWith(streamStatus.map(value => value.unwrap))(_.streamStatus).optionallyWith(streamViewType.map(value => value.unwrap))(_.streamViewType).optionallyWith(creationRequestDateTime.map(value => value: java.time.Instant))(_.creationRequestDateTime).optionallyWith(tableName.map(value => value: java.lang.String))(_.tableName).optionallyWith(keySchema.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.keySchema).optionallyWith(shards.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.shards).optionallyWith(lastEvaluatedShardId.map(value => value: java.lang.String))(_.lastEvaluatedShardId).build()
}
}
object StreamDescription {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.StreamDescription] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: StreamDescription = StreamDescription(streamArnValue.map(value => value), streamLabelValue.map(value => value), streamStatusValue.map(value => value), streamViewTypeValue.map(value => value), creationRequestDateTimeValue.map(value => value), tableNameValue.map(value => value), keySchemaValue.map(value => value.map { item =>
item.editable
}), shardsValue.map(value => value.map { item =>
item.editable
}), lastEvaluatedShardIdValue.map(value => value))
def streamArnValue: scala.Option[primitives.StreamArn]
def streamLabelValue: scala.Option[String]
def streamStatusValue: scala.Option[StreamStatus]
def streamViewTypeValue: scala.Option[StreamViewType]
def creationRequestDateTimeValue: scala.Option[primitives.Date]
def tableNameValue: scala.Option[primitives.TableName]
def keySchemaValue: scala.Option[List[KeySchemaElement.ReadOnly]]
def shardsValue: scala.Option[List[Shard.ReadOnly]]
def lastEvaluatedShardIdValue: scala.Option[primitives.ShardId]
def streamArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StreamArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamArn", streamArnValue)
def streamLabel: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamLabel", streamLabelValue)
def streamStatus: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StreamStatus] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamStatus", streamStatusValue)
def streamViewType: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StreamViewType] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamViewType", streamViewTypeValue)
def creationRequestDateTime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Date] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("creationRequestDateTime", creationRequestDateTimeValue)
def tableName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.TableName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tableName", tableNameValue)
def keySchema: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[KeySchemaElement.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("keySchema", keySchemaValue)
def shards: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[Shard.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("shards", shardsValue)
def lastEvaluatedShardId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ShardId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("lastEvaluatedShardId", lastEvaluatedShardIdValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.StreamDescription) extends StreamDescription.ReadOnly {
override def streamArnValue: scala.Option[primitives.StreamArn] = scala.Option(impl.streamArn()).map(value => value: primitives.StreamArn)
override def streamLabelValue: scala.Option[String] = scala.Option(impl.streamLabel()).map(value => value: String)
override def streamStatusValue: scala.Option[StreamStatus] = scala.Option(impl.streamStatus()).map(value => StreamStatus.wrap(value))
override def streamViewTypeValue: scala.Option[StreamViewType] = scala.Option(impl.streamViewType()).map(value => StreamViewType.wrap(value))
override def creationRequestDateTimeValue: scala.Option[primitives.Date] = scala.Option(impl.creationRequestDateTime()).map(value => value: primitives.Date)
override def tableNameValue: scala.Option[primitives.TableName] = scala.Option(impl.tableName()).map(value => value: primitives.TableName)
override def keySchemaValue: scala.Option[List[KeySchemaElement.ReadOnly]] = scala.Option(impl.keySchema()).map(value => value.asScala.map { item =>
KeySchemaElement.wrap(item)
}.toList)
override def shardsValue: scala.Option[List[Shard.ReadOnly]] = scala.Option(impl.shards()).map(value => value.asScala.map { item =>
Shard.wrap(item)
}.toList)
override def lastEvaluatedShardIdValue: scala.Option[primitives.ShardId] = scala.Option(impl.lastEvaluatedShardId()).map(value => value: primitives.ShardId)
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.StreamDescription): ReadOnly = new Wrapper(impl)
}
type StreamList = List[Stream]
case class StreamRecord(approximateCreationDateTime: scala.Option[primitives.Date] = None, keys: scala.Option[Map[primitives.AttributeName, AttributeValue]] = None, newImage: scala.Option[Map[primitives.AttributeName, AttributeValue]] = None, oldImage: scala.Option[Map[primitives.AttributeName, AttributeValue]] = None, sequenceNumber: scala.Option[primitives.SequenceNumber] = None, sizeBytes: scala.Option[primitives.PositiveLongObject] = None, streamViewType: scala.Option[StreamViewType] = None) {
def buildAwsValue(): software.amazon.awssdk.services.dynamodb.model.StreamRecord = {
import StreamRecord.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.dynamodb.model.StreamRecord.builder().optionallyWith(approximateCreationDateTime.map(value => value: java.time.Instant))(_.approximateCreationDateTime).optionallyWith(keys.map(value => value.map({
case (key, value) =>
(key: java.lang.String) -> value.buildAwsValue()
}).asJava))(_.keys).optionallyWith(newImage.map(value => value.map({
case (key, value) =>
(key: java.lang.String) -> value.buildAwsValue()
}).asJava))(_.newImage).optionallyWith(oldImage.map(value => value.map({
case (key, value) =>
(key: java.lang.String) -> value.buildAwsValue()
}).asJava))(_.oldImage).optionallyWith(sequenceNumber.map(value => value: java.lang.String))(_.sequenceNumber).optionallyWith(sizeBytes.map(value => value: java.lang.Long))(_.sizeBytes).optionallyWith(streamViewType.map(value => value.unwrap))(_.streamViewType).build()
}
}
object StreamRecord {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.dynamodb.model.StreamRecord] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: StreamRecord = StreamRecord(approximateCreationDateTimeValue.map(value => value), keysValue.map(value => value.map({
case (key, value) =>
key -> value.editable
})), newImageValue.map(value => value.map({
case (key, value) =>
key -> value.editable
})), oldImageValue.map(value => value.map({
case (key, value) =>
key -> value.editable
})), sequenceNumberValue.map(value => value), sizeBytesValue.map(value => value), streamViewTypeValue.map(value => value))
def approximateCreationDateTimeValue: scala.Option[primitives.Date]
def keysValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]]
def newImageValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]]
def oldImageValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]]
def sequenceNumberValue: scala.Option[primitives.SequenceNumber]
def sizeBytesValue: scala.Option[primitives.PositiveLongObject]
def streamViewTypeValue: scala.Option[StreamViewType]
def approximateCreationDateTime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Date] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("approximateCreationDateTime", approximateCreationDateTimeValue)
def keys: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Map[primitives.AttributeName, AttributeValue.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("keys", keysValue)
def newImage: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Map[primitives.AttributeName, AttributeValue.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("newImage", newImageValue)
def oldImage: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Map[primitives.AttributeName, AttributeValue.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("oldImage", oldImageValue)
def sequenceNumber: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SequenceNumber] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sequenceNumber", sequenceNumberValue)
def sizeBytes: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.PositiveLongObject] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sizeBytes", sizeBytesValue)
def streamViewType: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StreamViewType] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("streamViewType", streamViewTypeValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.dynamodb.model.StreamRecord) extends StreamRecord.ReadOnly {
override def approximateCreationDateTimeValue: scala.Option[primitives.Date] = scala.Option(impl.approximateCreationDateTime()).map(value => value: primitives.Date)
override def keysValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]] = scala.Option(impl.keys()).map(value => value.asScala.map({
case (key, value) =>
(key: primitives.AttributeName) -> AttributeValue.wrap(value)
}).toMap)
override def newImageValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]] = scala.Option(impl.newImage()).map(value => value.asScala.map({
case (key, value) =>
(key: primitives.AttributeName) -> AttributeValue.wrap(value)
}).toMap)
override def oldImageValue: scala.Option[Map[primitives.AttributeName, AttributeValue.ReadOnly]] = scala.Option(impl.oldImage()).map(value => value.asScala.map({
case (key, value) =>
(key: primitives.AttributeName) -> AttributeValue.wrap(value)
}).toMap)
override def sequenceNumberValue: scala.Option[primitives.SequenceNumber] = scala.Option(impl.sequenceNumber()).map(value => value: primitives.SequenceNumber)
override def sizeBytesValue: scala.Option[primitives.PositiveLongObject] = scala.Option(impl.sizeBytes()).map(value => value: primitives.PositiveLongObject)
override def streamViewTypeValue: scala.Option[StreamViewType] = scala.Option(impl.streamViewType()).map(value => StreamViewType.wrap(value))
}
def wrap(impl: software.amazon.awssdk.services.dynamodb.model.StreamRecord): ReadOnly = new Wrapper(impl)
}
sealed trait StreamStatus { def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus }
object StreamStatus {
def wrap(value: software.amazon.awssdk.services.dynamodb.model.StreamStatus): StreamStatus = value match {
case software.amazon.awssdk.services.dynamodb.model.StreamStatus.UNKNOWN_TO_SDK_VERSION => unknownToSdkVersion
case software.amazon.awssdk.services.dynamodb.model.StreamStatus.ENABLING => ENABLING
case software.amazon.awssdk.services.dynamodb.model.StreamStatus.ENABLED => ENABLED
case software.amazon.awssdk.services.dynamodb.model.StreamStatus.DISABLING => DISABLING
case software.amazon.awssdk.services.dynamodb.model.StreamStatus.DISABLED => DISABLED
}
final case object unknownToSdkVersion extends StreamStatus { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus = software.amazon.awssdk.services.dynamodb.model.StreamStatus.UNKNOWN_TO_SDK_VERSION }
final case object ENABLING extends StreamStatus { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus = software.amazon.awssdk.services.dynamodb.model.StreamStatus.ENABLING }
final case object ENABLED extends StreamStatus { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus = software.amazon.awssdk.services.dynamodb.model.StreamStatus.ENABLED }
final case object DISABLING extends StreamStatus { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus = software.amazon.awssdk.services.dynamodb.model.StreamStatus.DISABLING }
final case object DISABLED extends StreamStatus { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamStatus = software.amazon.awssdk.services.dynamodb.model.StreamStatus.DISABLED }
}
sealed trait StreamViewType { def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType }
object StreamViewType {
def wrap(value: software.amazon.awssdk.services.dynamodb.model.StreamViewType): StreamViewType = value match {
case software.amazon.awssdk.services.dynamodb.model.StreamViewType.UNKNOWN_TO_SDK_VERSION => unknownToSdkVersion
case software.amazon.awssdk.services.dynamodb.model.StreamViewType.NEW_IMAGE => NEW_IMAGE
case software.amazon.awssdk.services.dynamodb.model.StreamViewType.OLD_IMAGE => OLD_IMAGE
case software.amazon.awssdk.services.dynamodb.model.StreamViewType.NEW_AND_OLD_IMAGES => NEW_AND_OLD_IMAGES
case software.amazon.awssdk.services.dynamodb.model.StreamViewType.KEYS_ONLY => KEYS_ONLY
}
final case object unknownToSdkVersion extends StreamViewType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType = software.amazon.awssdk.services.dynamodb.model.StreamViewType.UNKNOWN_TO_SDK_VERSION }
final case object NEW_IMAGE extends StreamViewType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType = software.amazon.awssdk.services.dynamodb.model.StreamViewType.NEW_IMAGE }
final case object OLD_IMAGE extends StreamViewType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType = software.amazon.awssdk.services.dynamodb.model.StreamViewType.OLD_IMAGE }
final case object NEW_AND_OLD_IMAGES extends StreamViewType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType = software.amazon.awssdk.services.dynamodb.model.StreamViewType.NEW_AND_OLD_IMAGES }
final case object KEYS_ONLY extends StreamViewType { override def unwrap: software.amazon.awssdk.services.dynamodb.model.StreamViewType = software.amazon.awssdk.services.dynamodb.model.StreamViewType.KEYS_ONLY }
}
type StringSetAttributeValue = List[primitives.StringAttributeValue]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy