title
Documentation for the protobuf-schema Generator
Property
Value
Notes
generator name
protobuf-schema
pass this to the generate command after -g
generator stability
BETA
generator type
SCHEMA
generator language
Protocol Buffers (Protobuf)
generator default templating engine
mustache
helpTxt
Generates gRPC and protocol buffer schema files (beta)
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
Option
Description
Values
Default
addJsonNameAnnotation
Append "json_name" annotation to message field when the specification name differs from the protobuf field name
false
aggregateModelsName
Aggregated model filename. If set, all generated models will be combined into this single file.
null
customOptionsApi
Custom options for the api files.
null
customOptionsModel
Custom options for the model files.
null
numberedFieldNumberList
Field numbers in order.
false
startEnumsWithUnspecified
Introduces "UNSPECIFIED" as the first element of enumerations.
false
supportMultipleResponses
Support multiple responses
true
useSimplifiedEnumNames
Use a simple name for enums
false
wrapComplexType
Generate Additional message for complex type
true
Type/Alias
Instantiated By
array
repeat
set
repeat
array
bool
bytes
double
fixed32
fixed64
float
int32
int64
map
set
sfixed32
sfixed64
sint32
sint64
string
uint32
uint64
Client Modification Feature
Name
Supported
Defined By
BasePath
✗
ToolingExtension
Authorizations
✗
ToolingExtension
UserAgent
✗
ToolingExtension
MockServer
✗
ToolingExtension
Name
Supported
Defined By
Custom
✗
OAS2,OAS3
Int32
✓
OAS2,OAS3
Int64
✓
OAS2,OAS3
Float
✓
OAS2,OAS3
Double
✓
OAS2,OAS3
Decimal
✓
ToolingExtension
String
✓
OAS2,OAS3
Byte
✓
OAS2,OAS3
Binary
✓
OAS2,OAS3
Boolean
✓
OAS2,OAS3
Date
✓
OAS2,OAS3
DateTime
✓
OAS2,OAS3
Password
✓
OAS2,OAS3
File
✓
OAS2
Uuid
✗
Array
✓
OAS2,OAS3
Null
✗
OAS3
AnyType
✗
OAS2,OAS3
Object
✓
OAS2,OAS3
Maps
✓
ToolingExtension
CollectionFormat
✓
OAS2
CollectionFormatMulti
✓
OAS2
Enum
✓
OAS2,OAS3
ArrayOfEnum
✓
ToolingExtension
ArrayOfModel
✓
ToolingExtension
ArrayOfCollectionOfPrimitives
✓
ToolingExtension
ArrayOfCollectionOfModel
✓
ToolingExtension
ArrayOfCollectionOfEnum
✓
ToolingExtension
MapOfEnum
✓
ToolingExtension
MapOfModel
✓
ToolingExtension
MapOfCollectionOfPrimitives
✓
ToolingExtension
MapOfCollectionOfModel
✓
ToolingExtension
MapOfCollectionOfEnum
✓
ToolingExtension
Name
Supported
Defined By
Readme
✓
ToolingExtension
Model
✓
ToolingExtension
Api
✓
ToolingExtension
Name
Supported
Defined By
Host
✓
OAS2,OAS3
BasePath
✓
OAS2,OAS3
Info
✓
OAS2,OAS3
Schemes
✗
OAS2,OAS3
PartialSchemes
✓
OAS2,OAS3
Consumes
✓
OAS2
Produces
✓
OAS2
ExternalDocumentation
✓
OAS2,OAS3
Examples
✓
OAS2,OAS3
XMLStructureDefinitions
✗
OAS2,OAS3
MultiServer
✗
OAS3
ParameterizedServer
✗
OAS3
ParameterStyling
✗
OAS3
Callbacks
✓
OAS3
LinkObjects
✗
OAS3
Name
Supported
Defined By
Path
✓
OAS2,OAS3
Query
✓
OAS2,OAS3
Header
✓
OAS2,OAS3
Body
✓
OAS2
FormUnencoded
✓
OAS2
FormMultipart
✓
OAS2
Cookie
✓
OAS3
Name
Supported
Defined By
Simple
✓
OAS2,OAS3
Composite
✓
OAS2,OAS3
Polymorphism
✓
OAS2,OAS3
Union
✗
OAS3
allOf
✗
OAS2,OAS3
anyOf
✗
OAS3
oneOf
✗
OAS3
not
✗
OAS3
Name
Supported
Defined By
BasicAuth
✗
OAS2,OAS3
ApiKey
✗
OAS2,OAS3
OpenIDConnect
✗
OAS3
BearerToken
✗
OAS3
OAuth2_Implicit
✗
OAS2,OAS3
OAuth2_Password
✗
OAS2,OAS3
OAuth2_ClientCredentials
✗
OAS2,OAS3
OAuth2_AuthorizationCode
✗
OAS2,OAS3
SignatureAuth
✗
OAS3
AWSV4Signature
✗
ToolingExtension
Name
Supported
Defined By
JSON
✗
OAS2,OAS3
XML
✗
OAS2,OAS3
PROTOBUF
✓
ToolingExtension
Custom
✗
OAS2,OAS3