smithy.api.ClientOptional.scala Maven / Gradle / Ivy
package smithy.api
import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.schema.Schema.constant
/** Requires that non-authoritative generators like clients treat a structure
* member as nullable regardless of if the member is also marked with the
* required trait.
*/
final case class ClientOptional()
object ClientOptional extends ShapeTag.Companion[ClientOptional] {
val id: ShapeId = ShapeId("smithy.api", "clientOptional")
val hints: Hints = Hints(
smithy.api.Documentation("Requires that non-authoritative generators like clients treat a structure\nmember as nullable regardless of if the member is also marked with the\nrequired trait."),
smithy.api.Trait(selector = Some("structure > member"), structurallyExclusive = None, conflicts = None, breakingChanges = None),
).lazily
implicit val schema: Schema[ClientOptional] = constant(ClientOptional()).withId(id).addHints(hints)
}