package gnostic_plugin_v1

import "github.com/google/gnostic/plugins"

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

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

func HandleResponse(response *Response, outputLocation string) error

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) Descriptor() ([]byte, []int)

func (*File) GetData

func (m *File) GetData() []byte

func (*File) GetName

func (m *File) GetName() string

func (*File) ProtoMessage

func (*File) ProtoMessage()

func (*File) Reset

func (m *File) Reset()

func (*File) String

func (m *File) String() string

type Message

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

func (*Message) Descriptor() ([]byte, []int)

func (*Message) GetCode

func (m *Message) GetCode() string

func (*Message) GetKeys

func (m *Message) GetKeys() []string

func (*Message) GetLevel

func (m *Message) GetLevel() Message_Level

func (*Message) GetText

func (m *Message) GetText() string

func (*Message) ProtoMessage

func (*Message) ProtoMessage()

func (*Message) Reset

func (m *Message) Reset()

func (*Message) String

func (m *Message) String() string

type Message_Level

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

func (Message_Level) EnumDescriptor() ([]byte, []int)

func (Message_Level) String

func (x Message_Level) String() string

type Messages

type Messages struct {
	Messages []*Message `protobuf:"bytes,1,rep,name=messages" json:"messages,omitempty"`
}

func (*Messages) Descriptor

func (*Messages) Descriptor() ([]byte, []int)

func (*Messages) GetMessages

func (m *Messages) GetMessages() []*Message

func (*Messages) ProtoMessage

func (*Messages) ProtoMessage()

func (*Messages) Reset

func (m *Messages) Reset()

func (*Messages) String

func (m *Messages) String() string

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) Descriptor() ([]byte, []int)

func (*Parameter) GetName

func (m *Parameter) GetName() string

func (*Parameter) GetValue

func (m *Parameter) GetValue() string

func (*Parameter) ProtoMessage

func (*Parameter) ProtoMessage()

func (*Parameter) Reset

func (m *Parameter) Reset()

func (*Parameter) String

func (m *Parameter) String() string

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) AddModel

func (request *Request) AddModel(modelType string, model proto.Message) error

func (*Request) Descriptor

func (*Request) Descriptor() ([]byte, []int)

func (*Request) GetCompilerVersion

func (m *Request) GetCompilerVersion() *Version

func (*Request) GetModels

func (m *Request) GetModels() []*google_protobuf.Any

func (*Request) GetOutputPath

func (m *Request) GetOutputPath() string

func (*Request) GetParameters

func (m *Request) GetParameters() []*Parameter

func (*Request) GetSourceName

func (m *Request) GetSourceName() string

func (*Request) ProtoMessage

func (*Request) ProtoMessage()

func (*Request) Reset

func (m *Request) Reset()

func (*Request) String

func (m *Request) String() string

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) Descriptor() ([]byte, []int)

func (*Response) GetErrors

func (m *Response) GetErrors() []string

func (*Response) GetFiles

func (m *Response) GetFiles() []*File

func (*Response) GetMessages

func (m *Response) GetMessages() []*Message

func (*Response) ProtoMessage

func (*Response) ProtoMessage()

func (*Response) Reset

func (m *Response) Reset()

func (*Response) String

func (m *Response) String() string

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) Descriptor() ([]byte, []int)

func (*Version) GetMajor

func (m *Version) GetMajor() int32

func (*Version) GetMinor

func (m *Version) GetMinor() int32

func (*Version) GetPatch

func (m *Version) GetPatch() int32

func (*Version) GetSuffix

func (m *Version) GetSuffix() string

func (*Version) ProtoMessage

func (*Version) ProtoMessage()

func (*Version) Reset

func (m *Version) Reset()

func (*Version) String

func (m *Version) String() string

Source Files

environment.go plugin.pb.go

Directories

PathSynopsis
plugins/gnostic-analyzegnostic_analyze is a tool for analyzing OpenAPI descriptions.
plugins/gnostic-analyze/statistics
plugins/gnostic-analyze/summarizesummarize is a tool for summarizing the results of gnostic_analyze runs.
plugins/gnostic-go-generatorgnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API.
plugins/gnostic-go-generator/examples
plugins/gnostic-go-generator/examples/googleauth
plugins/gnostic-go-generator/examples/v2.0
plugins/gnostic-go-generator/examples/v2.0/bookstore
plugins/gnostic-go-generator/examples/v2.0/bookstore/bookstorePackage bookstore exists to allow this repo to work with recursive go get.
plugins/gnostic-go-generator/examples/v2.0/bookstore/service
plugins/gnostic-go-generator/examples/v2.0/sample
plugins/gnostic-go-generator/examples/v2.0/sample/samplePackage sample exists to allow this repo to work with recursive go get.
plugins/gnostic-go-generator/examples/v2.0/sample/service
plugins/gnostic-go-generator/examples/v2.0/xkcd
plugins/gnostic-go-generator/examples/v2.0/xkcd/xkcdPackage xkcd exists to allow this repo to work with recursive go get.
plugins/gnostic-go-generator/examples/v3.0
plugins/gnostic-go-generator/examples/v3.0/bookstore
plugins/gnostic-go-generator/examples/v3.0/bookstore/bookstorePackage bookstore exists to allow this repo to work with recursive go get.
plugins/gnostic-go-generator/examples/v3.0/bookstore/service
plugins/gnostic-go-generator/examples/v3.0/urlshortener
plugins/gnostic-go-generator/examples/v3.0/urlshortener/urlshortenerPackage urlshortener exists to allow this repo to work with recursive go get.
plugins/gnostic-summarygnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API.
Version
v0.2.0
Published
May 19, 2018
Platform
js/wasm
Imports
15 packages
Last checked
1 hour ago

Tools for package owners.