thirdparty

package
v1.7.0-beta.3 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2017 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAutoRegistrationController

func NewAutoRegistrationController(tprInformer informers.ThirdPartyResourceInformer, crdinformer crdinformers.CustomResourceDefinitionInformer, apiServiceRegistration AutoAPIServiceRegistration) *tprRegistrationController

NewAutoRegistrationController returns a controller which will register TPR GroupVersions with the auto APIService registration controller so they automatically stay in sync. In order to stay sane with both TPR and CRD present, we have a single controller that manages both. When choosing whether to have an APIService, we simply iterate through both.

Types

type AutoAPIServiceRegistration

type AutoAPIServiceRegistration interface {
	// AddAPIServiceToSync adds an API service to auto-register.
	AddAPIServiceToSync(in *apiregistration.APIService)
	// RemoveAPIServiceToSync removes an API service to auto-register.
	RemoveAPIServiceToSync(name string)
}

AutoAPIServiceRegistration is an interface which callers can re-declare locally and properly cast to for adding and removing APIServices

type ThirdPartyResourceServer

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

func NewThirdPartyResourceServer

func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, availableGroupManager discovery.GroupManager, storageFactory serverstorgage.StorageFactory, crdRESTOptionsGetter generic.RESTOptionsGetter) *ThirdPartyResourceServer

func (*ThirdPartyResourceServer) HasThirdPartyResource

func (m *ThirdPartyResourceServer) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)

HasThirdPartyResource returns true if a particular third party resource currently installed.

func (*ThirdPartyResourceServer) InstallThirdPartyResource

func (m *ThirdPartyResourceServer) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource) error

InstallThirdPartyResource installs a third party resource specified by 'rsrc'. When a resource is installed a corresponding RESTful resource is added as a valid path in the web service provided by the master.

For example, if you install a resource ThirdPartyResource{ Name: "foo.company.com", Versions: {"v1"} } then the following RESTful resource is created on the server:

http://<host>/apis/company.com/v1/foos/...

func (*ThirdPartyResourceServer) ListThirdPartyResources

func (m *ThirdPartyResourceServer) ListThirdPartyResources() []string

ListThirdPartyResources lists all currently installed third party resources The format is <path>/<resource-plural-name>

func (*ThirdPartyResourceServer) RemoveThirdPartyResource

func (m *ThirdPartyResourceServer) RemoveThirdPartyResource(path string) error

RemoveThirdPartyResource removes all resources matching `path`. Also deletes any stored data

Jump to

Keyboard shortcuts

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