Documentation ¶
Overview ¶
Package openapi is a collection of libraries for fetching the openapi spec from a Kubernetes server and then indexing the type definitions. The openapi spec contains the object model definitions and extensions metadata such as the patchStrategy and patchMergeKey for creating patches.
Index ¶
Constants ¶
const PrintColumnsKey = "x-kubernetes-print-columns"
PrintColumnsKey is the key that defines which columns should be printed
Variables ¶
This section is empty.
Functions ¶
func GetPrintColumns ¶
func GetPrintColumns(extensions spec.Extensions) (string, bool)
GetPrintColumns looks for the open API extension for the display columns.
Types ¶
type CachedOpenAPIGetter ¶
type CachedOpenAPIGetter struct { // Cached results sync.Once // contains filtered or unexported fields }
CachedOpenAPIGetter fetches the openapi schema once and then caches it in memory
func NewOpenAPIGetter ¶
func NewOpenAPIGetter(openAPIClient discovery.OpenAPISchemaInterface) *CachedOpenAPIGetter
NewOpenAPIGetter returns an object to return OpenAPIDatas which reads from a server, and then stores in memory for subsequent invocations
func (*CachedOpenAPIGetter) OpenAPISchema ¶
func (g *CachedOpenAPIGetter) OpenAPISchema() (*openapi_v2.Document, error)
OpenAPISchema implements OpenAPISchemaInterface.
type CachedOpenAPIParser ¶
type CachedOpenAPIParser struct { // Cached results sync.Once // contains filtered or unexported fields }
func NewOpenAPIParser ¶
func NewOpenAPIParser(openAPIClient discovery.OpenAPISchemaInterface) *CachedOpenAPIParser
func (*CachedOpenAPIParser) Parse ¶
func (p *CachedOpenAPIParser) Parse() (Resources, error)
type Resources ¶
type Resources interface {
LookupResource(gvk schema.GroupVersionKind) proto.Schema
}
Resources interface describe a resources provider, that can give you resource based on group-version-kind.
func NewOpenAPIData ¶
func NewOpenAPIData(doc *openapi_v2.Document) (Resources, error)
NewOpenAPIData creates a new `Resources` out of the openapi document