Skip to main content

Documentation for the avro-schema Generator

METADATA

PropertyValueNotes
generator nameavro-schemapass this to the generate command after -g
generator stabilityBETA
generator typeSCHEMA
generator languageJava
generator default templating enginemustache
helpTxtGenerates a Avro model (beta).

CONFIG OPTIONS

These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.

OptionDescriptionValuesDefault
allowUnicodeIdentifiersboolean, toggles whether unicode identifiers are allowed in names or not, default is falsefalse
disallowAdditionalPropertiesIfNotPresentIf false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
false
The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
true
Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
true
ensureUniqueParamsWhether to ensure parameter names are unique in an operation (rename parameters that are not).true
enumUnknownDefaultCaseIf the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.
false
No changes to the enum's are made, this is the default option.
true
With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.
false
legacyDiscriminatorBehaviorSet to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).
true
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
false
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
true
logicalTypeTimeQuantifierThe quantifier for time-related logical types (timestamp and local-timestamp).
nanos
nanoseconds
micros
microseconds
millis
milliseconds
millis
packageNamepackage for generated classes (where supported)null
prependFormOrBodyParametersAdd form or body parameters to the beginning of the parameter list.false
sortModelPropertiesByRequiredFlagSort model properties to place required parameters before optional parameters.true
sortParamsByRequiredFlagSort method arguments to place required parameters before optional parameters.true
useLogicalTypesUse logical types for fields, when matching OpenAPI types. Currently supported: date-time, date.false

IMPORT MAPPING

Type/AliasImports

INSTANTIATION TYPES

Type/AliasInstantiated By
arrayArray
listArray
mapObject

LANGUAGE PRIMITIVES

  • BigDecimal
  • DateTime
  • UUID
  • boolean
  • bytes
  • date
  • double
  • float
  • int
  • integer
  • long
  • null
  • number
  • string

RESERVED WORDS

    FEATURE SET

    Client Modification Feature

    NameSupportedDefined By
    BasePathToolingExtension
    AuthorizationsToolingExtension
    UserAgentToolingExtension
    MockServerToolingExtension

    Data Type Feature

    NameSupportedDefined By
    CustomOAS2,OAS3
    Int32OAS2,OAS3
    Int64OAS2,OAS3
    FloatOAS2,OAS3
    DoubleOAS2,OAS3
    DecimalToolingExtension
    StringOAS2,OAS3
    ByteOAS2,OAS3
    BinaryOAS2,OAS3
    BooleanOAS2,OAS3
    DateOAS2,OAS3
    DateTimeOAS2,OAS3
    PasswordOAS2,OAS3
    FileOAS2
    Uuid
    ArrayOAS2,OAS3
    NullOAS3
    AnyTypeOAS2,OAS3
    ObjectOAS2,OAS3
    MapsToolingExtension
    CollectionFormatOAS2
    CollectionFormatMultiOAS2
    EnumOAS2,OAS3
    ArrayOfEnumToolingExtension
    ArrayOfModelToolingExtension
    ArrayOfCollectionOfPrimitivesToolingExtension
    ArrayOfCollectionOfModelToolingExtension
    ArrayOfCollectionOfEnumToolingExtension
    MapOfEnumToolingExtension
    MapOfModelToolingExtension
    MapOfCollectionOfPrimitivesToolingExtension
    MapOfCollectionOfModelToolingExtension
    MapOfCollectionOfEnumToolingExtension

    Documentation Feature

    NameSupportedDefined By
    ReadmeToolingExtension
    ModelToolingExtension
    ApiToolingExtension

    Global Feature

    NameSupportedDefined By
    HostOAS2,OAS3
    BasePathOAS2,OAS3
    InfoOAS2,OAS3
    SchemesOAS2,OAS3
    PartialSchemesOAS2,OAS3
    ConsumesOAS2
    ProducesOAS2
    ExternalDocumentationOAS2,OAS3
    ExamplesOAS2,OAS3
    XMLStructureDefinitionsOAS2,OAS3
    MultiServerOAS3
    ParameterizedServerOAS3
    ParameterStylingOAS3
    CallbacksOAS3
    LinkObjectsOAS3

    Parameter Feature

    NameSupportedDefined By
    PathOAS2,OAS3
    QueryOAS2,OAS3
    HeaderOAS2,OAS3
    BodyOAS2
    FormUnencodedOAS2
    FormMultipartOAS2
    CookieOAS3

    Schema Support Feature

    NameSupportedDefined By
    SimpleOAS2,OAS3
    CompositeOAS2,OAS3
    PolymorphismOAS2,OAS3
    UnionOAS3
    allOfOAS2,OAS3
    anyOfOAS3
    oneOfOAS3
    notOAS3

    Security Feature

    NameSupportedDefined By
    BasicAuthOAS2,OAS3
    ApiKeyOAS2,OAS3
    OpenIDConnectOAS3
    BearerTokenOAS3
    OAuth2_ImplicitOAS2,OAS3
    OAuth2_PasswordOAS2,OAS3
    OAuth2_ClientCredentialsOAS2,OAS3
    OAuth2_AuthorizationCodeOAS2,OAS3
    SignatureAuthOAS3
    AWSV4SignatureToolingExtension

    Wire Format Feature

    NameSupportedDefined By
    JSONOAS2,OAS3
    XMLOAS2,OAS3
    PROTOBUFToolingExtension
    CustomOAS2,OAS3