SmithyConfig

zio.http.gen.smithy.SmithyConfig
See theSmithyConfig companion object
final case class SmithyConfig(fieldNamesNormalization: NormalizeFields, validateBeforeGeneration: Boolean, generateCompanionObjects: Boolean, unwrapSingleMemberInputs: Boolean, generateEndpointsObject: Boolean, endpointsObjectName: String, includeDocumentation: Boolean, typeMapping: Map[String, String])

Configuration for Smithy code generation.

Value parameters

endpointsObjectName

Name of the generated endpoints object (default: "Endpoints").

fieldNamesNormalization

Controls normalization of field names from Smithy conventions (e.g., snake_case) to Scala conventions (camelCase). Original names are preserved via @fieldName annotations. Enabled by default.

generateCompanionObjects

If true, generates companion objects with Schema derivation for all case classes.

generateEndpointsObject

If true, generates a single Endpoints object containing all endpoint definitions. If false, generates separate files per operation.

includeDocumentation

If true, includes Smithy @documentation traits as Scaladoc comments in the generated code.

typeMapping

Custom mapping of Smithy shape names to Scala types. Allows overriding default type mappings for specific shapes. e.g., Map("UserId" -> "java.util.UUID")

unwrapSingleMemberInputs

If true, operations with single-member input structures will use the member type directly instead of the wrapper. e.g., GetUserInput { userId: String } -> endpoint takes String

validateBeforeGeneration

If true, validates the Smithy model before generating code. Validation errors will cause generation to fail with detailed messages.

Attributes

Companion
object
Source
SmithyConfig.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product