Documentation ¶
Index ¶
- func NewFakeDiscoveryClient(registeredResources []schema.GroupVersionResource) *fakeDiscoveryClient
- type IDiscovery
- type Interface
- type Resource
- type TopLevelApiDescription
- func (gvrs TopLevelApiDescription) GroupVersionKind() schema.GroupVersionKind
- func (gvrs TopLevelApiDescription) GroupVersionResource() schema.GroupVersionResource
- func (gvrs TopLevelApiDescription) ResourceSubresource() string
- func (gvrs TopLevelApiDescription) WithSubResource(subresource string) TopLevelApiDescription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFakeDiscoveryClient ¶
func NewFakeDiscoveryClient(registeredResources []schema.GroupVersionResource) *fakeDiscoveryClient
NewFakeDiscoveryClient returns a fakediscovery client
Types ¶
type IDiscovery ¶
type IDiscovery interface { FindResources(group, version, kind, subresource string) (map[TopLevelApiDescription]metav1.APIResource, error) // TODO: there's no mapping from GVK to GVR, this is very error prone GetGVRFromGVK(schema.GroupVersionKind) (schema.GroupVersionResource, error) GetGVKFromGVR(schema.GroupVersionResource) (schema.GroupVersionKind, error) OpenAPISchema() (*openapiv2.Document, error) CachedDiscoveryInterface() discovery.CachedDiscoveryInterface }
IDiscovery provides interface to mange Kind and GVR mapping
type Interface ¶
type Interface interface { // GetKubeClient provides typed kube client GetKubeClient() kubernetes.Interface // GetEventsInterface provides typed interface for events GetEventsInterface() eventsv1.EventsV1Interface // GetDynamicInterface fetches underlying dynamic interface GetDynamicInterface() dynamic.Interface // Discovery return the discovery client implementation Discovery() IDiscovery // SetDiscovery sets the discovery client implementation SetDiscovery(discoveryClient IDiscovery) // RawAbsPath performs a raw call to the kubernetes API RawAbsPath(ctx context.Context, path string, method string, dataReader io.Reader) ([]byte, error) // GetResource returns the resource in unstructured/json format GetResource(ctx context.Context, apiVersion string, kind string, namespace string, name string, subresources ...string) (*unstructured.Unstructured, error) // PatchResource patches the resource PatchResource(ctx context.Context, apiVersion string, kind string, namespace string, name string, patch []byte) (*unstructured.Unstructured, error) // ListResource returns the list of resources in unstructured/json format // Access items using []Items ListResource(ctx context.Context, apiVersion string, kind string, namespace string, lselector *metav1.LabelSelector) (*unstructured.UnstructuredList, error) // DeleteResource deletes the specified resource DeleteResource(ctx context.Context, apiVersion string, kind string, namespace string, name string, dryRun bool) error // CreateResource creates object for the specified resource/namespace CreateResource(ctx context.Context, apiVersion string, kind string, namespace string, obj interface{}, dryRun bool) (*unstructured.Unstructured, error) // UpdateResource updates object for the specified resource/namespace UpdateResource(ctx context.Context, apiVersion string, kind string, namespace string, obj interface{}, dryRun bool, subresources ...string) (*unstructured.Unstructured, error) // UpdateStatusResource updates the resource "status" subresource UpdateStatusResource(ctx context.Context, apiVersion string, kind string, namespace string, obj interface{}, dryRun bool) (*unstructured.Unstructured, error) // ApplyResource applies object for the specified resource/namespace using server-side apply ApplyResource(ctx context.Context, apiVersion string, kind string, namespace string, name string, obj interface{}, dryRun bool, fieldManager string, subresources ...string) (*unstructured.Unstructured, error) // ApplyStatusResource applies the resource "status" subresource using server-side apply ApplyStatusResource(ctx context.Context, apiVersion string, kind string, namespace string, name string, obj interface{}, dryRun bool, fieldManager string) (*unstructured.Unstructured, error) }
func NewClient ¶
func NewClient( ctx context.Context, dyn dynamic.Interface, kube kubernetes.Interface, resync time.Duration, ) (Interface, error)
NewClient creates new instance of client
func NewEmptyFakeClient ¶
func NewEmptyFakeClient() Interface
type Resource ¶ added in v1.10.5
type Resource struct { Group string Version string Resource string SubResource string Unstructured unstructured.Unstructured }
type TopLevelApiDescription ¶ added in v1.10.0
type TopLevelApiDescription struct { schema.GroupVersion Kind string Resource string SubResource string }
TopLevelApiDescription contains a group/version/resource/subresource reference
func (TopLevelApiDescription) GroupVersionKind ¶ added in v1.10.0
func (gvrs TopLevelApiDescription) GroupVersionKind() schema.GroupVersionKind
func (TopLevelApiDescription) GroupVersionResource ¶ added in v1.10.0
func (gvrs TopLevelApiDescription) GroupVersionResource() schema.GroupVersionResource
func (TopLevelApiDescription) ResourceSubresource ¶ added in v1.10.0
func (gvrs TopLevelApiDescription) ResourceSubresource() string
func (TopLevelApiDescription) WithSubResource ¶ added in v1.10.0
func (gvrs TopLevelApiDescription) WithSubResource(subresource string) TopLevelApiDescription
Click to show internal directories.
Click to hide internal directories.