smithy4s.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_sjs1_3 Show documentation
Show all versions of kinesis4cats-smithy4s-client_sjs1_3 Show documentation
Cats tooling for the Smithy4s Kinesis Client
The newest version!
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))
}