Documentation ¶
Overview ¶
Package dynamic provides a client interface to arbitrary Kubernetes APIs that exposes common high level operations and exposes common metadata.
Index ¶
- Variables
- func ContentConfig() restclient.ContentConfig
- func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string
- func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, ...) (*meta.DefaultRESTMapper, error)
- func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyper, error)
- func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error)
- type APIPathResolverFunc
- type Client
- type ClientPool
- type ObjectTyper
- type ResourceClient
- func (rc *ResourceClient) Create(obj *runtime.Unstructured) (*runtime.Unstructured, error)
- func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error
- func (rc *ResourceClient) DeleteCollection(deleteOptions *v1.DeleteOptions, listOptions runtime.Object) error
- func (rc *ResourceClient) Get(name string) (*runtime.Unstructured, error)
- func (rc *ResourceClient) List(opts runtime.Object) (runtime.Object, error)
- func (rc *ResourceClient) Patch(name string, pt api.PatchType, data []byte) (*runtime.Unstructured, error)
- func (rc *ResourceClient) Update(obj *runtime.Unstructured) (*runtime.Unstructured, error)
- func (rc *ResourceClient) Watch(opts runtime.Object) (watch.Interface, error)
Constants ¶
This section is empty.
Variables ¶
var VersionedParameterEncoderWithV1Fallback runtime.ParameterCodec = versionedParameterEncoderWithV1Fallback{}
VersionedParameterEncoderWithV1Fallback is useful for encoding query parameters for thirdparty resources. It tries to convert object to the specified version before converting it to query parameters, and falls back to converting to v1 if the object is not registered in the specified version. For the record, currently API server always treats query parameters sent to a thirdparty resource endpoint as v1.
Functions ¶
func ContentConfig ¶ added in v1.4.0
func ContentConfig() restclient.ContentConfig
ContentConfig returns a restclient.ContentConfig for dynamic types.
func LegacyAPIPathResolverFunc ¶
func LegacyAPIPathResolverFunc(kind unversioned.GroupVersionKind) string
LegacyAPIPathResolverFunc can resolve paths properly with the legacy API.
func NewDiscoveryRESTMapper ¶ added in v1.3.0
func NewDiscoveryRESTMapper(resources []*unversioned.APIResourceList, versionFunc meta.VersionInterfacesFunc) (*meta.DefaultRESTMapper, error)
NewDiscoveryRESTMapper returns a RESTMapper based on discovery information.
func NewObjectTyper ¶ added in v1.3.0
func NewObjectTyper(resources []*unversioned.APIResourceList) (runtime.ObjectTyper, error)
NewObjectTyper constructs an ObjectTyper from discovery information.
func VersionInterfaces ¶ added in v1.3.0
func VersionInterfaces(unversioned.GroupVersion) (*meta.VersionInterfaces, error)
VersionInterfaces provides an object converter and metadata accessor appropriate for use with unstructured objects.
Types ¶
type APIPathResolverFunc ¶
type APIPathResolverFunc func(kind unversioned.GroupVersionKind) string
APIPathResolverFunc knows how to convert a groupVersion to its API path. The Kind field is optional.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a Kubernetes client that allows you to access metadata and manipulate metadata of a Kubernetes API group.
func NewClient ¶
func NewClient(conf *restclient.Config) (*Client, error)
NewClient returns a new client based on the passed in config. The codec is ignored, as the dynamic client uses it's own codec.
func (*Client) GetRateLimiter ¶ added in v1.4.0
func (c *Client) GetRateLimiter() flowcontrol.RateLimiter
GetRateLimiter returns rate limier.
func (*Client) ParameterCodec ¶ added in v1.3.0
func (c *Client) ParameterCodec(parameterCodec runtime.ParameterCodec) *Client
ParameterCodec returns a client with the provided parameter codec.
func (*Client) Resource ¶
func (c *Client) Resource(resource *unversioned.APIResource, namespace string) *ResourceClient
Resource returns an API interface to the specified resource for this client's group and version. If resource is not a namespaced resource, then namespace is ignored. The ResourceClient inherits the parameter codec of c.
type ClientPool ¶
type ClientPool interface { // ClientForGroupVersionKind returns a client configured for the specified groupVersionResource. // Resource may be empty. ClientForGroupVersionResource(resource unversioned.GroupVersionResource) (*Client, error) // ClientForGroupVersionKind returns a client configured for the specified groupVersionKind. // Kind may be empty. ClientForGroupVersionKind(kind unversioned.GroupVersionKind) (*Client, error) }
ClientPool manages a pool of dynamic clients.
func NewClientPool ¶
func NewClientPool(config *restclient.Config, mapper meta.RESTMapper, apiPathResolverFunc APIPathResolverFunc) ClientPool
NewClientPool returns a ClientPool from the specified config. It reuses clients for the the same group version. It is expected this type may be wrapped by specific logic that special cases certain resources or groups.
type ObjectTyper ¶ added in v1.3.0
type ObjectTyper struct {
// contains filtered or unexported fields
}
ObjectTyper provides an ObjectTyper implementation for runtime.Unstructured object based on discovery information.
func (*ObjectTyper) ObjectKinds ¶ added in v1.3.0
func (ot *ObjectTyper) ObjectKinds(obj runtime.Object) ([]unversioned.GroupVersionKind, bool, 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.
func (*ObjectTyper) Recognizes ¶ added in v1.3.0
func (ot *ObjectTyper) Recognizes(gvk unversioned.GroupVersionKind) bool
Recognizes returns true if the provided group,version,kind was in the discovery information.
type ResourceClient ¶
type ResourceClient struct {
// contains filtered or unexported fields
}
ResourceClient is an API interface to a specific resource under a dynamic client.
func (*ResourceClient) Create ¶
func (rc *ResourceClient) Create(obj *runtime.Unstructured) (*runtime.Unstructured, error)
Create creates the provided resource.
func (*ResourceClient) Delete ¶
func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error
Delete deletes the resource with the specified name.
func (*ResourceClient) DeleteCollection ¶
func (rc *ResourceClient) DeleteCollection(deleteOptions *v1.DeleteOptions, listOptions runtime.Object) error
DeleteCollection deletes a collection of objects.
func (*ResourceClient) Get ¶
func (rc *ResourceClient) Get(name string) (*runtime.Unstructured, error)
Get gets the resource with the specified name.
func (*ResourceClient) Patch ¶ added in v1.3.0
func (rc *ResourceClient) Patch(name string, pt api.PatchType, data []byte) (*runtime.Unstructured, error)
func (*ResourceClient) Update ¶
func (rc *ResourceClient) Update(obj *runtime.Unstructured) (*runtime.Unstructured, error)
Update updates the provided resource.