github.com/verrazzano/verrazzano@v1.7.1/tests/e2e/clusterapi/capi/capiModels.go (about) 1 // Copyright (c) 2023, Oracle and/or its affiliates. 2 // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 4 package capi 5 6 import "time" 7 8 type Cluster struct { 9 APIVersion string `json:"apiVersion"` 10 Kind string `json:"kind"` 11 Metadata struct { 12 CreationTimestamp time.Time `json:"creationTimestamp"` 13 Finalizers []string `json:"finalizers"` 14 Generation int `json:"generation"` 15 Labels struct { 16 ClusterXK8SIoClusterName string `json:"cluster.x-k8s.io/cluster-name"` 17 } `json:"labels"` 18 Name string `json:"name"` 19 Namespace string `json:"namespace"` 20 ResourceVersion string `json:"resourceVersion"` 21 UID string `json:"uid"` 22 } `json:"metadata"` 23 Spec struct { 24 ClusterNetwork struct { 25 Pods struct { 26 CidrBlocks []string `json:"cidrBlocks"` 27 } `json:"pods"` 28 ServiceDomain string `json:"serviceDomain"` 29 Services struct { 30 CidrBlocks []string `json:"cidrBlocks"` 31 } `json:"services"` 32 } `json:"clusterNetwork"` 33 ControlPlaneEndpoint struct { 34 Host string `json:"host"` 35 Port int `json:"port"` 36 } `json:"controlPlaneEndpoint"` 37 ControlPlaneRef struct { 38 APIVersion string `json:"apiVersion"` 39 Kind string `json:"kind"` 40 Name string `json:"name"` 41 Namespace string `json:"namespace"` 42 } `json:"controlPlaneRef"` 43 InfrastructureRef struct { 44 APIVersion string `json:"apiVersion"` 45 Kind string `json:"kind"` 46 Name string `json:"name"` 47 Namespace string `json:"namespace"` 48 } `json:"infrastructureRef"` 49 Topology struct { 50 Class string `json:"class"` 51 ControlPlane struct { 52 Metadata struct { 53 } `json:"metadata"` 54 Replicas int `json:"replicas"` 55 } `json:"controlPlane"` 56 Variables []struct { 57 Name string `json:"name"` 58 Value interface{} `json:"value"` 59 } `json:"variables"` 60 Version string `json:"version"` 61 Workers struct { 62 MachineDeployments []struct { 63 Class string `json:"class"` 64 Metadata struct { 65 } `json:"metadata"` 66 Name string `json:"name"` 67 Replicas int `json:"replicas"` 68 } `json:"machineDeployments"` 69 } `json:"workers"` 70 } `json:"topology"` 71 } `json:"spec"` 72 Status struct { 73 Conditions []struct { 74 LastTransitionTime time.Time `json:"lastTransitionTime"` 75 Status string `json:"status"` 76 Type string `json:"type"` 77 } `json:"conditions"` 78 ControlPlaneReady bool `json:"controlPlaneReady"` 79 FailureDomains struct { 80 Field1 struct { 81 Attributes struct { 82 AvailabilityDomain string `json:"AvailabilityDomain"` 83 } `json:"attributes"` 84 ControlPlane bool `json:"controlPlane"` 85 } `json:"1"` 86 Field2 struct { 87 Attributes struct { 88 AvailabilityDomain string `json:"AvailabilityDomain"` 89 } `json:"attributes"` 90 ControlPlane bool `json:"controlPlane"` 91 } `json:"2"` 92 Field3 struct { 93 Attributes struct { 94 AvailabilityDomain string `json:"AvailabilityDomain"` 95 } `json:"attributes"` 96 ControlPlane bool `json:"controlPlane"` 97 } `json:"3"` 98 } `json:"failureDomains"` 99 InfrastructureReady bool `json:"infrastructureReady"` 100 ObservedGeneration int `json:"observedGeneration"` 101 Phase string `json:"phase"` 102 } `json:"status"` 103 } 104 105 type OCNEControlPlane struct { 106 APIVersion string `json:"apiVersion"` 107 Kind string `json:"kind"` 108 Metadata struct { 109 CreationTimestamp time.Time `json:"creationTimestamp"` 110 Finalizers []string `json:"finalizers"` 111 Generation int `json:"generation"` 112 Labels struct { 113 ClusterXK8SIoClusterName string `json:"cluster.x-k8s.io/cluster-name"` 114 } `json:"labels"` 115 Name string `json:"name"` 116 Namespace string `json:"namespace"` 117 OwnerReferences []struct { 118 APIVersion string `json:"apiVersion"` 119 BlockOwnerDeletion bool `json:"blockOwnerDeletion"` 120 Controller bool `json:"controller"` 121 Kind string `json:"kind"` 122 Name string `json:"name"` 123 UID string `json:"uid"` 124 } `json:"ownerReferences"` 125 ResourceVersion string `json:"resourceVersion"` 126 UID string `json:"uid"` 127 } `json:"metadata"` 128 Spec struct { 129 ControlPlaneConfig struct { 130 ClusterConfiguration struct { 131 APIServer struct { 132 CertSANs []string `json:"certSANs"` 133 } `json:"apiServer"` 134 ControllerManager struct { 135 } `json:"controllerManager"` 136 DNS struct { 137 ImageRepository string `json:"imageRepository"` 138 ImageTag string `json:"imageTag"` 139 } `json:"dns"` 140 Etcd struct { 141 Local struct { 142 ImageRepository string `json:"imageRepository"` 143 ImageTag string `json:"imageTag"` 144 } `json:"local"` 145 } `json:"etcd"` 146 ImageRepository string `json:"imageRepository"` 147 Networking struct { 148 } `json:"networking"` 149 Scheduler struct { 150 } `json:"scheduler"` 151 } `json:"clusterConfiguration"` 152 Format string `json:"format"` 153 ImageConfiguration struct { 154 Proxy struct { 155 HTTPProxy string `json:"httpProxy"` 156 HTTPSProxy string `json:"httpsProxy"` 157 NoProxy string `json:"noProxy"` 158 } `json:"proxy"` 159 } `json:"imageConfiguration"` 160 InitConfiguration struct { 161 LocalAPIEndpoint struct { 162 } `json:"localAPIEndpoint"` 163 NodeRegistration struct { 164 CriSocket string `json:"criSocket"` 165 KubeletExtraArgs struct { 166 CloudProvider string `json:"cloud-provider"` 167 ProviderID string `json:"provider-id"` 168 } `json:"kubeletExtraArgs"` 169 } `json:"nodeRegistration"` 170 } `json:"initConfiguration"` 171 JoinConfiguration struct { 172 Discovery struct { 173 } `json:"discovery"` 174 NodeRegistration struct { 175 CriSocket string `json:"criSocket"` 176 KubeletExtraArgs struct { 177 CloudProvider string `json:"cloud-provider"` 178 ProviderID string `json:"provider-id"` 179 } `json:"kubeletExtraArgs"` 180 } `json:"nodeRegistration"` 181 } `json:"joinConfiguration"` 182 } `json:"controlPlaneConfig"` 183 MachineTemplate struct { 184 InfrastructureRef struct { 185 APIVersion string `json:"apiVersion"` 186 Kind string `json:"kind"` 187 Name string `json:"name"` 188 Namespace string `json:"namespace"` 189 } `json:"infrastructureRef"` 190 Metadata struct { 191 } `json:"metadata"` 192 } `json:"machineTemplate"` 193 ModuleOperator struct { 194 Enabled bool `json:"enabled"` 195 } `json:"moduleOperator"` 196 VerrazzanoPlatformOperator struct { 197 Enabled bool `json:"enabled"` 198 } `json:"verrazzanoPlatformOperator"` 199 Replicas int `json:"replicas"` 200 RolloutStrategy struct { 201 RollingUpdate struct { 202 MaxSurge int `json:"maxSurge"` 203 } `json:"rollingUpdate"` 204 Type string `json:"type"` 205 } `json:"rolloutStrategy"` 206 Version string `json:"version"` 207 } `json:"spec"` 208 Status struct { 209 Conditions []struct { 210 LastTransitionTime time.Time `json:"lastTransitionTime"` 211 Status string `json:"status"` 212 Type string `json:"type"` 213 Reason string `json:"reason"` 214 Severity string `json:"severity"` 215 } `json:"conditions"` 216 Initialized bool `json:"initialized"` 217 ObservedGeneration int `json:"observedGeneration"` 218 Ready bool `json:"ready"` 219 ReadyReplicas int `json:"readyReplicas"` 220 Replicas int `json:"replicas"` 221 Selector string `json:"selector"` 222 UnavailableReplicas int `json:"unavailableReplicas"` 223 UpdatedReplicas int `json:"updatedReplicas"` 224 Version string `json:"version"` 225 } `json:"status"` 226 } 227 228 type Machine struct { 229 APIVersion string `json:"apiVersion"` 230 Kind string `json:"kind"` 231 Metadata struct { 232 Annotations struct { 233 ControlplaneClusterXK8SIoOcneClusterConfiguration string `json:"controlplane.cluster.x-k8s.io/ocne-cluster-configuration"` 234 } `json:"annotations"` 235 CreationTimestamp time.Time `json:"creationTimestamp"` 236 Finalizers []string `json:"finalizers"` 237 Generation int `json:"generation"` 238 Labels struct { 239 ClusterXK8SIoClusterName string `json:"cluster.x-k8s.io/cluster-name"` 240 ClusterXK8SIoControlPlane string `json:"cluster.x-k8s.io/control-plane"` 241 ClusterXK8SIoControlPlaneName string `json:"cluster.x-k8s.io/control-plane-name"` 242 } `json:"labels"` 243 Name string `json:"name"` 244 Namespace string `json:"namespace"` 245 OwnerReferences []struct { 246 APIVersion string `json:"apiVersion"` 247 BlockOwnerDeletion bool `json:"blockOwnerDeletion"` 248 Controller bool `json:"controller"` 249 Kind string `json:"kind"` 250 Name string `json:"name"` 251 UID string `json:"uid"` 252 } `json:"ownerReferences"` 253 ResourceVersion string `json:"resourceVersion"` 254 UID string `json:"uid"` 255 } `json:"metadata"` 256 Spec struct { 257 Bootstrap struct { 258 ConfigRef struct { 259 APIVersion string `json:"apiVersion"` 260 Kind string `json:"kind"` 261 Name string `json:"name"` 262 Namespace string `json:"namespace"` 263 UID string `json:"uid"` 264 } `json:"configRef"` 265 DataSecretName string `json:"dataSecretName"` 266 } `json:"bootstrap"` 267 ClusterName string `json:"clusterName"` 268 FailureDomain string `json:"failureDomain"` 269 InfrastructureRef struct { 270 APIVersion string `json:"apiVersion"` 271 Kind string `json:"kind"` 272 Name string `json:"name"` 273 Namespace string `json:"namespace"` 274 UID string `json:"uid"` 275 } `json:"infrastructureRef"` 276 NodeDeletionTimeout string `json:"nodeDeletionTimeout"` 277 ProviderID string `json:"providerID"` 278 Version string `json:"version"` 279 } `json:"spec"` 280 Status struct { 281 Addresses []struct { 282 Address string `json:"address"` 283 Type string `json:"type"` 284 } `json:"addresses"` 285 BootstrapReady bool `json:"bootstrapReady"` 286 CertificatesExpiryDate time.Time `json:"certificatesExpiryDate"` 287 Conditions []struct { 288 LastTransitionTime time.Time `json:"lastTransitionTime"` 289 Status string `json:"status"` 290 Type string `json:"type"` 291 } `json:"conditions"` 292 InfrastructureReady bool `json:"infrastructureReady"` 293 LastUpdated time.Time `json:"lastUpdated"` 294 NodeInfo struct { 295 Architecture string `json:"architecture"` 296 BootID string `json:"bootID"` 297 ContainerRuntimeVersion string `json:"containerRuntimeVersion"` 298 KernelVersion string `json:"kernelVersion"` 299 KubeProxyVersion string `json:"kubeProxyVersion"` 300 KubeletVersion string `json:"kubeletVersion"` 301 MachineID string `json:"machineID"` 302 OperatingSystem string `json:"operatingSystem"` 303 OsImage string `json:"osImage"` 304 SystemUUID string `json:"systemUUID"` 305 } `json:"nodeInfo"` 306 NodeRef struct { 307 APIVersion string `json:"apiVersion"` 308 Kind string `json:"kind"` 309 Name string `json:"name"` 310 UID string `json:"uid"` 311 } `json:"nodeRef"` 312 ObservedGeneration int `json:"observedGeneration"` 313 Phase string `json:"phase"` 314 } `json:"status"` 315 } 316 317 type Verrazzano struct { 318 APIVersion string `json:"apiVersion"` 319 Kind string `json:"kind"` 320 Metadata struct { 321 Annotations struct { 322 KubectlKubernetesIoLastAppliedConfiguration string `json:"kubectl.kubernetes.io/last-applied-configuration"` 323 } `json:"annotations"` 324 CreationTimestamp time.Time `json:"creationTimestamp"` 325 Finalizers []string `json:"finalizers"` 326 Generation int `json:"generation"` 327 Name string `json:"name"` 328 Namespace string `json:"namespace"` 329 ResourceVersion string `json:"resourceVersion"` 330 UID string `json:"uid"` 331 } `json:"metadata"` 332 Spec struct { 333 Components struct { 334 } `json:"components"` 335 EnvironmentName string `json:"environmentName"` 336 Profile string `json:"profile"` 337 Security struct { 338 } `json:"security"` 339 } `json:"spec"` 340 Status struct { 341 Available string `json:"available"` 342 Conditions []struct { 343 LastTransitionTime time.Time `json:"lastTransitionTime"` 344 Message string `json:"message"` 345 Status string `json:"status"` 346 Type string `json:"type"` 347 } `json:"conditions"` 348 Instance struct { 349 ConsoleURL string `json:"consoleUrl"` 350 GrafanaURL string `json:"grafanaUrl"` 351 KeyCloakURL string `json:"keyCloakUrl"` 352 KialiURL string `json:"kialiUrl"` 353 OpenSearchDashboardsURL string `json:"openSearchDashboardsUrl"` 354 OpenSearchURL string `json:"openSearchUrl"` 355 PrometheusURL string `json:"prometheusUrl"` 356 RancherURL string `json:"rancherUrl"` 357 } `json:"instance"` 358 State string `json:"state"` 359 Version string `json:"version"` 360 } `json:"status"` 361 }