discovery

package
v1.4.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2016 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRESTMapper added in v1.4.0

func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.VersionInterfacesFunc) meta.RESTMapper

NewRESTMapper returns a PriorityRESTMapper based on the discovered groups and resourced passed in.

Types

type APIGroupResources added in v1.4.0

type APIGroupResources struct {
	Group unversioned.APIGroup
	// A mapping of version string to a slice of APIResources for
	// that version.
	VersionedResources map[string][]unversioned.APIResource
}

APIGroupResources is an API group with a mapping of versions to resources.

func GetAPIGroupResources added in v1.4.0

func GetAPIGroupResources(cl DiscoveryInterface) ([]*APIGroupResources, error)

GetAPIGroupResources uses the provided discovery client to gather discovery information and populate a slice of APIGroupResources.

type DeferredDiscoveryRESTMapper added in v1.4.0

type DeferredDiscoveryRESTMapper struct {
	// contains filtered or unexported fields
}

DeferredDiscoveryRESTMapper is a RESTMapper that will defer initialization of the RESTMapper until the first mapping is requested.

func NewDeferredDiscoveryRESTMapper added in v1.4.0

func NewDeferredDiscoveryRESTMapper(cl DiscoveryInterface, versionInterface meta.VersionInterfacesFunc) *DeferredDiscoveryRESTMapper

NewDeferredDiscoveryRESTMapper returns a DeferredDiscoveryRESTMapper that will lazily query the provided client for discovery information to do REST mappings.

func (*DeferredDiscoveryRESTMapper) AliasesForResource added in v1.4.0

func (d *DeferredDiscoveryRESTMapper) AliasesForResource(resource string) ([]string, bool)

AliasesForResource returns whether a resource has an alias or not.

func (*DeferredDiscoveryRESTMapper) KindFor added in v1.4.0

KindFor takes a partial resource and returns back the single match. It returns an error if there are multiple matches.

func (*DeferredDiscoveryRESTMapper) KindsFor added in v1.4.0

KindsFor takes a partial resource and returns back the list of potential kinds in priority order.

func (*DeferredDiscoveryRESTMapper) RESTMapping added in v1.4.0

func (d *DeferredDiscoveryRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*meta.RESTMapping, error)

RESTMapping identifies a preferred resource mapping for the provided group kind.

func (*DeferredDiscoveryRESTMapper) RESTMappings added in v1.4.0

RESTMappings returns the RESTMappings for the provided group kind in a rough internal preferred order. If no kind is found, it will return a NoResourceMatchError.

func (*DeferredDiscoveryRESTMapper) Reset added in v1.4.0

func (d *DeferredDiscoveryRESTMapper) Reset()

Reset resets the internally cached Discovery information and will cause the next mapping request to re-discover.

func (*DeferredDiscoveryRESTMapper) ResourceFor added in v1.4.0

ResourceFor takes a partial resource and returns back the single match. It returns an error if there are multiple matches.

func (*DeferredDiscoveryRESTMapper) ResourceSingularizer added in v1.4.0

func (d *DeferredDiscoveryRESTMapper) ResourceSingularizer(resource string) (singular string, err error)

ResourceSingularizer converts a resource name from plural to singular (e.g., from pods to pod).

func (*DeferredDiscoveryRESTMapper) ResourcesFor added in v1.4.0

ResourcesFor takes a partial resource and returns back the list of potential resource in priority order.

type DiscoveryClient

type DiscoveryClient struct {
	*restclient.RESTClient

	LegacyPrefix string
}

DiscoveryClient implements the functions that discover server-supported API groups, versions and resources.

func NewDiscoveryClient

func NewDiscoveryClient(c *restclient.RESTClient) *DiscoveryClient

New creates a new DiscoveryClient for the given RESTClient.

func NewDiscoveryClientForConfig

func NewDiscoveryClientForConfig(c *restclient.Config) (*DiscoveryClient, error)

NewDiscoveryClientForConfig creates a new DiscoveryClient for the given config. This client can be used to discover supported resources in the API server.

func NewDiscoveryClientForConfigOrDie

func NewDiscoveryClientForConfigOrDie(c *restclient.Config) *DiscoveryClient

NewDiscoveryClientForConfig creates a new DiscoveryClient for the given config. If there is an error, it panics.

func (*DiscoveryClient) ServerGroups

func (d *DiscoveryClient) ServerGroups() (apiGroupList *unversioned.APIGroupList, err error)

ServerGroups returns the supported groups, with information like supported versions and the preferred version.

func (*DiscoveryClient) ServerPreferredNamespacedResources added in v1.3.0

func (d *DiscoveryClient) ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error)

ServerPreferredNamespacedResources returns the supported namespaced resources with the version preferred by the server.

func (*DiscoveryClient) ServerPreferredResources added in v1.3.0

func (d *DiscoveryClient) ServerPreferredResources() ([]unversioned.GroupVersionResource, error)

ServerPreferredResources returns the supported resources with the version preferred by the server.

func (*DiscoveryClient) ServerResources

func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResourceList, error)

ServerResources returns the supported resources for all groups and versions.

func (*DiscoveryClient) ServerResourcesForGroupVersion

func (d *DiscoveryClient) ServerResourcesForGroupVersion(groupVersion string) (resources *unversioned.APIResourceList, err error)

ServerResourcesForGroupVersion returns the supported resources for a group and version.

func (*DiscoveryClient) ServerVersion

func (d *DiscoveryClient) ServerVersion() (*version.Info, error)

ServerVersion retrieves and parses the server's version (git version).

func (*DiscoveryClient) SwaggerSchema

func (d *DiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error)

SwaggerSchema retrieves and parses the swagger API schema the server supports.

type DiscoveryInterface

DiscoveryInterface holds the methods that discover server-supported API groups, versions and resources.

type ServerGroupsInterface

type ServerGroupsInterface interface {
	// ServerGroups returns the supported groups, with information like supported versions and the
	// preferred version.
	ServerGroups() (*unversioned.APIGroupList, error)
}

ServerGroupsInterface has methods for obtaining supported groups on the API server

type ServerResourcesInterface

type ServerResourcesInterface interface {
	// ServerResourcesForGroupVersion returns the supported resources for a group and version.
	ServerResourcesForGroupVersion(groupVersion string) (*unversioned.APIResourceList, error)
	// ServerResources returns the supported resources for all groups and versions.
	ServerResources() (map[string]*unversioned.APIResourceList, error)
	// ServerPreferredResources returns the supported resources with the version preferred by the
	// server.
	ServerPreferredResources() ([]unversioned.GroupVersionResource, error)
	// ServerPreferredNamespacedResources returns the supported namespaced resources with the
	// version preferred by the server.
	ServerPreferredNamespacedResources() ([]unversioned.GroupVersionResource, error)
}

ServerResourcesInterface has methods for obtaining supported resources on the API server

type ServerVersionInterface

type ServerVersionInterface interface {
	// ServerVersion retrieves and parses the server's version (git version).
	ServerVersion() (*version.Info, error)
}

ServerVersionInterface has a method for retrieving the server's version.

type SwaggerSchemaInterface

type SwaggerSchemaInterface interface {
	// SwaggerSchema retrieves and parses the swagger API schema the server supports.
	SwaggerSchema(version unversioned.GroupVersion) (*swagger.ApiDeclaration, error)
}

SwaggerSchemaInterface has a method to retrieve the swagger schema.

type UnstructuredObjectTyper added in v1.4.0

type UnstructuredObjectTyper struct {
	// contains filtered or unexported fields
}

UnstructuredObjectTyper provides a runtime.ObjectTyper implmentation for runtime.Unstructured object based on discovery information.

func NewUnstructuredObjectTyper added in v1.4.0

func NewUnstructuredObjectTyper(groupResources []*APIGroupResources) *UnstructuredObjectTyper

NewUnstructuredObjectTyper returns a runtime.ObjectTyper for unstructred objects based on discovery information.

func (*UnstructuredObjectTyper) IsUnversioned added in v1.4.0

func (d *UnstructuredObjectTyper) IsUnversioned(obj runtime.Object) (unversioned bool, ok bool)

IsUnversioned returns false always because *runtime.Unstructured objects should always have group,version,kind information set. ok will be true if the object's group,version,kind is registered.

func (*UnstructuredObjectTyper) ObjectKind added in v1.4.0

ObjectKind returns the group,version,kind of the provided object, or an error if the object in not *runtime.Unstructured or has no group,version,kind information.

func (*UnstructuredObjectTyper) ObjectKinds added in v1.4.0

func (d *UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) (gvks []unversioned.GroupVersionKind, unversionedType bool, err error)

ObjectKinds returns a slice of one element with the group,version,kind of the provided object, or an error if the object is not *runtime.Unstructured or has no group,version,kind information. unversionedType will always be false because runtime.Unstructured object should always have group,version,kind information set.

func (*UnstructuredObjectTyper) Recognizes added in v1.4.0

Recognizes returns true if the provided group,version,kind was in the discovery information.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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