package openapi

import "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi"

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"

Functions

func GetPrintColumns

func GetPrintColumns(extensions spec.Extensions) (string, bool)

GetPrintColumns looks for the open API extension for the display columns.

func SupportsDryRun

func SupportsDryRun(doc *openapi_v2.Document, gvk schema.GroupVersionKind) (bool, error)

SupportsDryRun is a method that let's us look in the OpenAPI if the specific group-version-kind supports the dryRun query parameter for the PATCH end-point.

Types

type Getter

type Getter interface {
	// OpenAPIData returns the parsed OpenAPIData
	Get() (Resources, error)
}

Getter is an interface for fetching openapi specs and parsing them into an Resources struct

func NewOpenAPIGetter

func NewOpenAPIGetter(openAPIClient discovery.OpenAPISchemaInterface) Getter

NewOpenAPIGetter returns an object to return OpenAPIDatas which reads from a server, and then stores in memory for subsequent invocations

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)

Source Files

doc.go dryrun.go extensions.go openapi.go openapi_getter.go

Directories

PathSynopsis
pkg/kubectl/cmd/util/openapi/testing
pkg/kubectl/cmd/util/openapi/validation
Version
v1.13.5
Published
Mar 22, 2019
Platform
js/wasm
Imports
8 packages
Last checked
1 minute ago

Tools for package owners.