Documentation
¶
Index ¶
- type Client
- type DelegatingClient
- type FieldIndexer
- type IndexerFunc
- type ListOptions
- func (o *ListOptions) AsListOptions() *metav1.ListOptions
- func (o *ListOptions) InNamespace(ns string) *ListOptions
- func (o *ListOptions) MatchingField(name, val string) *ListOptions
- func (o *ListOptions) MatchingLabels(lbls map[string]string) *ListOptions
- func (o *ListOptions) SetFieldSelector(selRaw string) error
- func (o *ListOptions) SetLabelSelector(selRaw string) error
- type ObjectKey
- type Options
- type Reader
- type StatusClient
- type StatusWriter
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
Reader
Writer
StatusClient
}
Client knows how to perform CRUD operations on Kubernetes objects.
type DelegatingClient ¶
type DelegatingClient struct {
Reader
Writer
StatusClient
}
DelegatingClient forms an interface Client by composing separate reader, writer and statusclient interfaces. This way, you can have an Client that reads from a cache and writes to the API server.
type FieldIndexer ¶
type FieldIndexer interface {
// IndexFields adds an index with the given field name on the given object type
// by using the given function to extract the value for that field. If you want
// compatibility with the Kubernetes API server, only return one key, and only use
// fields that the API server supports. Otherwise, you can return multiple keys,
// and "equality" in the field selector means that at least one key matches the value.
IndexField(obj runtime.Object, field string, extractValue IndexerFunc) error
}
FieldIndexer knows how to index over a particular "field" such that it can later be used by a field selector.
type IndexerFunc ¶
IndexerFunc knows how to take an object and turn it into a series of (non-namespaced) keys for that object.
type ListOptions ¶
type ListOptions struct {
// LabelSelector filters results by label. Use SetLabelSelector to
// set from raw string form.
LabelSelector labels.Selector
// FieldSelector filters results by a particular field. In order
// to use this with cache-based implementations, restrict usage to
// a single field-value pair that's been added to the indexers.
FieldSelector fields.Selector
// Namespace represents the namespace to list for, or empty for
// non-namespaced objects, or to list across all namespaces.
Namespace string
// Raw represents raw ListOptions, as passed to the API server. Note
// that these may not be respected by all implementations of interface,
// and the LabelSelector and FieldSelector fields are ignored.
Raw *metav1.ListOptions
}
ListOptions contains options for limitting or filtering results. It's generally a subset of metav1.ListOptions, with support for pre-parsed selectors (since generally, selectors will be executed against the cache).
func InNamespace ¶
func InNamespace(ns string) *ListOptions
InNamespace is a convenience function that constructs list options to list in the given namespace.
func MatchingField ¶
func MatchingField(name, val string) *ListOptions
MatchingField is a convenience function that constructs list options to match the given field.
func MatchingLabels ¶
func MatchingLabels(lbls map[string]string) *ListOptions
MatchingLabels is a convenience function that constructs list options to match the given labels.
func (*ListOptions) AsListOptions ¶
func (o *ListOptions) AsListOptions() *metav1.ListOptions
AsListOptions returns these options as a flattened metav1.ListOptions. This may mutate the Raw field.
func (*ListOptions) InNamespace ¶
func (o *ListOptions) InNamespace(ns string) *ListOptions
InNamespace is a convenience function that sets the namespace, and then returns the options. It mutates the list options.
func (*ListOptions) MatchingField ¶
func (o *ListOptions) MatchingField(name, val string) *ListOptions
MatchingField is a convenience function that sets the field selector to match the given field, and then returns the options. It mutates the list options.
func (*ListOptions) MatchingLabels ¶
func (o *ListOptions) MatchingLabels(lbls map[string]string) *ListOptions
MatchingLabels is a convenience function that sets the label selector to match the given labels, and then returns the options. It mutates the list options.
func (*ListOptions) SetFieldSelector ¶
func (o *ListOptions) SetFieldSelector(selRaw string) error
SetFieldSelector sets this the label selector of these options from a string form of the selector.
func (*ListOptions) SetLabelSelector ¶
func (o *ListOptions) SetLabelSelector(selRaw string) error
SetLabelSelector sets this the label selector of these options from a string form of the selector.
type Options ¶
type Options struct {
// Scheme, if provided, will be used to map go structs to GroupVersionKinds
Scheme *runtime.Scheme
// Mapper, if provided, will be used to map GroupVersionKinds to Resources
Mapper meta.RESTMapper
}
Options are creation options for a Client
type Reader ¶
type Reader interface {
// Get retrieves an obj for the given object key from the Kubernetes Cluster.
// obj must be a struct pointer so that obj can be updated with the response
// returned by the Server.
Get(ctx context.Context, key ObjectKey, obj runtime.Object) error
// List retrieves list of objects for a given namespace and list options. On a
// successful call, Items field in the list will be populated with the
// result returned from the server.
List(ctx context.Context, opts *ListOptions, list runtime.Object) error
}
Reader knows how to read and list Kubernetes objects.
type StatusClient ¶
type StatusClient interface {
Status() StatusWriter
}
StatusClient knows how to create a client which can update status subresource for kubernetes objects.
type StatusWriter ¶
type StatusWriter interface {
// Update updates the fields corresponding to the status subresource for the
// given obj. obj must be a struct pointer so that obj can be updated
// with the content returned by the Server.
Update(ctx context.Context, obj runtime.Object) error
}
StatusWriter knows how to update status subresource of a Kubernetes object.
type Writer ¶
type Writer interface {
// Create saves the object obj in the Kubernetes cluster.
Create(ctx context.Context, obj runtime.Object) error
// Delete deletes the given obj from Kubernetes cluster.
Delete(ctx context.Context, obj runtime.Object) error
// Update updates the given obj in the Kubernetes cluster. obj must be a
// struct pointer so that obj can be updated with the content returned by the Server.
Update(ctx context.Context, obj runtime.Object) error
}
Writer knows how to create, delete, and update Kubernetes objects.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package config contains libraries for initializing rest configs for talking to the Kubernetes API
|
Package config contains libraries for initializing rest configs for talking to the Kubernetes API |
|
Package fake provides a fake client for testing.
|
Package fake provides a fake client for testing. |