Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FieldNameMode ¶
type FieldNameMode uint8
const ( FieldNameModeJSON FieldNameMode = iota FieldNameModeProto )
func (*FieldNameMode) Set ¶
func (f *FieldNameMode) Set(value string) error
func (FieldNameMode) String ¶
func (f FieldNameMode) String() string
type FieldNullableMode ¶
type FieldNullableMode uint8
const ( FieldNullableModeDisabled FieldNullableMode = iota FieldNullableModeOptionalLabel FieldNullableModeNonRequired )
func (*FieldNullableMode) Set ¶
func (f *FieldNullableMode) Set(value string) error
func (FieldNullableMode) String ¶
func (f FieldNullableMode) String() string
type FieldRequiredMode ¶
type FieldRequiredMode uint8
const ( FieldRequiredModeDisabled FieldRequiredMode = iota FieldRequiredModeRequireNonOptional FieldRequiredModeRequireNonOptionalScalar )
func (*FieldRequiredMode) Set ¶
func (f *FieldRequiredMode) Set(value string) error
func (FieldRequiredMode) String ¶
func (f FieldRequiredMode) String() string
type Generator ¶
type Generator struct {
Options
// contains filtered or unexported fields
}
func (*Generator) Generate ¶
func (g *Generator) Generate(targets []*descriptor.File) ([]*descriptor.ResponseFile, error)
func (*Generator) LookupFile ¶
func (g *Generator) LookupFile(file *descriptor.File) internal.OpenAPIDocument
type OperationIDMode ¶
type OperationIDMode uint8
const ( OperationIDModeFQN OperationIDMode = iota OperationIDModeServiceAndMethod OperationIDModeMethod )
func (*OperationIDMode) Set ¶
func (o *OperationIDMode) Set(value string) error
func (OperationIDMode) String ¶
func (o OperationIDMode) String() string
type Options ¶
type Options struct {
// RepeatedPathParameterSeparator determines how repeated fields should be split when used in path segments.
RepeatedPathParameterSeparator descriptor.PathParameterSeparator
// AllowPatchFeature determines whether to use PATCH feature involving update masks
// (using using google.protobuf.FieldMask).
AllowPatchFeature bool
// IncludeServicesOnly generates OpenAPI output only for bound service endpoints and will omit all unused models.
IncludeServicesOnly bool
// OutputMode indicates the mode of OpenAPI output generation, to merge all definitions into one file, per service or
// per proto file.
OutputMode OutputMode
// OperationIDMode determines the mode of operation IDs that get generated.
OperationIDMode OperationIDMode
// OutputFileName is the OpenAPI output file name after merging all files.
// Only applicable when output mode is "merge".
OutputFileName string
// OutputFormat is the resulting OpenAPI format.
OutputFormat OutputFormat
// FieldNameMode determines what naming convention the fields in the OpenAPI schemas get.
FieldNameMode FieldNameMode
// IncludePackageInTags includes the fully qualified service name (FQSN) in the tags of each operation.
IncludePackageInTags bool
// DisableServiceTags disables generation of service tags in OpenAPI, useful to avoid exposing gRPC services.
DisableServiceTags bool
// SchemaNamingStrategy holds the naming strategy for schema names in generated OpenAPI output.
SchemaNamingStrategy SchemaNamingStrategy
// UseGoTemplate allows using templates for summary, description, tags and links.
//
// TODO: include a link to the context avaialble for the evaluation.
UseGoTemplate bool
// GoTemplateArgs are additional template args that can be set. GoTemplate must be enabled in order to utilize this.
GoTemplateArgs TemplateArgs
// If set to true, proto doc strings get ignored.
IgnoreComments bool
// If set to true, all comment lines that start with (-- and end with --) get excluded.
RemoveInternalComments bool
// If set to true, the default error response does not get added to the responses.
DisableDefaultErrors bool
// If set to true, the default 200 successful response does not get added to the responses.
DisableDefaultResponses bool
// UseEnumNumbers uses numerical value of enums instead of strings.
UseEnumNumbers bool
// GlobalOpenAPIConfigFile points to the file that can be used to define global OpenAPI config file.
GlobalOpenAPIConfigFile string
// ConfigSearchPath holds the search path to use for looking up OpenAPI configs.
ConfigSearchPath string
// LocalPackageMode limits the config files to only targetting objects from their own proto package.
LocalPackageMode bool
// OpenAPIConfigFilePattern holds the file pattern for loading OpenAPI config files.
//
// This pattern must not include the extension and the priority is yaml, yml and finally json.
OpenAPIConfigFilePattern string
// OpenAPISeedFile holds an OpenAPI file in YAML/JSON format that will be used as a seed that will be merged
// with the generated OpenAPI files.
OpenAPISeedFile string
// OmitEnumDefaultValue omits the default/unknown enum value.
OmitEnumDefaultValue bool
// VisibilitySelectors are a list of visibility selectors.
VisibilitySelectors SelectorMap
// MergeWithOverwrite will overwrite lists instead of appending.
MergeWithOverwrite bool
// OmitEmptyFiles avoids writing OpenAPI document files if the file does not contain at least one model or path.
OmitEmptyFiles bool
// FieldNullableMode configures the generation of nullable fields in the OpenAPI schemas.
FieldNullableMode FieldNullableMode
// FieldRequiredMode configures the generation of required field in the OpenAPI schemas.
FieldRequiredMode FieldRequiredMode
// WarnOnBrokenSelectors writes a warning instead of reporting errors when selectors to unmatching proto types is
// used in config files.
WarnOnBrokenSelectors bool
}
Options are the options for the code generator.
type OutputFormat ¶
type OutputFormat uint8
const ( OutputFormatJSON OutputFormat = iota OutputFormatYAML )
func (*OutputFormat) Set ¶
func (o *OutputFormat) Set(value string) error
func (OutputFormat) String ¶
func (o OutputFormat) String() string
type OutputMode ¶
type OutputMode uint8
const ( OutputModePerService OutputMode = iota OutputModePerProtoFile OutputModeMerge )
func (*OutputMode) Set ¶
func (o *OutputMode) Set(value string) error
func (OutputMode) String ¶
func (o OutputMode) String() string
type SchemaNamingStrategy ¶
type SchemaNamingStrategy uint8
const ( SchemaNamingStrategySimple SchemaNamingStrategy = iota SchemaNamingStrategyFQN SchemaNamingStrategySimpleWithVersion )
func (*SchemaNamingStrategy) Set ¶
func (s *SchemaNamingStrategy) Set(value string) error
func (SchemaNamingStrategy) String ¶
func (s SchemaNamingStrategy) String() string
type SelectorMap ¶
func (*SelectorMap) Set ¶
func (s *SelectorMap) Set(value string) error
func (SelectorMap) String ¶
func (s SelectorMap) String() string
type TemplateArg ¶
func (*TemplateArg) Set ¶
func (t *TemplateArg) Set(value string) error
func (TemplateArg) String ¶
func (t TemplateArg) String() string
type TemplateArgs ¶
type TemplateArgs []TemplateArg
func (*TemplateArgs) Set ¶
func (t *TemplateArgs) Set(value string) error
func (TemplateArgs) String ¶
func (t TemplateArgs) String() string
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package openapimap provides code to map openapi config from the proto messages to openapiv3 types.
|
Package openapimap provides code to map openapi config from the proto messages to openapiv3 types. |
|
Package pathfilter provides a trie-like structure that allows marking fields that are selected or contain children that are selected.
|
Package pathfilter provides a trie-like structure that allows marking fields that are selected or contain children that are selected. |
Click to show internal directories.
Click to hide internal directories.