smithy.api.Streaming.scala Maven / Gradle / Ivy
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)
}