Skip to content

Commit

Permalink
Add v1beta3 API
Browse files Browse the repository at this point in the history
  • Loading branch information
vignesh-goutham committed Jul 13, 2023
1 parent ff094da commit 7cef82c
Show file tree
Hide file tree
Showing 154 changed files with 6,328 additions and 786 deletions.
143 changes: 131 additions & 12 deletions PROJECT
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ domain: cluster.x-k8s.io
projectName: cluster-api-provider-capc
repo: sigs.k8s.io/cluster-api-provider-cloudstack
resources:
# v1beta3 types
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackCluster
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
webhooks:
defaulting: true
validation: true
Expand All @@ -22,8 +23,8 @@ resources:
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachine
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
webhooks:
defaulting: true
validation: true
Expand All @@ -35,8 +36,8 @@ resources:
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineTemplate
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
webhooks:
defaulting: true
validation: true
Expand All @@ -48,6 +49,105 @@ resources:
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackIsolatedNetwork
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackAffinityGroup
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineStateChecker
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
- api:
crdVersion: v1
namespaced: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackFailureDomain
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3
version: v1beta3
# v1beta2 types
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackCluster
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachine
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineTemplate
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackIsolatedNetwork
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackAffinityGroup
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineStateChecker
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
- api:
crdVersion: v1
namespaced: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackFailureDomain
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
# v1beta1 types
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackCluster
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
Expand All @@ -56,7 +156,7 @@ resources:
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackZone
kind: CloudStackMachine
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
Expand All @@ -65,7 +165,7 @@ resources:
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackAffinityGroup
kind: CloudStackMachineTemplate
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
Expand All @@ -74,15 +174,34 @@ resources:
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineStateChecker
kind: CloudStackIsolatedNetwork
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackFailureDomain
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2
version: v1beta2
kind: CloudStackZone
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackAffinityGroup
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
- api:
crdVersion: v1
namespaced: true
controller: true
domain: cluster.x-k8s.io
group: infrastructure
kind: CloudStackMachineStateChecker
path: sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta1
version: v1beta1
version: "3"
36 changes: 31 additions & 5 deletions api/v1beta1/cloudstackaffinitygroup_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,42 @@ limitations under the License.
package v1beta1

import (
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
machineryconversion "k8s.io/apimachinery/pkg/conversion"
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)

func (src *CloudStackAffinityGroup) ConvertTo(dstRaw conversion.Hub) error { // nolint
dst := dstRaw.(*v1beta2.CloudStackAffinityGroup)
return Convert_v1beta1_CloudStackAffinityGroup_To_v1beta2_CloudStackAffinityGroup(src, dst, nil)
dst := dstRaw.(*v1beta3.CloudStackAffinityGroup)
if err := Convert_v1beta1_CloudStackAffinityGroup_To_v1beta3_CloudStackAffinityGroup(src, dst, nil); err != nil {
return err
}

// Manually restore data
restored := &v1beta3.CloudStackAffinityGroup{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
if restored.Spec.FailureDomainName != "" {
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
}
return nil
}

func (dst *CloudStackAffinityGroup) ConvertFrom(srcRaw conversion.Hub) error { // nolint
src := srcRaw.(*v1beta2.CloudStackAffinityGroup)
return Convert_v1beta2_CloudStackAffinityGroup_To_v1beta1_CloudStackAffinityGroup(src, dst, nil)
src := srcRaw.(*v1beta3.CloudStackAffinityGroup)
if err := Convert_v1beta3_CloudStackAffinityGroup_To_v1beta1_CloudStackAffinityGroup(src, dst, nil); err != nil {
return err
}

// Preserve Hub data on down-conversion
if err := utilconversion.MarshalData(src, dst); err != nil {
return err
}
return nil
}

func Convert_v1beta3_CloudStackAffinityGroupSpec_To_v1beta1_CloudStackAffinityGroupSpec(in *v1beta3.CloudStackAffinityGroupSpec, out *CloudStackAffinityGroupSpec, s machineryconversion.Scope) error { // nolint
return autoConvert_v1beta3_CloudStackAffinityGroupSpec_To_v1beta1_CloudStackAffinityGroupSpec(in, out, s)
}
14 changes: 6 additions & 8 deletions api/v1beta1/cloudstackcluster_conversion.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The Kubernetes Authors.
Copyright 2023 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -17,18 +17,16 @@ limitations under the License.
package v1beta1

import (
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)

func (src *CloudStackCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
dst := dstRaw.(*v1beta2.CloudStackCluster)

return Convert_v1beta1_CloudStackCluster_To_v1beta2_CloudStackCluster(src, dst, nil)
dst := dstRaw.(*v1beta3.CloudStackCluster)
return Convert_v1beta1_CloudStackCluster_To_v1beta3_CloudStackCluster(src, dst, nil)
}

func (dst *CloudStackCluster) ConvertFrom(srcRaw conversion.Hub) error { // nolint
src := srcRaw.(*v1beta2.CloudStackCluster)

return Convert_v1beta2_CloudStackCluster_To_v1beta1_CloudStackCluster(src, dst, nil)
src := srcRaw.(*v1beta3.CloudStackCluster)
return Convert_v1beta3_CloudStackCluster_To_v1beta1_CloudStackCluster(src, dst, nil)
}
36 changes: 31 additions & 5 deletions api/v1beta1/cloudstackisolatednetwork_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,42 @@ limitations under the License.
package v1beta1

import (
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
machineryconversion "k8s.io/apimachinery/pkg/conversion"
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)

func (src *CloudStackIsolatedNetwork) ConvertTo(dstRaw conversion.Hub) error { // nolint
dst := dstRaw.(*v1beta2.CloudStackIsolatedNetwork)
return Convert_v1beta1_CloudStackIsolatedNetwork_To_v1beta2_CloudStackIsolatedNetwork(src, dst, nil)
dst := dstRaw.(*v1beta3.CloudStackIsolatedNetwork)
if err := Convert_v1beta1_CloudStackIsolatedNetwork_To_v1beta3_CloudStackIsolatedNetwork(src, dst, nil); err != nil {
return err
}

// Manually restore data
restored := &v1beta3.CloudStackIsolatedNetwork{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
if restored.Spec.FailureDomainName != "" {
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
}
return nil
}

func (dst *CloudStackIsolatedNetwork) ConvertFrom(srcRaw conversion.Hub) error { // nolint
src := srcRaw.(*v1beta2.CloudStackIsolatedNetwork)
return Convert_v1beta2_CloudStackIsolatedNetwork_To_v1beta1_CloudStackIsolatedNetwork(src, dst, nil)
src := srcRaw.(*v1beta3.CloudStackIsolatedNetwork)
if err := Convert_v1beta3_CloudStackIsolatedNetwork_To_v1beta1_CloudStackIsolatedNetwork(src, dst, nil); err != nil {
return err
}

// Preserve Hub data on down-conversion
if err := utilconversion.MarshalData(src, dst); err != nil {
return err
}
return nil
}

func Convert_v1beta3_CloudStackIsolatedNetworkSpec_To_v1beta1_CloudStackIsolatedNetworkSpec(in *v1beta3.CloudStackIsolatedNetworkSpec, out *CloudStackIsolatedNetworkSpec, s machineryconversion.Scope) error { // nolint
return autoConvert_v1beta3_CloudStackIsolatedNetworkSpec_To_v1beta1_CloudStackIsolatedNetworkSpec(in, out, s)
}
49 changes: 44 additions & 5 deletions api/v1beta1/cloudstackmachine_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,55 @@ limitations under the License.
package v1beta1

import (
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
machineryconversion "k8s.io/apimachinery/pkg/conversion"
"sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)

func (src *CloudStackMachine) ConvertTo(dstRaw conversion.Hub) error { // nolint
dst := dstRaw.(*v1beta2.CloudStackMachine)
return Convert_v1beta1_CloudStackMachine_To_v1beta2_CloudStackMachine(src, dst, nil)
dst := dstRaw.(*v1beta3.CloudStackMachine)
if err := Convert_v1beta1_CloudStackMachine_To_v1beta3_CloudStackMachine(src, dst, nil); err != nil {
return err
}

// Manually restore data
restored := &v1beta3.CloudStackMachine{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
if restored.Spec.FailureDomainName != "" {
dst.Spec.FailureDomainName = restored.Spec.FailureDomainName
}
if restored.Spec.UncompressedUserData != nil {
dst.Spec.UncompressedUserData = restored.Spec.UncompressedUserData
}
if restored.Status.Status != nil {
dst.Status.Status = restored.Status.Status
}
if restored.Status.Reason != nil {
dst.Status.Reason = restored.Status.Reason
}
return nil
}

func (dst *CloudStackMachine) ConvertFrom(srcRaw conversion.Hub) error { // nolint
src := srcRaw.(*v1beta2.CloudStackMachine)
return Convert_v1beta2_CloudStackMachine_To_v1beta1_CloudStackMachine(src, dst, nil)
src := srcRaw.(*v1beta3.CloudStackMachine)
if err := Convert_v1beta3_CloudStackMachine_To_v1beta1_CloudStackMachine(src, dst, nil); err != nil {
return err
}

// Preserve Hub data on down-conversion
if err := utilconversion.MarshalData(src, dst); err != nil {
return err
}
return nil
}

func Convert_v1beta3_CloudStackMachineSpec_To_v1beta1_CloudStackMachineSpec(in *v1beta3.CloudStackMachineSpec, out *CloudStackMachineSpec, s machineryconversion.Scope) error { // nolint
return autoConvert_v1beta3_CloudStackMachineSpec_To_v1beta1_CloudStackMachineSpec(in, out, s)
}

func Convert_v1beta3_CloudStackMachineStatus_To_v1beta1_CloudStackMachineStatus(in *v1beta3.CloudStackMachineStatus, out *CloudStackMachineStatus, s machineryconversion.Scope) error { // nolint
return autoConvert_v1beta3_CloudStackMachineStatus_To_v1beta1_CloudStackMachineStatus(in, out, s)
}
Loading

0 comments on commit 7cef82c

Please sign in to comment.