Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions api/v1alpha4/virtualmachineclassinstance_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// © Broadcom. All Rights Reserved.
// The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha4

import (
ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
)

// ConvertTo converts this VirtualMachineClassInstance to the Hub version.
func (src *VirtualMachineClassInstance) ConvertTo(dstRaw ctrlconversion.Hub) error {
Comment thread
bryanv marked this conversation as resolved.
dst := dstRaw.(*vmopv1.VirtualMachineClassInstance)
return Convert_v1alpha4_VirtualMachineClassInstance_To_v1alpha6_VirtualMachineClassInstance(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineClassInstance.
func (dst *VirtualMachineClassInstance) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineClassInstance)
return Convert_v1alpha6_VirtualMachineClassInstance_To_v1alpha4_VirtualMachineClassInstance(src, dst, nil)
}
35 changes: 35 additions & 0 deletions api/v1alpha5/virtualmachineclassinstance_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha5

import (
ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
)

// ConvertTo converts this VirtualMachineClassInstance to the Hub version.
func (src *VirtualMachineClassInstance) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineClassInstance)
return Convert_v1alpha5_VirtualMachineClassInstance_To_v1alpha6_VirtualMachineClassInstance(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineClassInstance.
func (dst *VirtualMachineClassInstance) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineClassInstance)
return Convert_v1alpha6_VirtualMachineClassInstance_To_v1alpha5_VirtualMachineClassInstance(src, dst, nil)
}

// ConvertTo converts this VirtualMachineClassInstanceList to the Hub version.
func (src *VirtualMachineClassInstanceList) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineClassInstanceList)
return Convert_v1alpha5_VirtualMachineClassInstanceList_To_v1alpha6_VirtualMachineClassInstanceList(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineClassInstanceList.
func (dst *VirtualMachineClassInstanceList) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineClassInstanceList)
return Convert_v1alpha6_VirtualMachineClassInstanceList_To_v1alpha5_VirtualMachineClassInstanceList(src, dst, nil)
}
35 changes: 35 additions & 0 deletions api/v1alpha5/virtualmachinegroup_publishrequest_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha5

import (
ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
)

// ConvertTo converts this VirtualMachineGroupPublishRequest to the Hub version.
func (src *VirtualMachineGroupPublishRequest) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineGroupPublishRequest)
return Convert_v1alpha5_VirtualMachineGroupPublishRequest_To_v1alpha6_VirtualMachineGroupPublishRequest(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineGroupPublishRequest.
func (dst *VirtualMachineGroupPublishRequest) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineGroupPublishRequest)
return Convert_v1alpha6_VirtualMachineGroupPublishRequest_To_v1alpha5_VirtualMachineGroupPublishRequest(src, dst, nil)
}

// ConvertTo converts this VirtualMachineGroupPublishRequestList to the Hub version.
func (src *VirtualMachineGroupPublishRequestList) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineGroupPublishRequestList)
return Convert_v1alpha5_VirtualMachineGroupPublishRequestList_To_v1alpha6_VirtualMachineGroupPublishRequestList(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineGroupPublishRequestList.
func (dst *VirtualMachineGroupPublishRequestList) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineGroupPublishRequestList)
return Convert_v1alpha6_VirtualMachineGroupPublishRequestList_To_v1alpha5_VirtualMachineGroupPublishRequestList(src, dst, nil)
}
35 changes: 35 additions & 0 deletions api/v1alpha5/virtualmachinesnapshot_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha5

import (
ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
)

// ConvertTo converts this VirtualMachineSnapshot to the Hub version.
func (src *VirtualMachineSnapshot) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineSnapshot)
return Convert_v1alpha5_VirtualMachineSnapshot_To_v1alpha6_VirtualMachineSnapshot(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineSnapshot.
func (dst *VirtualMachineSnapshot) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineSnapshot)
return Convert_v1alpha6_VirtualMachineSnapshot_To_v1alpha5_VirtualMachineSnapshot(src, dst, nil)
}

// ConvertTo converts this VirtualMachineSnapshotList to the Hub version.
func (src *VirtualMachineSnapshotList) ConvertTo(dstRaw ctrlconversion.Hub) error {
dst := dstRaw.(*vmopv1.VirtualMachineSnapshotList)
return Convert_v1alpha5_VirtualMachineSnapshotList_To_v1alpha6_VirtualMachineSnapshotList(src, dst, nil)
}

// ConvertFrom converts the hub version to this VirtualMachineSnapshotList.
func (dst *VirtualMachineSnapshotList) ConvertFrom(srcRaw ctrlconversion.Hub) error {
src := srcRaw.(*vmopv1.VirtualMachineSnapshotList)
return Convert_v1alpha6_VirtualMachineSnapshotList_To_v1alpha5_VirtualMachineSnapshotList(src, dst, nil)
}
11 changes: 11 additions & 0 deletions api/v1alpha6/virtualmachineclassinstance_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha6

// Hub marks VirtualMachineClassInstance as a conversion hub.
func (*VirtualMachineClassInstance) Hub() {}

// Hub marks VirtualMachineClassInstanceList as a conversion hub.
func (*VirtualMachineClassInstanceList) Hub() {}
11 changes: 11 additions & 0 deletions api/v1alpha6/virtualmachinegroup_publishrequest_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha6

// Hub marks VirtualMachineGroupPublishRequest as a conversion hub.
func (*VirtualMachineGroupPublishRequest) Hub() {}

// Hub marks VirtualMachineGroupPublishRequestList as a conversion hub.
func (*VirtualMachineGroupPublishRequestList) Hub() {}
11 changes: 11 additions & 0 deletions api/v1alpha6/virtualmachinesnapshot_conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// © Broadcom. All Rights Reserved.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha6

// Hub marks VirtualMachineSnapshot as a conversion hub.
func (*VirtualMachineSnapshot) Hub() {}

// Hub marks VirtualMachineSnapshotList as a conversion hub.
func (*VirtualMachineSnapshotList) Hub() {}
10 changes: 10 additions & 0 deletions webhooks/conversion/v1alpha4/webhooks.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
ctrlmgr "sigs.k8s.io/controller-runtime/pkg/manager"

vmopv1a4 "github.com/vmware-tanzu/vm-operator/api/v1alpha4"
pkgcfg "github.com/vmware-tanzu/vm-operator/pkg/config"
pkgctx "github.com/vmware-tanzu/vm-operator/pkg/context"
)

Expand All @@ -28,6 +29,15 @@ func AddToManager(ctx *pkgctx.ControllerManagerContext, mgr ctrlmgr.Manager) err
return err
}

if pkgcfg.FromContext(ctx).Features.ImmutableClasses {
if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a4.VirtualMachineClassInstance{}).
Complete(); err != nil {

return err
}
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a4.VirtualMachineImage{}).
Complete(); err != nil {
Expand Down
60 changes: 49 additions & 11 deletions webhooks/conversion/v1alpha5/webhooks.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// © Broadcom. All Rights Reserved.
// The term Broadcom refers to Broadcom Inc. and/or its subsidiaries.
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
// SPDX-License-Identifier: Apache-2.0

package v1alpha5
Expand All @@ -8,70 +8,108 @@ import (
ctrl "sigs.k8s.io/controller-runtime"
ctrlmgr "sigs.k8s.io/controller-runtime/pkg/manager"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
vmopv1a5 "github.com/vmware-tanzu/vm-operator/api/v1alpha5"
pkgcfg "github.com/vmware-tanzu/vm-operator/pkg/config"
pkgctx "github.com/vmware-tanzu/vm-operator/pkg/context"
)

func AddToManager(ctx *pkgctx.ControllerManagerContext, mgr ctrlmgr.Manager) error {

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachine{}).
For(&vmopv1a5.ClusterVirtualMachineImage{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineClass{}).
For(&vmopv1a5.VirtualMachine{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineImage{}).
For(&vmopv1a5.VirtualMachineClass{}).
Complete(); err != nil {

return err
}

if pkgcfg.FromContext(ctx).Features.ImmutableClasses {
if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a5.VirtualMachineClassInstance{}).
Complete(); err != nil {

return err
}
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a5.VirtualMachineGroup{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a5.VirtualMachineGroupPublishRequest{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a5.VirtualMachineImage{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1a5.VirtualMachineImageCache{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.ClusterVirtualMachineImage{}).
For(&vmopv1a5.VirtualMachinePublishRequest{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineImageCache{}).
For(&vmopv1a5.VirtualMachineReplicaSet{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachinePublishRequest{}).
For(&vmopv1a5.VirtualMachineService{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineService{}).
For(&vmopv1a5.VirtualMachineSetResourcePolicy{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineSetResourcePolicy{}).
For(&vmopv1a5.VirtualMachineSnapshot{}).
Complete(); err != nil {

return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineWebConsoleRequest{}).
For(&vmopv1a5.VirtualMachineWebConsoleRequest{}).
Complete(); err != nil {

return err
Expand Down
11 changes: 7 additions & 4 deletions webhooks/conversion/v1alpha6/webhooks.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
ctrlmgr "sigs.k8s.io/controller-runtime/pkg/manager"

vmopv1 "github.com/vmware-tanzu/vm-operator/api/v1alpha6"
pkgcfg "github.com/vmware-tanzu/vm-operator/pkg/config"
pkgctx "github.com/vmware-tanzu/vm-operator/pkg/context"
)

Expand All @@ -35,11 +36,13 @@ func AddToManager(ctx *pkgctx.ControllerManagerContext, mgr ctrlmgr.Manager) err
return err
}

if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineClassInstance{}).
Complete(); err != nil {
if pkgcfg.FromContext(ctx).Features.ImmutableClasses {
if err := ctrl.NewWebhookManagedBy(mgr).
For(&vmopv1.VirtualMachineClassInstance{}).
Complete(); err != nil {

return err
return err
}
}

if err := ctrl.NewWebhookManagedBy(mgr).
Expand Down
Loading