Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GenericClient ¶
type GenericClient[T client.Object, L client.ObjectList] interface {
Reader[T, L]
Writer[T]
StatusClient[T]
// Scheme returns the scheme this client is using.
Scheme() *runtime.Scheme
// RESTMapper returns the rest this client is using.
RESTMapper() meta.RESTMapper
// GroupVersionKindFor returns the GroupVersionKind for the given object.
GroupVersionKindFor(obj runtime.Object) (schema.GroupVersionKind, error)
// IsObjectNamespaced returns true if the GroupVersionKind of the object is namespaced.
IsObjectNamespaced(obj runtime.Object) (bool, error)
}
func NewGenericClient ¶
func NewGenericClient[T client.Object, L client.ObjectList](
cli client.Client,
t T,
l L,
) GenericClient[T, L]
func NewGenericClientFromConfig ¶
func NewGenericClientFromConfig[T client.Object, L client.ObjectList](
cfg *rest.Config,
t T,
l L,
) (GenericClient[T, L], error)
type Reader ¶
type Reader[T client.Object, L client.ObjectList] 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 client.ObjectKey) (T, 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 ...client.ListOption) (L, error)
}
type StatusClient ¶
type StatusClient[T client.Object] interface {
Status() StatusWriter[T]
}
StatusClient knows how to create a client which can update status subresource for kubernetes objects.
type StatusWriter ¶
type StatusWriter[T client.Object] 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 T, opts ...client.SubResourceUpdateOption) error
// Patch patches the given object's subresource. obj must be a struct
// pointer so that obj can be updated with the content returned by the
// Server.
Patch(ctx context.Context, obj T, patch client.Patch, opts ...client.SubResourcePatchOption) error
}
StatusWriter knows how to update status subresource of a Kubernetes object.
type TransitionFunction ¶
type TransitionFunction[T client.Object] func(existing, desired T) error
type Writer ¶
type Writer[T client.Object] interface {
// Create saves the object obj in the Kubernetes cluster.
Create(ctx context.Context, obj T, opts ...client.CreateOption) error
// Delete deletes the given obj from Kubernetes cluster.
Delete(ctx context.Context, obj T, opts ...client.DeleteOption) 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 T, opts ...client.UpdateOption) error
// Patch patches 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.
Patch(ctx context.Context, obj T, patch client.Patch, opts ...client.PatchOption) error
// DeleteAllOf deletes all objects of the given type matching the given options.
DeleteAllOf(ctx context.Context, obj T, opts ...client.DeleteAllOfOption) error
// Create or Update the passed in object.
Upsert(ctx context.Context, obj T, transitionFuncs ...TransitionFunction[T]) error
}
Click to show internal directories.
Click to hide internal directories.