@@ -39,13 +39,35 @@ type CloudStackIdentityReference struct {
39
39
Name string `json:"name"`
40
40
}
41
41
42
+ type Network struct {
43
+ // Cloudstack Network ID the cluster is built in.
44
+ Id string `json:"networkID,omitempty"`
45
+
46
+ // Cloudstack Network Type the cluster is built in.
47
+ // + optional
48
+ Type string `json:"networkType,omitempty"`
49
+
50
+ // Name of the infrastructure identity to be used.
51
+ // +optional
52
+ Name string `json:"name"`
53
+ }
54
+
55
+ type Zone struct {
56
+ // The Zone name.
57
+ // + optional
58
+ Name string `json:"name"`
59
+
60
+ // The CS zone ID the cluster is built in.
61
+ // + optional
62
+ Id string `json:"iD"`
63
+
64
+ // The network within the Zone to use.
65
+ Network Network `json:"network"`
66
+ }
67
+
42
68
// CloudStackClusterSpec defines the desired state of CloudStackCluster.
43
69
type CloudStackClusterSpec struct {
44
- // CloudStack Zone name.
45
- Zone string `json:"zone"`
46
-
47
- // CloudStack guest network name.
48
- Network string `json:"network,omitempty"`
70
+ Zones []Zone `json:"zones"`
49
71
50
72
// The kubernetes control plane endpoint.
51
73
ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
@@ -68,15 +90,6 @@ type CloudStackClusterStatus struct {
68
90
// Reflects the readiness of the CS cluster.
69
91
Ready bool `json:"ready"`
70
92
71
- // The CS zone ID the cluster is built in.
72
- ZoneID string `json:"zoneID"`
73
-
74
- // Cloudstack Network ID the cluster is built in.
75
- NetworkID string `json:"networkID,omitempty"`
76
-
77
- // Cloudstack Network Type the cluster is built in.
78
- NetworkType string `json:"networkType,omitempty"`
79
-
80
93
// Cloudstack Domain ID the cluster is built in.
81
94
DomainID string `json:"domainID,omitempty"`
82
95
0 commit comments