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

smithy.api.Streaming.scala Maven / Gradle / Ivy

There is a newer version: 0.19.0-41-91762fb
Show newest version
package smithy.api

import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.schema.Schema.constant

/** Indicates that the data stored in the shape is very large and should not
  * be stored in memory, or that the size of the data stored in the shape is
  * unknown at the start of a request. If the target is a union then the shape
  * represents a stream of events.
  */
final case class Streaming()

object Streaming extends ShapeTag.Companion[Streaming] {
  val id: ShapeId = ShapeId("smithy.api", "streaming")

  val hints: Hints = Hints(
    smithy.api.Documentation("Indicates that the data stored in the shape is very large and should not\nbe stored in memory, or that the size of the data stored in the shape is\nunknown at the start of a request. If the target is a union then the shape\nrepresents a stream of events."),
    smithy.api.Trait(selector = Some(":is(blob, union)"), structurallyExclusive = Some(smithy.api.StructurallyExclusive.TARGET.widen), conflicts = None, breakingChanges = Some(List(smithy.api.TraitDiffRule(change = smithy.api.TraitChangeType.ANY.widen, severity = smithy.api.Severity.ERROR.widen, path = None, message = None)))),
  ).lazily


  implicit val schema: Schema[Streaming] = constant(Streaming()).withId(id).addHints(hints)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy