1
19
20 package kubecli
21
22 import (
23 "context"
24
25 k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26 "k8s.io/apimachinery/pkg/types"
27 "k8s.io/client-go/rest"
28
29 v1 "kubevirt.io/api/core/v1"
30 kvcorev1 "kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/core/v1"
31 )
32
33 func (k *kubevirt) VirtualMachineInstanceMigration(namespace string) VirtualMachineInstanceMigrationInterface {
34 return &migration{
35 VirtualMachineInstanceMigrationInterface: k.GeneratedKubeVirtClient().KubevirtV1().VirtualMachineInstanceMigrations(namespace),
36 restClient: k.restClient,
37 namespace: namespace,
38 resource: "virtualmachineinstancemigrations",
39 }
40 }
41
42 type migration struct {
43 kvcorev1.VirtualMachineInstanceMigrationInterface
44 restClient *rest.RESTClient
45 namespace string
46 resource string
47 }
48
49
50 func (o *migration) Create(ctx context.Context, newMigration *v1.VirtualMachineInstanceMigration, options k8smetav1.CreateOptions) (*v1.VirtualMachineInstanceMigration, error) {
51 newMigrationResult, err := o.VirtualMachineInstanceMigrationInterface.Create(ctx, newMigration, options)
52 newMigrationResult.SetGroupVersionKind(v1.VirtualMachineInstanceMigrationGroupVersionKind)
53
54 return newMigrationResult, err
55 }
56
57
58 func (o *migration) Get(ctx context.Context, name string, options k8smetav1.GetOptions) (*v1.VirtualMachineInstanceMigration, error) {
59 newVm, err := o.VirtualMachineInstanceMigrationInterface.Get(ctx, name, options)
60 newVm.SetGroupVersionKind(v1.VirtualMachineInstanceMigrationGroupVersionKind)
61
62 return newVm, err
63 }
64
65
66 func (o *migration) Update(ctx context.Context, migration *v1.VirtualMachineInstanceMigration, opts k8smetav1.UpdateOptions) (*v1.VirtualMachineInstanceMigration, error) {
67 updatedVm, err := o.VirtualMachineInstanceMigrationInterface.Update(ctx, migration, opts)
68 updatedVm.SetGroupVersionKind(v1.VirtualMachineInstanceMigrationGroupVersionKind)
69
70 return updatedVm, err
71 }
72
73
74 func (o *migration) Delete(ctx context.Context, name string, options k8smetav1.DeleteOptions) error {
75 return o.VirtualMachineInstanceMigrationInterface.Delete(ctx, name, options)
76 }
77
78
79 func (o *migration) List(ctx context.Context, options k8smetav1.ListOptions) (*v1.VirtualMachineInstanceMigrationList, error) {
80 newVmiMigrationList, err := o.VirtualMachineInstanceMigrationInterface.List(ctx, options)
81 for i := range newVmiMigrationList.Items {
82 newVmiMigrationList.Items[i].SetGroupVersionKind(v1.VirtualMachineInstanceMigrationGroupVersionKind)
83 }
84
85 return newVmiMigrationList, err
86 }
87
88 func (o *migration) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts k8smetav1.PatchOptions, subresources ...string) (result *v1.VirtualMachineInstanceMigration, err error) {
89 return o.VirtualMachineInstanceMigrationInterface.Patch(ctx, name, pt, data, opts, subresources...)
90 }
91
92 func (o *migration) PatchStatus(ctx context.Context, name string, pt types.PatchType, data []byte, opts k8smetav1.PatchOptions) (result *v1.VirtualMachineInstanceMigration, err error) {
93 return o.Patch(ctx, name, pt, data, opts, "status")
94 }
95
96 func (o *migration) UpdateStatus(ctx context.Context, vmim *v1.VirtualMachineInstanceMigration, opts k8smetav1.UpdateOptions) (result *v1.VirtualMachineInstanceMigration, err error) {
97 result, err = o.VirtualMachineInstanceMigrationInterface.UpdateStatus(ctx, vmim, opts)
98 result.SetGroupVersionKind(v1.VirtualMachineInstanceMigrationGroupVersionKind)
99 return
100 }
101
View as plain text