Skip to content

Commit

Permalink
feat(client-gen): use generated interface for common methods for VMIP
Browse files Browse the repository at this point in the history
Convert using the generated client instead of the custom one.
This is the path will be followed:
1. Introduction of the generated client.
2. Redirect common api calls to the generated client
 leaving the custom struct as extended wrapper.
3. Drop the custom wrapper structs, moving to the generated
 resources only.

This the step 2 for the VMIP resource of the conversion
 using the generated client.

Signed-off-by: fossedihelm <ffossemo@redhat.com>
  • Loading branch information
fossedihelm committed Feb 19, 2024
1 parent 8016b6b commit a6af07d
Showing 1 changed file with 14 additions and 49 deletions.
63 changes: 14 additions & 49 deletions staging/src/kubevirt.io/client-go/kubecli/vmipreset.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,43 +24,36 @@ import (

k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"

v1 "kubevirt.io/api/core/v1"
kvcorev1 "kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/core/v1"
)

func (k *kubevirt) VirtualMachineInstancePreset(namespace string) VirtualMachineInstancePresetInterface {
return &vmiPresets{k.restClient, namespace, "virtualmachineinstancepresets"}
return &vmiPresets{
k.CoreClient().KubevirtV1().VirtualMachineInstancePresets(namespace),
k.restClient,
namespace,
"virtualmachineinstancepresets",
}
}

type vmiPresets struct {
kvcorev1.VirtualMachineInstancePresetInterface
restClient *rest.RESTClient
namespace string
resource string
}

func (v *vmiPresets) Get(name string, options k8smetav1.GetOptions) (vmi *v1.VirtualMachineInstancePreset, err error) {
vmi = &v1.VirtualMachineInstancePreset{}
err = v.restClient.Get().
Resource(v.resource).
Namespace(v.namespace).
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.Background()).
Into(vmi)
vmi, err = v.VirtualMachineInstancePresetInterface.Get(context.Background(), name, options)
vmi.SetGroupVersionKind(v1.VirtualMachineInstancePresetGroupVersionKind)
return
}

func (v *vmiPresets) List(options k8smetav1.ListOptions) (vmiPresetList *v1.VirtualMachineInstancePresetList, err error) {
vmiPresetList = &v1.VirtualMachineInstancePresetList{}
err = v.restClient.Get().
Resource(v.resource).
Namespace(v.namespace).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.Background()).
Into(vmiPresetList)
vmiPresetList, err = v.VirtualMachineInstancePresetInterface.List(context.Background(), options)
for i := range vmiPresetList.Items {
vmiPresetList.Items[i].SetGroupVersionKind(v1.VirtualMachineInstancePresetGroupVersionKind)
}
Expand All @@ -69,49 +62,21 @@ func (v *vmiPresets) List(options k8smetav1.ListOptions) (vmiPresetList *v1.Virt
}

func (v *vmiPresets) Create(vmi *v1.VirtualMachineInstancePreset) (result *v1.VirtualMachineInstancePreset, err error) {
result = &v1.VirtualMachineInstancePreset{}
err = v.restClient.Post().
Namespace(v.namespace).
Resource(v.resource).
Body(vmi).
Do(context.Background()).
Into(result)
result, err = v.VirtualMachineInstancePresetInterface.Create(context.Background(), vmi, k8smetav1.CreateOptions{})
result.SetGroupVersionKind(v1.VirtualMachineInstancePresetGroupVersionKind)
return
}

func (v *vmiPresets) Update(vmi *v1.VirtualMachineInstancePreset) (result *v1.VirtualMachineInstancePreset, err error) {
result = &v1.VirtualMachineInstancePreset{}
err = v.restClient.Put().
Name(vmi.ObjectMeta.Name).
Namespace(v.namespace).
Resource(v.resource).
Body(vmi).
Do(context.Background()).
Into(result)
result, err = v.VirtualMachineInstancePresetInterface.Update(context.Background(), vmi, k8smetav1.UpdateOptions{})
result.SetGroupVersionKind(v1.VirtualMachineInstancePresetGroupVersionKind)
return
}

func (v *vmiPresets) Delete(name string, options *k8smetav1.DeleteOptions) error {
return v.restClient.Delete().
Namespace(v.namespace).
Resource(v.resource).
Name(name).
Body(options).
Do(context.Background()).
Error()
return v.VirtualMachineInstancePresetInterface.Delete(context.Background(), name, *options)
}

func (v *vmiPresets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.VirtualMachineInstancePreset, err error) {
result = &v1.VirtualMachineInstancePreset{}
err = v.restClient.Patch(pt).
Namespace(v.namespace).
Resource(v.resource).
SubResource(subresources...).
Name(name).
Body(data).
Do(context.Background()).
Into(result)
return
return v.VirtualMachineInstancePresetInterface.Patch(context.Background(), name, pt, data, k8smetav1.PatchOptions{}, subresources...)
}

0 comments on commit a6af07d

Please sign in to comment.