scala.smithy.rules.EndpointRuleSet.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kinesis4cats-smithy4s-client_3 Show documentation
Show all versions of kinesis4cats-smithy4s-client_3 Show documentation
Cats tooling for the Smithy4s Kinesis Client
package smithy.rules
import smithy4s.Document
import smithy4s.Hints
import smithy4s.Newtype
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.schema.Schema.bijection
import smithy4s.schema.Schema.document
import smithy4s.schema.Schema.recursive
/** Defines an endpoint rule-set used to resolve the client's transport endpoint. */
object EndpointRuleSet extends Newtype[Document] {
val id: ShapeId = ShapeId("smithy.rules", "endpointRuleSet")
val hints: Hints = Hints(
smithy.api.Documentation("Defines an endpoint rule-set used to resolve the client\'s transport endpoint."),
smithy.api.Unstable(),
smithy.api.Trait(selector = Some("service"), structurallyExclusive = None, conflicts = None, breakingChanges = None),
).lazily
val underlyingSchema: Schema[Document] = document.withId(id).addHints(hints)
implicit val schema: Schema[EndpointRuleSet] = recursive(bijection(underlyingSchema, asBijection))
}