Documentation
¶
Overview ¶
Package gnostic_plugin_v1 is a generated protocol buffer package.
It is generated from these files:
plugins/plugin.proto
It has these top-level messages:
Version Parameter Request Message Messages Response File
Index ¶
- Variables
- func HandleResponse(response *Response, outputLocation string) error
- type Environment
- type File
- type Message
- type Message_Level
- type Messages
- type Parameter
- type Request
- func (request *Request) AddModel(modelType string, model proto.Message) error
- func (*Request) Descriptor() ([]byte, []int)
- func (m *Request) GetCompilerVersion() *Version
- func (m *Request) GetModels() []*google_protobuf.Any
- func (m *Request) GetOutputPath() string
- func (m *Request) GetParameters() []*Parameter
- func (m *Request) GetSourceName() string
- func (*Request) ProtoMessage()
- func (m *Request) Reset()
- func (m *Request) String() string
- type Response
- type Version
Constants ¶
This section is empty.
Variables ¶
var Message_Level_name = map[int32]string{
0: "UNKNOWN",
1: "INFO",
2: "WARNING",
3: "ERROR",
4: "FATAL",
}
var Message_Level_value = map[string]int32{
"UNKNOWN": 0,
"INFO": 1,
"WARNING": 2,
"ERROR": 3,
"FATAL": 4,
}
Functions ¶
func HandleResponse ¶
Types ¶
type Environment ¶
type Environment struct {
Request *Request // plugin request object
Response *Response // response message
Invocation string // string representation of call
RunningAsPlugin bool // true if app is being run as a plugin
}
Environment contains the environment of a plugin call.
func NewEnvironment ¶
func NewEnvironment() (env *Environment, err error)
NewEnvironment creates a plugin context from arguments and standard input.
func (*Environment) RespondAndExit ¶
func (env *Environment) RespondAndExit()
RespondAndExit serializes and returns the plugin response and then exits.
func (*Environment) RespondAndExitIfError ¶
func (env *Environment) RespondAndExitIfError(err error)
RespondAndExitIfError checks an error and if it is non-nil, records it and serializes and returns the response and then exits.
type File ¶
type File struct {
// name of the file
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// data to be written to the file
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}
File describes a file generated by a plugin.
func (*File) Descriptor ¶
func (*File) ProtoMessage ¶
func (*File) ProtoMessage()
type Message ¶ added in v0.2.0
type Message struct {
// message severity
Level Message_Level `protobuf:"varint,1,opt,name=level,enum=gnostic.plugin.v1.Message_Level" json:"level,omitempty"`
// a unique message identifier
Code string `protobuf:"bytes,2,opt,name=code" json:"code,omitempty"`
// message text
Text string `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"`
// an associated key path in an API description
Keys []string `protobuf:"bytes,4,rep,name=keys" json:"keys,omitempty"`
}
Plugins can return messages to be collated and reported by gnostic.
func (*Message) Descriptor ¶ added in v0.2.0
func (*Message) GetLevel ¶ added in v0.2.0
func (m *Message) GetLevel() Message_Level
func (*Message) ProtoMessage ¶ added in v0.2.0
func (*Message) ProtoMessage()
type Message_Level ¶ added in v0.2.0
type Message_Level int32
const ( Message_UNKNOWN Message_Level = 0 Message_INFO Message_Level = 1 Message_WARNING Message_Level = 2 Message_ERROR Message_Level = 3 Message_FATAL Message_Level = 4 )
func (Message_Level) EnumDescriptor ¶ added in v0.2.0
func (Message_Level) EnumDescriptor() ([]byte, []int)
func (Message_Level) String ¶ added in v0.2.0
func (x Message_Level) String() string
type Messages ¶ added in v0.2.0
type Messages struct {
Messages []*Message `protobuf:"bytes,1,rep,name=messages" json:"messages,omitempty"`
}
func (*Messages) Descriptor ¶ added in v0.2.0
func (*Messages) GetMessages ¶ added in v0.2.0
func (*Messages) ProtoMessage ¶ added in v0.2.0
func (*Messages) ProtoMessage()
type Parameter ¶
type Parameter struct {
// The name of the parameter as specified in the option string
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// The parameter value as specified in the option string
Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
A parameter passed to the plugin from (or through) gnostic.
func (*Parameter) Descriptor ¶
func (*Parameter) ProtoMessage ¶
func (*Parameter) ProtoMessage()
type Request ¶
type Request struct {
// filename or URL of the original source document
SourceName string `protobuf:"bytes,1,opt,name=source_name,json=sourceName" json:"source_name,omitempty"`
// Output path specified in the plugin invocation.
OutputPath string `protobuf:"bytes,2,opt,name=output_path,json=outputPath" json:"output_path,omitempty"`
// Plugin parameters parsed from the invocation string.
Parameters []*Parameter `protobuf:"bytes,3,rep,name=parameters" json:"parameters,omitempty"`
// The version number of gnostic.
CompilerVersion *Version `protobuf:"bytes,4,opt,name=compiler_version,json=compilerVersion" json:"compiler_version,omitempty"`
// API models
Models []*google_protobuf.Any `protobuf:"bytes,5,rep,name=models" json:"models,omitempty"`
}
An encoded Request is written to the plugin's stdin.
func (*Request) Descriptor ¶
func (*Request) GetCompilerVersion ¶
func (*Request) GetModels ¶ added in v0.2.0
func (m *Request) GetModels() []*google_protobuf.Any
func (*Request) GetOutputPath ¶
func (*Request) GetParameters ¶
func (*Request) GetSourceName ¶
func (*Request) ProtoMessage ¶
func (*Request) ProtoMessage()
type Response ¶
type Response struct {
// Error message. If non-empty, the plugin failed.
// The plugin process should exit with status code zero
// even if it reports an error in this way.
//
// This should be used to indicate errors which prevent the plugin from
// operating as intended. Errors which indicate a problem in gnostic
// itself -- such as the input Document being unparseable -- should be
// reported by writing a message to stderr and exiting with a non-zero
// status code.
Errors []string `protobuf:"bytes,1,rep,name=errors" json:"errors,omitempty"`
// file output, each file will be written by gnostic to an appropriate location.
Files []*File `protobuf:"bytes,2,rep,name=files" json:"files,omitempty"`
// informational messages to be collected and reported by gnostic.
Messages []*Message `protobuf:"bytes,3,rep,name=messages" json:"messages,omitempty"`
}
The plugin writes an encoded Response to stdout.
func (*Response) Descriptor ¶
func (*Response) GetMessages ¶ added in v0.2.0
func (*Response) ProtoMessage ¶
func (*Response) ProtoMessage()
type Version ¶
type Version struct {
Major int32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
Minor int32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
Patch int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"`
// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
// be empty for mainline stable releases.
Suffix string `protobuf:"bytes,4,opt,name=suffix" json:"suffix,omitempty"`
}
The version number of gnostic.
func (*Version) Descriptor ¶
func (*Version) ProtoMessage ¶
func (*Version) ProtoMessage()
Directories
¶
| Path | Synopsis |
|---|---|
|
gnostic_analyze is a tool for analyzing OpenAPI descriptions.
|
gnostic_analyze is a tool for analyzing OpenAPI descriptions. |
|
summarize
command
summarize is a tool for summarizing the results of gnostic_analyze runs.
|
summarize is a tool for summarizing the results of gnostic_analyze runs. |
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API.
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API. |
|
examples/v2.0/bookstore/bookstore
Package bookstore exists to allow this repo to work with recursive go get.
|
Package bookstore exists to allow this repo to work with recursive go get. |
|
examples/v2.0/bookstore/service
command
|
|
|
examples/v2.0/sample/sample
Package sample exists to allow this repo to work with recursive go get.
|
Package sample exists to allow this repo to work with recursive go get. |
|
examples/v2.0/sample/service
command
|
|
|
examples/v2.0/xkcd
command
|
|
|
examples/v2.0/xkcd/xkcd
Package xkcd exists to allow this repo to work with recursive go get.
|
Package xkcd exists to allow this repo to work with recursive go get. |
|
examples/v3.0/bookstore/bookstore
Package bookstore exists to allow this repo to work with recursive go get.
|
Package bookstore exists to allow this repo to work with recursive go get. |
|
examples/v3.0/bookstore/service
command
|
|
|
examples/v3.0/urlshortener
command
|
|
|
examples/v3.0/urlshortener/urlshortener
Package urlshortener exists to allow this repo to work with recursive go get.
|
Package urlshortener exists to allow this repo to work with recursive go get. |
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API.
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API. |