openapi

package
v0.29.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2024 License: Apache-2.0 Imports: 6 Imported by: 126

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

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CachedOpenAPIGetter added in v0.21.0

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 added in v0.21.0

func (g *CachedOpenAPIGetter) OpenAPISchema() (*openapi_v2.Document, error)

OpenAPISchema implements OpenAPISchemaInterface.

type CachedOpenAPIParser added in v0.21.0

type CachedOpenAPIParser struct {

	// Cached results
	sync.Once
	// contains filtered or unexported fields
}

func NewOpenAPIParser added in v0.21.0

func NewOpenAPIParser(openAPIClient discovery.OpenAPISchemaInterface) *CachedOpenAPIParser

func (*CachedOpenAPIParser) Parse added in v0.21.0

func (p *CachedOpenAPIParser) Parse() (Resources, error)

type OpenAPIResourcesGetter added in v0.29.0

type OpenAPIResourcesGetter interface {
	OpenAPISchema() (Resources, error)
}

OpenAPIResourcesGetter represents a function to return OpenAPI V2 resource specifications. Used for lazy-loading these resource specifications.

type Resources

type Resources interface {
	LookupResource(gvk schema.GroupVersionKind) proto.Schema
	GetConsumes(gvk schema.GroupVersionKind, operation string) []string
}

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL