sigs.k8s.io/cluster-api@v1.6.3/api/v1beta1/zz_generated.openapi.go (about) 1 //go:build !ignore_autogenerated 2 // +build !ignore_autogenerated 3 4 /* 5 Copyright The Kubernetes Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 */ 19 20 // Code generated by openapi-gen. DO NOT EDIT. 21 22 // This file was autogenerated by openapi-gen. Do not edit it manually! 23 24 package v1beta1 25 26 import ( 27 common "k8s.io/kube-openapi/pkg/common" 28 spec "k8s.io/kube-openapi/pkg/validation/spec" 29 ) 30 31 func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { 32 return map[string]common.OpenAPIDefinition{ 33 "sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint": schema_sigsk8sio_cluster_api_api_v1beta1_APIEndpoint(ref), 34 "sigs.k8s.io/cluster-api/api/v1beta1.Bootstrap": schema_sigsk8sio_cluster_api_api_v1beta1_Bootstrap(ref), 35 "sigs.k8s.io/cluster-api/api/v1beta1.Cluster": schema_sigsk8sio_cluster_api_api_v1beta1_Cluster(ref), 36 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClass": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClass(ref), 37 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassList": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassList(ref), 38 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassPatch": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassPatch(ref), 39 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassSpec": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassSpec(ref), 40 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatus": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatus(ref), 41 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariable": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatusVariable(ref), 42 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariableDefinition": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatusVariableDefinition(ref), 43 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassVariable": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassVariable(ref), 44 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterList": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterList(ref), 45 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterNetwork": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterNetwork(ref), 46 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterSpec": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterSpec(ref), 47 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterStatus": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterStatus(ref), 48 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable": schema_sigsk8sio_cluster_api_api_v1beta1_ClusterVariable(ref), 49 "sigs.k8s.io/cluster-api/api/v1beta1.Condition": schema_sigsk8sio_cluster_api_api_v1beta1_Condition(ref), 50 "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClass": schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneClass(ref), 51 "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClassNamingStrategy": schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneClassNamingStrategy(ref), 52 "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneTopology": schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneTopology(ref), 53 "sigs.k8s.io/cluster-api/api/v1beta1.ExternalPatchDefinition": schema_sigsk8sio_cluster_api_api_v1beta1_ExternalPatchDefinition(ref), 54 "sigs.k8s.io/cluster-api/api/v1beta1.FailureDomainSpec": schema_sigsk8sio_cluster_api_api_v1beta1_FailureDomainSpec(ref), 55 "sigs.k8s.io/cluster-api/api/v1beta1.JSONPatch": schema_sigsk8sio_cluster_api_api_v1beta1_JSONPatch(ref), 56 "sigs.k8s.io/cluster-api/api/v1beta1.JSONPatchValue": schema_sigsk8sio_cluster_api_api_v1beta1_JSONPatchValue(ref), 57 "sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps": schema_sigsk8sio_cluster_api_api_v1beta1_JSONSchemaProps(ref), 58 "sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate": schema_sigsk8sio_cluster_api_api_v1beta1_LocalObjectTemplate(ref), 59 "sigs.k8s.io/cluster-api/api/v1beta1.Machine": schema_sigsk8sio_cluster_api_api_v1beta1_Machine(ref), 60 "sigs.k8s.io/cluster-api/api/v1beta1.MachineAddress": schema_sigsk8sio_cluster_api_api_v1beta1_MachineAddress(ref), 61 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeployment": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeployment(ref), 62 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClass": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClass(ref), 63 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassNamingStrategy": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClassNamingStrategy(ref), 64 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassTemplate": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClassTemplate(ref), 65 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentList": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentList(ref), 66 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentSpec": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentSpec(ref), 67 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStatus": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentStatus(ref), 68 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentStrategy(ref), 69 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentTopology": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentTopology(ref), 70 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentVariables": schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentVariables(ref), 71 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheck": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheck(ref), 72 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckClass": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckClass(ref), 73 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckList": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckList(ref), 74 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckSpec": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckSpec(ref), 75 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckStatus": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckStatus(ref), 76 "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckTopology": schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckTopology(ref), 77 "sigs.k8s.io/cluster-api/api/v1beta1.MachineList": schema_sigsk8sio_cluster_api_api_v1beta1_MachineList(ref), 78 "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClass": schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClass(ref), 79 "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassNamingStrategy": schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClassNamingStrategy(ref), 80 "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassTemplate": schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClassTemplate(ref), 81 "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolTopology": schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolTopology(ref), 82 "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolVariables": schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolVariables(ref), 83 "sigs.k8s.io/cluster-api/api/v1beta1.MachineRollingUpdateDeployment": schema_sigsk8sio_cluster_api_api_v1beta1_MachineRollingUpdateDeployment(ref), 84 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSet": schema_sigsk8sio_cluster_api_api_v1beta1_MachineSet(ref), 85 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSetList": schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetList(ref), 86 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSetSpec": schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetSpec(ref), 87 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSetStatus": schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetStatus(ref), 88 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSpec": schema_sigsk8sio_cluster_api_api_v1beta1_MachineSpec(ref), 89 "sigs.k8s.io/cluster-api/api/v1beta1.MachineStatus": schema_sigsk8sio_cluster_api_api_v1beta1_MachineStatus(ref), 90 "sigs.k8s.io/cluster-api/api/v1beta1.MachineTemplateSpec": schema_sigsk8sio_cluster_api_api_v1beta1_MachineTemplateSpec(ref), 91 "sigs.k8s.io/cluster-api/api/v1beta1.NetworkRanges": schema_sigsk8sio_cluster_api_api_v1beta1_NetworkRanges(ref), 92 "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta": schema_sigsk8sio_cluster_api_api_v1beta1_ObjectMeta(ref), 93 "sigs.k8s.io/cluster-api/api/v1beta1.PatchDefinition": schema_sigsk8sio_cluster_api_api_v1beta1_PatchDefinition(ref), 94 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelector": schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelector(ref), 95 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatch": schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatch(ref), 96 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachineDeploymentClass": schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatchMachineDeploymentClass(ref), 97 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachinePoolClass": schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatchMachinePoolClass(ref), 98 "sigs.k8s.io/cluster-api/api/v1beta1.Topology": schema_sigsk8sio_cluster_api_api_v1beta1_Topology(ref), 99 "sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition": schema_sigsk8sio_cluster_api_api_v1beta1_UnhealthyCondition(ref), 100 "sigs.k8s.io/cluster-api/api/v1beta1.VariableSchema": schema_sigsk8sio_cluster_api_api_v1beta1_VariableSchema(ref), 101 "sigs.k8s.io/cluster-api/api/v1beta1.WorkersClass": schema_sigsk8sio_cluster_api_api_v1beta1_WorkersClass(ref), 102 "sigs.k8s.io/cluster-api/api/v1beta1.WorkersTopology": schema_sigsk8sio_cluster_api_api_v1beta1_WorkersTopology(ref), 103 } 104 } 105 106 func schema_sigsk8sio_cluster_api_api_v1beta1_APIEndpoint(ref common.ReferenceCallback) common.OpenAPIDefinition { 107 return common.OpenAPIDefinition{ 108 Schema: spec.Schema{ 109 SchemaProps: spec.SchemaProps{ 110 Description: "APIEndpoint represents a reachable Kubernetes API endpoint.", 111 Type: []string{"object"}, 112 Properties: map[string]spec.Schema{ 113 "host": { 114 SchemaProps: spec.SchemaProps{ 115 Description: "The hostname on which the API server is serving.", 116 Default: "", 117 Type: []string{"string"}, 118 Format: "", 119 }, 120 }, 121 "port": { 122 SchemaProps: spec.SchemaProps{ 123 Description: "The port on which the API server is serving.", 124 Default: 0, 125 Type: []string{"integer"}, 126 Format: "int32", 127 }, 128 }, 129 }, 130 Required: []string{"host", "port"}, 131 }, 132 }, 133 } 134 } 135 136 func schema_sigsk8sio_cluster_api_api_v1beta1_Bootstrap(ref common.ReferenceCallback) common.OpenAPIDefinition { 137 return common.OpenAPIDefinition{ 138 Schema: spec.Schema{ 139 SchemaProps: spec.SchemaProps{ 140 Description: "Bootstrap encapsulates fields to configure the Machine’s bootstrapping mechanism.", 141 Type: []string{"object"}, 142 Properties: map[string]spec.Schema{ 143 "configRef": { 144 SchemaProps: spec.SchemaProps{ 145 Description: "ConfigRef is a reference to a bootstrap provider-specific resource that holds configuration details. The reference is optional to allow users/operators to specify Bootstrap.DataSecretName without the need of a controller.", 146 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 147 }, 148 }, 149 "dataSecretName": { 150 SchemaProps: spec.SchemaProps{ 151 Description: "DataSecretName is the name of the secret that stores the bootstrap data script. If nil, the Machine should remain in the Pending state.", 152 Type: []string{"string"}, 153 Format: "", 154 }, 155 }, 156 }, 157 }, 158 }, 159 Dependencies: []string{ 160 "k8s.io/api/core/v1.ObjectReference"}, 161 } 162 } 163 164 func schema_sigsk8sio_cluster_api_api_v1beta1_Cluster(ref common.ReferenceCallback) common.OpenAPIDefinition { 165 return common.OpenAPIDefinition{ 166 Schema: spec.Schema{ 167 SchemaProps: spec.SchemaProps{ 168 Description: "Cluster is the Schema for the clusters API.", 169 Type: []string{"object"}, 170 Properties: map[string]spec.Schema{ 171 "kind": { 172 SchemaProps: spec.SchemaProps{ 173 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 174 Type: []string{"string"}, 175 Format: "", 176 }, 177 }, 178 "apiVersion": { 179 SchemaProps: spec.SchemaProps{ 180 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 181 Type: []string{"string"}, 182 Format: "", 183 }, 184 }, 185 "metadata": { 186 SchemaProps: spec.SchemaProps{ 187 Default: map[string]interface{}{}, 188 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 189 }, 190 }, 191 "spec": { 192 SchemaProps: spec.SchemaProps{ 193 Default: map[string]interface{}{}, 194 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterSpec"), 195 }, 196 }, 197 "status": { 198 SchemaProps: spec.SchemaProps{ 199 Default: map[string]interface{}{}, 200 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterStatus"), 201 }, 202 }, 203 }, 204 }, 205 }, 206 Dependencies: []string{ 207 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterSpec", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterStatus"}, 208 } 209 } 210 211 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 212 return common.OpenAPIDefinition{ 213 Schema: spec.Schema{ 214 SchemaProps: spec.SchemaProps{ 215 Description: "ClusterClass is a template which can be used to create managed topologies.", 216 Type: []string{"object"}, 217 Properties: map[string]spec.Schema{ 218 "kind": { 219 SchemaProps: spec.SchemaProps{ 220 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 221 Type: []string{"string"}, 222 Format: "", 223 }, 224 }, 225 "apiVersion": { 226 SchemaProps: spec.SchemaProps{ 227 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 228 Type: []string{"string"}, 229 Format: "", 230 }, 231 }, 232 "metadata": { 233 SchemaProps: spec.SchemaProps{ 234 Default: map[string]interface{}{}, 235 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 236 }, 237 }, 238 "spec": { 239 SchemaProps: spec.SchemaProps{ 240 Default: map[string]interface{}{}, 241 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassSpec"), 242 }, 243 }, 244 "status": { 245 SchemaProps: spec.SchemaProps{ 246 Default: map[string]interface{}{}, 247 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatus"), 248 }, 249 }, 250 }, 251 }, 252 }, 253 Dependencies: []string{ 254 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassSpec", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatus"}, 255 } 256 } 257 258 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassList(ref common.ReferenceCallback) common.OpenAPIDefinition { 259 return common.OpenAPIDefinition{ 260 Schema: spec.Schema{ 261 SchemaProps: spec.SchemaProps{ 262 Description: "ClusterClassList contains a list of Cluster.", 263 Type: []string{"object"}, 264 Properties: map[string]spec.Schema{ 265 "kind": { 266 SchemaProps: spec.SchemaProps{ 267 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 268 Type: []string{"string"}, 269 Format: "", 270 }, 271 }, 272 "apiVersion": { 273 SchemaProps: spec.SchemaProps{ 274 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 275 Type: []string{"string"}, 276 Format: "", 277 }, 278 }, 279 "metadata": { 280 SchemaProps: spec.SchemaProps{ 281 Default: map[string]interface{}{}, 282 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 283 }, 284 }, 285 "items": { 286 SchemaProps: spec.SchemaProps{ 287 Type: []string{"array"}, 288 Items: &spec.SchemaOrArray{ 289 Schema: &spec.Schema{ 290 SchemaProps: spec.SchemaProps{ 291 Default: map[string]interface{}{}, 292 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClass"), 293 }, 294 }, 295 }, 296 }, 297 }, 298 }, 299 Required: []string{"items"}, 300 }, 301 }, 302 Dependencies: []string{ 303 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClass"}, 304 } 305 } 306 307 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassPatch(ref common.ReferenceCallback) common.OpenAPIDefinition { 308 return common.OpenAPIDefinition{ 309 Schema: spec.Schema{ 310 SchemaProps: spec.SchemaProps{ 311 Description: "ClusterClassPatch defines a patch which is applied to customize the referenced templates.", 312 Type: []string{"object"}, 313 Properties: map[string]spec.Schema{ 314 "name": { 315 SchemaProps: spec.SchemaProps{ 316 Description: "Name of the patch.", 317 Default: "", 318 Type: []string{"string"}, 319 Format: "", 320 }, 321 }, 322 "description": { 323 SchemaProps: spec.SchemaProps{ 324 Description: "Description is a human-readable description of this patch.", 325 Type: []string{"string"}, 326 Format: "", 327 }, 328 }, 329 "enabledIf": { 330 SchemaProps: spec.SchemaProps{ 331 Description: "EnabledIf is a Go template to be used to calculate if a patch should be enabled. It can reference variables defined in .spec.variables and builtin variables. The patch will be enabled if the template evaluates to `true`, otherwise it will be disabled. If EnabledIf is not set, the patch will be enabled per default.", 332 Type: []string{"string"}, 333 Format: "", 334 }, 335 }, 336 "definitions": { 337 SchemaProps: spec.SchemaProps{ 338 Description: "Definitions define inline patches. Note: Patches will be applied in the order of the array. Note: Exactly one of Definitions or External must be set.", 339 Type: []string{"array"}, 340 Items: &spec.SchemaOrArray{ 341 Schema: &spec.Schema{ 342 SchemaProps: spec.SchemaProps{ 343 Default: map[string]interface{}{}, 344 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.PatchDefinition"), 345 }, 346 }, 347 }, 348 }, 349 }, 350 "external": { 351 SchemaProps: spec.SchemaProps{ 352 Description: "External defines an external patch. Note: Exactly one of Definitions or External must be set.", 353 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ExternalPatchDefinition"), 354 }, 355 }, 356 }, 357 Required: []string{"name"}, 358 }, 359 }, 360 Dependencies: []string{ 361 "sigs.k8s.io/cluster-api/api/v1beta1.ExternalPatchDefinition", "sigs.k8s.io/cluster-api/api/v1beta1.PatchDefinition"}, 362 } 363 } 364 365 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 366 return common.OpenAPIDefinition{ 367 Schema: spec.Schema{ 368 SchemaProps: spec.SchemaProps{ 369 Description: "ClusterClassSpec describes the desired state of the ClusterClass.", 370 Type: []string{"object"}, 371 Properties: map[string]spec.Schema{ 372 "infrastructure": { 373 SchemaProps: spec.SchemaProps{ 374 Description: "Infrastructure is a reference to a provider-specific template that holds the details for provisioning infrastructure specific cluster for the underlying provider. The underlying provider is responsible for the implementation of the template to an infrastructure cluster.", 375 Default: map[string]interface{}{}, 376 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 377 }, 378 }, 379 "controlPlane": { 380 SchemaProps: spec.SchemaProps{ 381 Description: "ControlPlane is a reference to a local struct that holds the details for provisioning the Control Plane for the Cluster.", 382 Default: map[string]interface{}{}, 383 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClass"), 384 }, 385 }, 386 "workers": { 387 SchemaProps: spec.SchemaProps{ 388 Description: "Workers describes the worker nodes for the cluster. It is a collection of node types which can be used to create the worker nodes of the cluster.", 389 Default: map[string]interface{}{}, 390 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.WorkersClass"), 391 }, 392 }, 393 "variables": { 394 SchemaProps: spec.SchemaProps{ 395 Description: "Variables defines the variables which can be configured in the Cluster topology and are then used in patches.", 396 Type: []string{"array"}, 397 Items: &spec.SchemaOrArray{ 398 Schema: &spec.Schema{ 399 SchemaProps: spec.SchemaProps{ 400 Default: map[string]interface{}{}, 401 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassVariable"), 402 }, 403 }, 404 }, 405 }, 406 }, 407 "patches": { 408 SchemaProps: spec.SchemaProps{ 409 Description: "Patches defines the patches which are applied to customize referenced templates of a ClusterClass. Note: Patches will be applied in the order of the array.", 410 Type: []string{"array"}, 411 Items: &spec.SchemaOrArray{ 412 Schema: &spec.Schema{ 413 SchemaProps: spec.SchemaProps{ 414 Default: map[string]interface{}{}, 415 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassPatch"), 416 }, 417 }, 418 }, 419 }, 420 }, 421 }, 422 }, 423 }, 424 Dependencies: []string{ 425 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassPatch", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassVariable", "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClass", "sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate", "sigs.k8s.io/cluster-api/api/v1beta1.WorkersClass"}, 426 } 427 } 428 429 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 430 return common.OpenAPIDefinition{ 431 Schema: spec.Schema{ 432 SchemaProps: spec.SchemaProps{ 433 Description: "ClusterClassStatus defines the observed state of the ClusterClass.", 434 Type: []string{"object"}, 435 Properties: map[string]spec.Schema{ 436 "variables": { 437 SchemaProps: spec.SchemaProps{ 438 Description: "Variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.", 439 Type: []string{"array"}, 440 Items: &spec.SchemaOrArray{ 441 Schema: &spec.Schema{ 442 SchemaProps: spec.SchemaProps{ 443 Default: map[string]interface{}{}, 444 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariable"), 445 }, 446 }, 447 }, 448 }, 449 }, 450 "conditions": { 451 SchemaProps: spec.SchemaProps{ 452 Description: "Conditions defines current observed state of the ClusterClass.", 453 Type: []string{"array"}, 454 Items: &spec.SchemaOrArray{ 455 Schema: &spec.Schema{ 456 SchemaProps: spec.SchemaProps{ 457 Default: map[string]interface{}{}, 458 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 459 }, 460 }, 461 }, 462 }, 463 }, 464 "observedGeneration": { 465 SchemaProps: spec.SchemaProps{ 466 Description: "ObservedGeneration is the latest generation observed by the controller.", 467 Type: []string{"integer"}, 468 Format: "int64", 469 }, 470 }, 471 }, 472 }, 473 }, 474 Dependencies: []string{ 475 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariable", "sigs.k8s.io/cluster-api/api/v1beta1.Condition"}, 476 } 477 } 478 479 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatusVariable(ref common.ReferenceCallback) common.OpenAPIDefinition { 480 return common.OpenAPIDefinition{ 481 Schema: spec.Schema{ 482 SchemaProps: spec.SchemaProps{ 483 Description: "ClusterClassStatusVariable defines a variable which appears in the status of a ClusterClass.", 484 Type: []string{"object"}, 485 Properties: map[string]spec.Schema{ 486 "name": { 487 SchemaProps: spec.SchemaProps{ 488 Description: "Name is the name of the variable.", 489 Default: "", 490 Type: []string{"string"}, 491 Format: "", 492 }, 493 }, 494 "definitionsConflict": { 495 SchemaProps: spec.SchemaProps{ 496 Description: "DefinitionsConflict specifies whether or not there are conflicting definitions for a single variable name.", 497 Default: false, 498 Type: []string{"boolean"}, 499 Format: "", 500 }, 501 }, 502 "definitions": { 503 SchemaProps: spec.SchemaProps{ 504 Description: "Definitions is a list of definitions for a variable.", 505 Type: []string{"array"}, 506 Items: &spec.SchemaOrArray{ 507 Schema: &spec.Schema{ 508 SchemaProps: spec.SchemaProps{ 509 Default: map[string]interface{}{}, 510 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariableDefinition"), 511 }, 512 }, 513 }, 514 }, 515 }, 516 }, 517 Required: []string{"name", "definitions"}, 518 }, 519 }, 520 Dependencies: []string{ 521 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterClassStatusVariableDefinition"}, 522 } 523 } 524 525 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassStatusVariableDefinition(ref common.ReferenceCallback) common.OpenAPIDefinition { 526 return common.OpenAPIDefinition{ 527 Schema: spec.Schema{ 528 SchemaProps: spec.SchemaProps{ 529 Description: "ClusterClassStatusVariableDefinition defines a variable which appears in the status of a ClusterClass.", 530 Type: []string{"object"}, 531 Properties: map[string]spec.Schema{ 532 "from": { 533 SchemaProps: spec.SchemaProps{ 534 Description: "From specifies the origin of the variable definition. This will be `inline` for variables defined in the ClusterClass or the name of a patch defined in the ClusterClass for variables discovered from a DiscoverVariables runtime extensions.", 535 Default: "", 536 Type: []string{"string"}, 537 Format: "", 538 }, 539 }, 540 "required": { 541 SchemaProps: spec.SchemaProps{ 542 Description: "Required specifies if the variable is required. Note: this applies to the variable as a whole and thus the top-level object defined in the schema. If nested fields are required, this will be specified inside the schema.", 543 Default: false, 544 Type: []string{"boolean"}, 545 Format: "", 546 }, 547 }, 548 "schema": { 549 SchemaProps: spec.SchemaProps{ 550 Description: "Schema defines the schema of the variable.", 551 Default: map[string]interface{}{}, 552 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.VariableSchema"), 553 }, 554 }, 555 }, 556 Required: []string{"from", "required", "schema"}, 557 }, 558 }, 559 Dependencies: []string{ 560 "sigs.k8s.io/cluster-api/api/v1beta1.VariableSchema"}, 561 } 562 } 563 564 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterClassVariable(ref common.ReferenceCallback) common.OpenAPIDefinition { 565 return common.OpenAPIDefinition{ 566 Schema: spec.Schema{ 567 SchemaProps: spec.SchemaProps{ 568 Description: "ClusterClassVariable defines a variable which can be configured in the Cluster topology and used in patches.", 569 Type: []string{"object"}, 570 Properties: map[string]spec.Schema{ 571 "name": { 572 SchemaProps: spec.SchemaProps{ 573 Description: "Name of the variable.", 574 Default: "", 575 Type: []string{"string"}, 576 Format: "", 577 }, 578 }, 579 "required": { 580 SchemaProps: spec.SchemaProps{ 581 Description: "Required specifies if the variable is required. Note: this applies to the variable as a whole and thus the top-level object defined in the schema. If nested fields are required, this will be specified inside the schema.", 582 Default: false, 583 Type: []string{"boolean"}, 584 Format: "", 585 }, 586 }, 587 "schema": { 588 SchemaProps: spec.SchemaProps{ 589 Description: "Schema defines the schema of the variable.", 590 Default: map[string]interface{}{}, 591 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.VariableSchema"), 592 }, 593 }, 594 }, 595 Required: []string{"name", "required", "schema"}, 596 }, 597 }, 598 Dependencies: []string{ 599 "sigs.k8s.io/cluster-api/api/v1beta1.VariableSchema"}, 600 } 601 } 602 603 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterList(ref common.ReferenceCallback) common.OpenAPIDefinition { 604 return common.OpenAPIDefinition{ 605 Schema: spec.Schema{ 606 SchemaProps: spec.SchemaProps{ 607 Description: "ClusterList contains a list of Cluster.", 608 Type: []string{"object"}, 609 Properties: map[string]spec.Schema{ 610 "kind": { 611 SchemaProps: spec.SchemaProps{ 612 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 613 Type: []string{"string"}, 614 Format: "", 615 }, 616 }, 617 "apiVersion": { 618 SchemaProps: spec.SchemaProps{ 619 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 620 Type: []string{"string"}, 621 Format: "", 622 }, 623 }, 624 "metadata": { 625 SchemaProps: spec.SchemaProps{ 626 Default: map[string]interface{}{}, 627 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 628 }, 629 }, 630 "items": { 631 SchemaProps: spec.SchemaProps{ 632 Type: []string{"array"}, 633 Items: &spec.SchemaOrArray{ 634 Schema: &spec.Schema{ 635 SchemaProps: spec.SchemaProps{ 636 Default: map[string]interface{}{}, 637 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Cluster"), 638 }, 639 }, 640 }, 641 }, 642 }, 643 }, 644 Required: []string{"items"}, 645 }, 646 }, 647 Dependencies: []string{ 648 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.Cluster"}, 649 } 650 } 651 652 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterNetwork(ref common.ReferenceCallback) common.OpenAPIDefinition { 653 return common.OpenAPIDefinition{ 654 Schema: spec.Schema{ 655 SchemaProps: spec.SchemaProps{ 656 Description: "ClusterNetwork specifies the different networking parameters for a cluster.", 657 Type: []string{"object"}, 658 Properties: map[string]spec.Schema{ 659 "apiServerPort": { 660 SchemaProps: spec.SchemaProps{ 661 Description: "APIServerPort specifies the port the API Server should bind to. Defaults to 6443.", 662 Type: []string{"integer"}, 663 Format: "int32", 664 }, 665 }, 666 "services": { 667 SchemaProps: spec.SchemaProps{ 668 Description: "The network ranges from which service VIPs are allocated.", 669 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.NetworkRanges"), 670 }, 671 }, 672 "pods": { 673 SchemaProps: spec.SchemaProps{ 674 Description: "The network ranges from which Pod networks are allocated.", 675 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.NetworkRanges"), 676 }, 677 }, 678 "serviceDomain": { 679 SchemaProps: spec.SchemaProps{ 680 Description: "Domain name for services.", 681 Type: []string{"string"}, 682 Format: "", 683 }, 684 }, 685 }, 686 }, 687 }, 688 Dependencies: []string{ 689 "sigs.k8s.io/cluster-api/api/v1beta1.NetworkRanges"}, 690 } 691 } 692 693 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 694 return common.OpenAPIDefinition{ 695 Schema: spec.Schema{ 696 SchemaProps: spec.SchemaProps{ 697 Description: "ClusterSpec defines the desired state of Cluster.", 698 Type: []string{"object"}, 699 Properties: map[string]spec.Schema{ 700 "paused": { 701 SchemaProps: spec.SchemaProps{ 702 Description: "Paused can be used to prevent controllers from processing the Cluster and all its associated objects.", 703 Type: []string{"boolean"}, 704 Format: "", 705 }, 706 }, 707 "clusterNetwork": { 708 SchemaProps: spec.SchemaProps{ 709 Description: "Cluster network configuration.", 710 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterNetwork"), 711 }, 712 }, 713 "controlPlaneEndpoint": { 714 SchemaProps: spec.SchemaProps{ 715 Description: "ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.", 716 Default: map[string]interface{}{}, 717 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint"), 718 }, 719 }, 720 "controlPlaneRef": { 721 SchemaProps: spec.SchemaProps{ 722 Description: "ControlPlaneRef is an optional reference to a provider-specific resource that holds the details for provisioning the Control Plane for a Cluster.", 723 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 724 }, 725 }, 726 "infrastructureRef": { 727 SchemaProps: spec.SchemaProps{ 728 Description: "InfrastructureRef is a reference to a provider-specific resource that holds the details for provisioning infrastructure for a cluster in said provider.", 729 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 730 }, 731 }, 732 "topology": { 733 SchemaProps: spec.SchemaProps{ 734 Description: "This encapsulates the topology for the cluster. NOTE: It is required to enable the ClusterTopology feature gate flag to activate managed topologies support; this feature is highly experimental, and parts of it might still be not implemented.", 735 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Topology"), 736 }, 737 }, 738 }, 739 }, 740 }, 741 Dependencies: []string{ 742 "k8s.io/api/core/v1.ObjectReference", "sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterNetwork", "sigs.k8s.io/cluster-api/api/v1beta1.Topology"}, 743 } 744 } 745 746 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 747 return common.OpenAPIDefinition{ 748 Schema: spec.Schema{ 749 SchemaProps: spec.SchemaProps{ 750 Description: "ClusterStatus defines the observed state of Cluster.", 751 Type: []string{"object"}, 752 Properties: map[string]spec.Schema{ 753 "failureDomains": { 754 SchemaProps: spec.SchemaProps{ 755 Description: "FailureDomains is a slice of failure domain objects synced from the infrastructure provider.", 756 Type: []string{"object"}, 757 AdditionalProperties: &spec.SchemaOrBool{ 758 Allows: true, 759 Schema: &spec.Schema{ 760 SchemaProps: spec.SchemaProps{ 761 Default: map[string]interface{}{}, 762 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.FailureDomainSpec"), 763 }, 764 }, 765 }, 766 }, 767 }, 768 "failureReason": { 769 SchemaProps: spec.SchemaProps{ 770 Description: "FailureReason indicates that there is a fatal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation.", 771 Type: []string{"string"}, 772 Format: "", 773 }, 774 }, 775 "failureMessage": { 776 SchemaProps: spec.SchemaProps{ 777 Description: "FailureMessage indicates that there is a fatal problem reconciling the state, and will be set to a descriptive error message.", 778 Type: []string{"string"}, 779 Format: "", 780 }, 781 }, 782 "phase": { 783 SchemaProps: spec.SchemaProps{ 784 Description: "Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc.", 785 Type: []string{"string"}, 786 Format: "", 787 }, 788 }, 789 "infrastructureReady": { 790 SchemaProps: spec.SchemaProps{ 791 Description: "InfrastructureReady is the state of the infrastructure provider.", 792 Default: false, 793 Type: []string{"boolean"}, 794 Format: "", 795 }, 796 }, 797 "controlPlaneReady": { 798 SchemaProps: spec.SchemaProps{ 799 Description: "ControlPlaneReady defines if the control plane is ready.", 800 Default: false, 801 Type: []string{"boolean"}, 802 Format: "", 803 }, 804 }, 805 "conditions": { 806 SchemaProps: spec.SchemaProps{ 807 Description: "Conditions defines current service state of the cluster.", 808 Type: []string{"array"}, 809 Items: &spec.SchemaOrArray{ 810 Schema: &spec.Schema{ 811 SchemaProps: spec.SchemaProps{ 812 Default: map[string]interface{}{}, 813 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 814 }, 815 }, 816 }, 817 }, 818 }, 819 "observedGeneration": { 820 SchemaProps: spec.SchemaProps{ 821 Description: "ObservedGeneration is the latest generation observed by the controller.", 822 Type: []string{"integer"}, 823 Format: "int64", 824 }, 825 }, 826 }, 827 }, 828 }, 829 Dependencies: []string{ 830 "sigs.k8s.io/cluster-api/api/v1beta1.Condition", "sigs.k8s.io/cluster-api/api/v1beta1.FailureDomainSpec"}, 831 } 832 } 833 834 func schema_sigsk8sio_cluster_api_api_v1beta1_ClusterVariable(ref common.ReferenceCallback) common.OpenAPIDefinition { 835 return common.OpenAPIDefinition{ 836 Schema: spec.Schema{ 837 SchemaProps: spec.SchemaProps{ 838 Description: "ClusterVariable can be used to customize the Cluster through patches. Each ClusterVariable is associated with a Variable definition in the ClusterClass `status` variables.", 839 Type: []string{"object"}, 840 Properties: map[string]spec.Schema{ 841 "name": { 842 SchemaProps: spec.SchemaProps{ 843 Description: "Name of the variable.", 844 Default: "", 845 Type: []string{"string"}, 846 Format: "", 847 }, 848 }, 849 "definitionFrom": { 850 SchemaProps: spec.SchemaProps{ 851 Description: "DefinitionFrom specifies where the definition of this Variable is from. DefinitionFrom is `inline` when the definition is from the ClusterClass `.spec.variables` or the name of a patch defined in the ClusterClass `.spec.patches` where the patch is external and provides external variables. This field is mandatory if the variable has `DefinitionsConflict: true` in ClusterClass `status.variables[]`", 852 Type: []string{"string"}, 853 Format: "", 854 }, 855 }, 856 "value": { 857 SchemaProps: spec.SchemaProps{ 858 Description: "Value of the variable. Note: the value will be validated against the schema of the corresponding ClusterClassVariable from the ClusterClass. Note: We have to use apiextensionsv1.JSON instead of a custom JSON type, because controller-tools has a hard-coded schema for apiextensionsv1.JSON which cannot be produced by another type via controller-tools, i.e. it is not possible to have no type field. Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111", 859 Default: map[string]interface{}{}, 860 Ref: ref("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"), 861 }, 862 }, 863 }, 864 Required: []string{"name", "value"}, 865 }, 866 }, 867 Dependencies: []string{ 868 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"}, 869 } 870 } 871 872 func schema_sigsk8sio_cluster_api_api_v1beta1_Condition(ref common.ReferenceCallback) common.OpenAPIDefinition { 873 return common.OpenAPIDefinition{ 874 Schema: spec.Schema{ 875 SchemaProps: spec.SchemaProps{ 876 Description: "Condition defines an observation of a Cluster API resource operational state.", 877 Type: []string{"object"}, 878 Properties: map[string]spec.Schema{ 879 "type": { 880 SchemaProps: spec.SchemaProps{ 881 Description: "Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.", 882 Default: "", 883 Type: []string{"string"}, 884 Format: "", 885 }, 886 }, 887 "status": { 888 SchemaProps: spec.SchemaProps{ 889 Description: "Status of the condition, one of True, False, Unknown.", 890 Default: "", 891 Type: []string{"string"}, 892 Format: "", 893 }, 894 }, 895 "severity": { 896 SchemaProps: spec.SchemaProps{ 897 Description: "Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.", 898 Type: []string{"string"}, 899 Format: "", 900 }, 901 }, 902 "lastTransitionTime": { 903 SchemaProps: spec.SchemaProps{ 904 Description: "Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", 905 Default: map[string]interface{}{}, 906 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), 907 }, 908 }, 909 "reason": { 910 SchemaProps: spec.SchemaProps{ 911 Description: "The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.", 912 Type: []string{"string"}, 913 Format: "", 914 }, 915 }, 916 "message": { 917 SchemaProps: spec.SchemaProps{ 918 Description: "A human readable message indicating details about the transition. This field may be empty.", 919 Type: []string{"string"}, 920 Format: "", 921 }, 922 }, 923 }, 924 Required: []string{"type", "status", "lastTransitionTime"}, 925 }, 926 }, 927 Dependencies: []string{ 928 "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, 929 } 930 } 931 932 func schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 933 return common.OpenAPIDefinition{ 934 Schema: spec.Schema{ 935 SchemaProps: spec.SchemaProps{ 936 Description: "ControlPlaneClass defines the class for the control plane.", 937 Type: []string{"object"}, 938 Properties: map[string]spec.Schema{ 939 "metadata": { 940 SchemaProps: spec.SchemaProps{ 941 Description: "Metadata is the metadata applied to the ControlPlane and the Machines of the ControlPlane if the ControlPlaneTemplate referenced is machine based. If not, it is applied only to the ControlPlane. At runtime this metadata is merged with the corresponding metadata from the topology.\n\nThis field is supported if and only if the control plane provider template referenced is Machine based.", 942 Default: map[string]interface{}{}, 943 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 944 }, 945 }, 946 "ref": { 947 SchemaProps: spec.SchemaProps{ 948 Description: "Ref is a required reference to a custom resource offered by a provider.", 949 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 950 }, 951 }, 952 "machineInfrastructure": { 953 SchemaProps: spec.SchemaProps{ 954 Description: "MachineInfrastructure defines the metadata and infrastructure information for control plane machines.\n\nThis field is supported if and only if the control plane provider template referenced above is Machine based and supports setting replicas.", 955 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 956 }, 957 }, 958 "machineHealthCheck": { 959 SchemaProps: spec.SchemaProps{ 960 Description: "MachineHealthCheck defines a MachineHealthCheck for this ControlPlaneClass. This field is supported if and only if the ControlPlane provider template referenced above is Machine based and supports setting replicas.", 961 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckClass"), 962 }, 963 }, 964 "namingStrategy": { 965 SchemaProps: spec.SchemaProps{ 966 Description: "NamingStrategy allows changing the naming pattern used when creating the control plane provider object.", 967 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClassNamingStrategy"), 968 }, 969 }, 970 "nodeDrainTimeout": { 971 SchemaProps: spec.SchemaProps{ 972 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` NOTE: This value can be overridden while defining a Cluster.Topology.", 973 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 974 }, 975 }, 976 "nodeVolumeDetachTimeout": { 977 SchemaProps: spec.SchemaProps{ 978 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology.", 979 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 980 }, 981 }, 982 "nodeDeletionTimeout": { 983 SchemaProps: spec.SchemaProps{ 984 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology.", 985 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 986 }, 987 }, 988 }, 989 Required: []string{"ref"}, 990 }, 991 }, 992 Dependencies: []string{ 993 "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneClassNamingStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckClass", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 994 } 995 } 996 997 func schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneClassNamingStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition { 998 return common.OpenAPIDefinition{ 999 Schema: spec.Schema{ 1000 SchemaProps: spec.SchemaProps{ 1001 Description: "ControlPlaneClassNamingStrategy defines the naming strategy for control plane objects.", 1002 Type: []string{"object"}, 1003 Properties: map[string]spec.Schema{ 1004 "template": { 1005 SchemaProps: spec.SchemaProps{ 1006 Description: "Template defines the template to use for generating the name of the ControlPlane object. If not defined, it will fallback to `{{ .cluster.name }}-{{ .random }}`. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments: * `.cluster.name`: The name of the cluster object. * `.random`: A random alphanumeric string, without vowels, of length 5.", 1007 Type: []string{"string"}, 1008 Format: "", 1009 }, 1010 }, 1011 }, 1012 }, 1013 }, 1014 } 1015 } 1016 1017 func schema_sigsk8sio_cluster_api_api_v1beta1_ControlPlaneTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { 1018 return common.OpenAPIDefinition{ 1019 Schema: spec.Schema{ 1020 SchemaProps: spec.SchemaProps{ 1021 Description: "ControlPlaneTopology specifies the parameters for the control plane nodes in the cluster.", 1022 Type: []string{"object"}, 1023 Properties: map[string]spec.Schema{ 1024 "metadata": { 1025 SchemaProps: spec.SchemaProps{ 1026 Description: "Metadata is the metadata applied to the ControlPlane and the Machines of the ControlPlane if the ControlPlaneTemplate referenced by the ClusterClass is machine based. If not, it is applied only to the ControlPlane. At runtime this metadata is merged with the corresponding metadata from the ClusterClass.", 1027 Default: map[string]interface{}{}, 1028 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 1029 }, 1030 }, 1031 "replicas": { 1032 SchemaProps: spec.SchemaProps{ 1033 Description: "Replicas is the number of control plane nodes. If the value is nil, the ControlPlane object is created without the number of Replicas and it's assumed that the control plane controller does not implement support for this field. When specified against a control plane provider that lacks support for this field, this value will be ignored.", 1034 Type: []string{"integer"}, 1035 Format: "int32", 1036 }, 1037 }, 1038 "machineHealthCheck": { 1039 SchemaProps: spec.SchemaProps{ 1040 Description: "MachineHealthCheck allows to enable, disable and override the MachineHealthCheck configuration in the ClusterClass for this control plane.", 1041 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckTopology"), 1042 }, 1043 }, 1044 "nodeDrainTimeout": { 1045 SchemaProps: spec.SchemaProps{ 1046 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`", 1047 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1048 }, 1049 }, 1050 "nodeVolumeDetachTimeout": { 1051 SchemaProps: spec.SchemaProps{ 1052 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.", 1053 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1054 }, 1055 }, 1056 "nodeDeletionTimeout": { 1057 SchemaProps: spec.SchemaProps{ 1058 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds.", 1059 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1060 }, 1061 }, 1062 }, 1063 }, 1064 }, 1065 Dependencies: []string{ 1066 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckTopology", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 1067 } 1068 } 1069 1070 func schema_sigsk8sio_cluster_api_api_v1beta1_ExternalPatchDefinition(ref common.ReferenceCallback) common.OpenAPIDefinition { 1071 return common.OpenAPIDefinition{ 1072 Schema: spec.Schema{ 1073 SchemaProps: spec.SchemaProps{ 1074 Description: "ExternalPatchDefinition defines an external patch. Note: At least one of GenerateExtension or ValidateExtension must be set.", 1075 Type: []string{"object"}, 1076 Properties: map[string]spec.Schema{ 1077 "generateExtension": { 1078 SchemaProps: spec.SchemaProps{ 1079 Description: "GenerateExtension references an extension which is called to generate patches.", 1080 Type: []string{"string"}, 1081 Format: "", 1082 }, 1083 }, 1084 "validateExtension": { 1085 SchemaProps: spec.SchemaProps{ 1086 Description: "ValidateExtension references an extension which is called to validate the topology.", 1087 Type: []string{"string"}, 1088 Format: "", 1089 }, 1090 }, 1091 "discoverVariablesExtension": { 1092 SchemaProps: spec.SchemaProps{ 1093 Description: "DiscoverVariablesExtension references an extension which is called to discover variables.", 1094 Type: []string{"string"}, 1095 Format: "", 1096 }, 1097 }, 1098 "settings": { 1099 SchemaProps: spec.SchemaProps{ 1100 Description: "Settings defines key value pairs to be passed to the extensions. Values defined here take precedence over the values defined in the corresponding ExtensionConfig.", 1101 Type: []string{"object"}, 1102 AdditionalProperties: &spec.SchemaOrBool{ 1103 Allows: true, 1104 Schema: &spec.Schema{ 1105 SchemaProps: spec.SchemaProps{ 1106 Default: "", 1107 Type: []string{"string"}, 1108 Format: "", 1109 }, 1110 }, 1111 }, 1112 }, 1113 }, 1114 }, 1115 }, 1116 }, 1117 } 1118 } 1119 1120 func schema_sigsk8sio_cluster_api_api_v1beta1_FailureDomainSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 1121 return common.OpenAPIDefinition{ 1122 Schema: spec.Schema{ 1123 SchemaProps: spec.SchemaProps{ 1124 Description: "FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across.", 1125 Type: []string{"object"}, 1126 Properties: map[string]spec.Schema{ 1127 "controlPlane": { 1128 SchemaProps: spec.SchemaProps{ 1129 Description: "ControlPlane determines if this failure domain is suitable for use by control plane machines.", 1130 Type: []string{"boolean"}, 1131 Format: "", 1132 }, 1133 }, 1134 "attributes": { 1135 SchemaProps: spec.SchemaProps{ 1136 Description: "Attributes is a free form map of attributes an infrastructure provider might use or require.", 1137 Type: []string{"object"}, 1138 AdditionalProperties: &spec.SchemaOrBool{ 1139 Allows: true, 1140 Schema: &spec.Schema{ 1141 SchemaProps: spec.SchemaProps{ 1142 Default: "", 1143 Type: []string{"string"}, 1144 Format: "", 1145 }, 1146 }, 1147 }, 1148 }, 1149 }, 1150 }, 1151 }, 1152 }, 1153 } 1154 } 1155 1156 func schema_sigsk8sio_cluster_api_api_v1beta1_JSONPatch(ref common.ReferenceCallback) common.OpenAPIDefinition { 1157 return common.OpenAPIDefinition{ 1158 Schema: spec.Schema{ 1159 SchemaProps: spec.SchemaProps{ 1160 Description: "JSONPatch defines a JSON patch.", 1161 Type: []string{"object"}, 1162 Properties: map[string]spec.Schema{ 1163 "op": { 1164 SchemaProps: spec.SchemaProps{ 1165 Description: "Op defines the operation of the patch. Note: Only `add`, `replace` and `remove` are supported.", 1166 Default: "", 1167 Type: []string{"string"}, 1168 Format: "", 1169 }, 1170 }, 1171 "path": { 1172 SchemaProps: spec.SchemaProps{ 1173 Description: "Path defines the path of the patch. Note: Only the spec of a template can be patched, thus the path has to start with /spec/. Note: For now the only allowed array modifications are `append` and `prepend`, i.e.: * for op: `add`: only index 0 (prepend) and - (append) are allowed * for op: `replace` or `remove`: no indexes are allowed", 1174 Default: "", 1175 Type: []string{"string"}, 1176 Format: "", 1177 }, 1178 }, 1179 "value": { 1180 SchemaProps: spec.SchemaProps{ 1181 Description: "Value defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time. Note: We have to use apiextensionsv1.JSON instead of our JSON type, because controller-tools has a hard-coded schema for apiextensionsv1.JSON which cannot be produced by another type (unset type field). Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111", 1182 Ref: ref("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"), 1183 }, 1184 }, 1185 "valueFrom": { 1186 SchemaProps: spec.SchemaProps{ 1187 Description: "ValueFrom defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time.", 1188 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONPatchValue"), 1189 }, 1190 }, 1191 }, 1192 Required: []string{"op", "path"}, 1193 }, 1194 }, 1195 Dependencies: []string{ 1196 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON", "sigs.k8s.io/cluster-api/api/v1beta1.JSONPatchValue"}, 1197 } 1198 } 1199 1200 func schema_sigsk8sio_cluster_api_api_v1beta1_JSONPatchValue(ref common.ReferenceCallback) common.OpenAPIDefinition { 1201 return common.OpenAPIDefinition{ 1202 Schema: spec.Schema{ 1203 SchemaProps: spec.SchemaProps{ 1204 Description: "JSONPatchValue defines the value of a patch. Note: Only one of the fields is allowed to be set at the same time.", 1205 Type: []string{"object"}, 1206 Properties: map[string]spec.Schema{ 1207 "variable": { 1208 SchemaProps: spec.SchemaProps{ 1209 Description: "Variable is the variable to be used as value. Variable can be one of the variables defined in .spec.variables or a builtin variable.", 1210 Type: []string{"string"}, 1211 Format: "", 1212 }, 1213 }, 1214 "template": { 1215 SchemaProps: spec.SchemaProps{ 1216 Description: "Template is the Go template to be used to calculate the value. A template can reference variables defined in .spec.variables and builtin variables. Note: The template must evaluate to a valid YAML or JSON value.", 1217 Type: []string{"string"}, 1218 Format: "", 1219 }, 1220 }, 1221 }, 1222 }, 1223 }, 1224 } 1225 } 1226 1227 func schema_sigsk8sio_cluster_api_api_v1beta1_JSONSchemaProps(ref common.ReferenceCallback) common.OpenAPIDefinition { 1228 return common.OpenAPIDefinition{ 1229 Schema: spec.Schema{ 1230 SchemaProps: spec.SchemaProps{ 1231 Description: "JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). This struct has been initially copied from apiextensionsv1.JSONSchemaProps, but all fields which are not supported in CAPI have been removed.", 1232 Type: []string{"object"}, 1233 Properties: map[string]spec.Schema{ 1234 "description": { 1235 SchemaProps: spec.SchemaProps{ 1236 Description: "Description is a human-readable description of this variable.", 1237 Type: []string{"string"}, 1238 Format: "", 1239 }, 1240 }, 1241 "example": { 1242 SchemaProps: spec.SchemaProps{ 1243 Description: "Example is an example for this variable.", 1244 Ref: ref("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"), 1245 }, 1246 }, 1247 "type": { 1248 SchemaProps: spec.SchemaProps{ 1249 Description: "Type is the type of the variable. Valid values are: object, array, string, integer, number or boolean.", 1250 Default: "", 1251 Type: []string{"string"}, 1252 Format: "", 1253 }, 1254 }, 1255 "properties": { 1256 SchemaProps: spec.SchemaProps{ 1257 Description: "Properties specifies fields of an object. NOTE: Can only be set if type is object. NOTE: Properties is mutually exclusive with AdditionalProperties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.", 1258 Type: []string{"object"}, 1259 AdditionalProperties: &spec.SchemaOrBool{ 1260 Allows: true, 1261 Schema: &spec.Schema{ 1262 SchemaProps: spec.SchemaProps{ 1263 Default: map[string]interface{}{}, 1264 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"), 1265 }, 1266 }, 1267 }, 1268 }, 1269 }, 1270 "additionalProperties": { 1271 SchemaProps: spec.SchemaProps{ 1272 Description: "AdditionalProperties specifies the schema of values in a map (keys are always strings). NOTE: Can only be set if type is object. NOTE: AdditionalProperties is mutually exclusive with Properties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.", 1273 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"), 1274 }, 1275 }, 1276 "required": { 1277 SchemaProps: spec.SchemaProps{ 1278 Description: "Required specifies which fields of an object are required. NOTE: Can only be set if type is object.", 1279 Type: []string{"array"}, 1280 Items: &spec.SchemaOrArray{ 1281 Schema: &spec.Schema{ 1282 SchemaProps: spec.SchemaProps{ 1283 Default: "", 1284 Type: []string{"string"}, 1285 Format: "", 1286 }, 1287 }, 1288 }, 1289 }, 1290 }, 1291 "items": { 1292 SchemaProps: spec.SchemaProps{ 1293 Description: "Items specifies fields of an array. NOTE: Can only be set if type is array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.", 1294 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"), 1295 }, 1296 }, 1297 "maxItems": { 1298 SchemaProps: spec.SchemaProps{ 1299 Description: "MaxItems is the max length of an array variable. NOTE: Can only be set if type is array.", 1300 Type: []string{"integer"}, 1301 Format: "int64", 1302 }, 1303 }, 1304 "minItems": { 1305 SchemaProps: spec.SchemaProps{ 1306 Description: "MinItems is the min length of an array variable. NOTE: Can only be set if type is array.", 1307 Type: []string{"integer"}, 1308 Format: "int64", 1309 }, 1310 }, 1311 "uniqueItems": { 1312 SchemaProps: spec.SchemaProps{ 1313 Description: "UniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.", 1314 Type: []string{"boolean"}, 1315 Format: "", 1316 }, 1317 }, 1318 "format": { 1319 SchemaProps: spec.SchemaProps{ 1320 Description: "Format is an OpenAPI v3 format string. Unknown formats are ignored. For a list of supported formats please see: (of the k8s.io/apiextensions-apiserver version we're currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go NOTE: Can only be set if type is string.", 1321 Type: []string{"string"}, 1322 Format: "", 1323 }, 1324 }, 1325 "maxLength": { 1326 SchemaProps: spec.SchemaProps{ 1327 Description: "MaxLength is the max length of a string variable. NOTE: Can only be set if type is string.", 1328 Type: []string{"integer"}, 1329 Format: "int64", 1330 }, 1331 }, 1332 "minLength": { 1333 SchemaProps: spec.SchemaProps{ 1334 Description: "MinLength is the min length of a string variable. NOTE: Can only be set if type is string.", 1335 Type: []string{"integer"}, 1336 Format: "int64", 1337 }, 1338 }, 1339 "pattern": { 1340 SchemaProps: spec.SchemaProps{ 1341 Description: "Pattern is the regex which a string variable must match. NOTE: Can only be set if type is string.", 1342 Type: []string{"string"}, 1343 Format: "", 1344 }, 1345 }, 1346 "maximum": { 1347 SchemaProps: spec.SchemaProps{ 1348 Description: "Maximum is the maximum of an integer or number variable. If ExclusiveMaximum is false, the variable is valid if it is lower than, or equal to, the value of Maximum. If ExclusiveMaximum is true, the variable is valid if it is strictly lower than the value of Maximum. NOTE: Can only be set if type is integer or number.", 1349 Type: []string{"integer"}, 1350 Format: "int64", 1351 }, 1352 }, 1353 "exclusiveMaximum": { 1354 SchemaProps: spec.SchemaProps{ 1355 Description: "ExclusiveMaximum specifies if the Maximum is exclusive. NOTE: Can only be set if type is integer or number.", 1356 Type: []string{"boolean"}, 1357 Format: "", 1358 }, 1359 }, 1360 "minimum": { 1361 SchemaProps: spec.SchemaProps{ 1362 Description: "Minimum is the minimum of an integer or number variable. If ExclusiveMinimum is false, the variable is valid if it is greater than, or equal to, the value of Minimum. If ExclusiveMinimum is true, the variable is valid if it is strictly greater than the value of Minimum. NOTE: Can only be set if type is integer or number.", 1363 Type: []string{"integer"}, 1364 Format: "int64", 1365 }, 1366 }, 1367 "exclusiveMinimum": { 1368 SchemaProps: spec.SchemaProps{ 1369 Description: "ExclusiveMinimum specifies if the Minimum is exclusive. NOTE: Can only be set if type is integer or number.", 1370 Type: []string{"boolean"}, 1371 Format: "", 1372 }, 1373 }, 1374 "x-kubernetes-preserve-unknown-fields": { 1375 SchemaProps: spec.SchemaProps{ 1376 Description: "XPreserveUnknownFields allows setting fields in a variable object which are not defined in the variable schema. This affects fields recursively, except if nested properties or additionalProperties are specified in the schema.", 1377 Type: []string{"boolean"}, 1378 Format: "", 1379 }, 1380 }, 1381 "enum": { 1382 SchemaProps: spec.SchemaProps{ 1383 Description: "Enum is the list of valid values of the variable. NOTE: Can be set for all types.", 1384 Type: []string{"array"}, 1385 Items: &spec.SchemaOrArray{ 1386 Schema: &spec.Schema{ 1387 SchemaProps: spec.SchemaProps{ 1388 Default: map[string]interface{}{}, 1389 Ref: ref("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"), 1390 }, 1391 }, 1392 }, 1393 }, 1394 }, 1395 "default": { 1396 SchemaProps: spec.SchemaProps{ 1397 Description: "Default is the default value of the variable. NOTE: Can be set for all types.", 1398 Ref: ref("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON"), 1399 }, 1400 }, 1401 }, 1402 Required: []string{"type"}, 1403 }, 1404 }, 1405 Dependencies: []string{ 1406 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON", "sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"}, 1407 } 1408 } 1409 1410 func schema_sigsk8sio_cluster_api_api_v1beta1_LocalObjectTemplate(ref common.ReferenceCallback) common.OpenAPIDefinition { 1411 return common.OpenAPIDefinition{ 1412 Schema: spec.Schema{ 1413 SchemaProps: spec.SchemaProps{ 1414 Description: "LocalObjectTemplate defines a template for a topology Class.", 1415 Type: []string{"object"}, 1416 Properties: map[string]spec.Schema{ 1417 "ref": { 1418 SchemaProps: spec.SchemaProps{ 1419 Description: "Ref is a required reference to a custom resource offered by a provider.", 1420 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 1421 }, 1422 }, 1423 }, 1424 Required: []string{"ref"}, 1425 }, 1426 }, 1427 Dependencies: []string{ 1428 "k8s.io/api/core/v1.ObjectReference"}, 1429 } 1430 } 1431 1432 func schema_sigsk8sio_cluster_api_api_v1beta1_Machine(ref common.ReferenceCallback) common.OpenAPIDefinition { 1433 return common.OpenAPIDefinition{ 1434 Schema: spec.Schema{ 1435 SchemaProps: spec.SchemaProps{ 1436 Description: "Machine is the Schema for the machines API.", 1437 Type: []string{"object"}, 1438 Properties: map[string]spec.Schema{ 1439 "kind": { 1440 SchemaProps: spec.SchemaProps{ 1441 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 1442 Type: []string{"string"}, 1443 Format: "", 1444 }, 1445 }, 1446 "apiVersion": { 1447 SchemaProps: spec.SchemaProps{ 1448 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 1449 Type: []string{"string"}, 1450 Format: "", 1451 }, 1452 }, 1453 "metadata": { 1454 SchemaProps: spec.SchemaProps{ 1455 Default: map[string]interface{}{}, 1456 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 1457 }, 1458 }, 1459 "spec": { 1460 SchemaProps: spec.SchemaProps{ 1461 Default: map[string]interface{}{}, 1462 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineSpec"), 1463 }, 1464 }, 1465 "status": { 1466 SchemaProps: spec.SchemaProps{ 1467 Default: map[string]interface{}{}, 1468 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineStatus"), 1469 }, 1470 }, 1471 }, 1472 }, 1473 }, 1474 Dependencies: []string{ 1475 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineSpec", "sigs.k8s.io/cluster-api/api/v1beta1.MachineStatus"}, 1476 } 1477 } 1478 1479 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineAddress(ref common.ReferenceCallback) common.OpenAPIDefinition { 1480 return common.OpenAPIDefinition{ 1481 Schema: spec.Schema{ 1482 SchemaProps: spec.SchemaProps{ 1483 Description: "MachineAddress contains information for the node's address.", 1484 Type: []string{"object"}, 1485 Properties: map[string]spec.Schema{ 1486 "type": { 1487 SchemaProps: spec.SchemaProps{ 1488 Description: "Machine address type, one of Hostname, ExternalIP, InternalIP, ExternalDNS or InternalDNS.", 1489 Default: "", 1490 Type: []string{"string"}, 1491 Format: "", 1492 }, 1493 }, 1494 "address": { 1495 SchemaProps: spec.SchemaProps{ 1496 Description: "The machine address.", 1497 Default: "", 1498 Type: []string{"string"}, 1499 Format: "", 1500 }, 1501 }, 1502 }, 1503 Required: []string{"type", "address"}, 1504 }, 1505 }, 1506 } 1507 } 1508 1509 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeployment(ref common.ReferenceCallback) common.OpenAPIDefinition { 1510 return common.OpenAPIDefinition{ 1511 Schema: spec.Schema{ 1512 SchemaProps: spec.SchemaProps{ 1513 Description: "MachineDeployment is the Schema for the machinedeployments API.", 1514 Type: []string{"object"}, 1515 Properties: map[string]spec.Schema{ 1516 "kind": { 1517 SchemaProps: spec.SchemaProps{ 1518 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 1519 Type: []string{"string"}, 1520 Format: "", 1521 }, 1522 }, 1523 "apiVersion": { 1524 SchemaProps: spec.SchemaProps{ 1525 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 1526 Type: []string{"string"}, 1527 Format: "", 1528 }, 1529 }, 1530 "metadata": { 1531 SchemaProps: spec.SchemaProps{ 1532 Default: map[string]interface{}{}, 1533 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 1534 }, 1535 }, 1536 "spec": { 1537 SchemaProps: spec.SchemaProps{ 1538 Default: map[string]interface{}{}, 1539 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentSpec"), 1540 }, 1541 }, 1542 "status": { 1543 SchemaProps: spec.SchemaProps{ 1544 Default: map[string]interface{}{}, 1545 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStatus"), 1546 }, 1547 }, 1548 }, 1549 }, 1550 }, 1551 Dependencies: []string{ 1552 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentSpec", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStatus"}, 1553 } 1554 } 1555 1556 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 1557 return common.OpenAPIDefinition{ 1558 Schema: spec.Schema{ 1559 SchemaProps: spec.SchemaProps{ 1560 Description: "MachineDeploymentClass serves as a template to define a set of worker nodes of the cluster provisioned using the `ClusterClass`.", 1561 Type: []string{"object"}, 1562 Properties: map[string]spec.Schema{ 1563 "class": { 1564 SchemaProps: spec.SchemaProps{ 1565 Description: "Class denotes a type of worker node present in the cluster, this name MUST be unique within a ClusterClass and can be referenced in the Cluster to create a managed MachineDeployment.", 1566 Default: "", 1567 Type: []string{"string"}, 1568 Format: "", 1569 }, 1570 }, 1571 "template": { 1572 SchemaProps: spec.SchemaProps{ 1573 Description: "Template is a local struct containing a collection of templates for creation of MachineDeployment objects representing a set of worker nodes.", 1574 Default: map[string]interface{}{}, 1575 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassTemplate"), 1576 }, 1577 }, 1578 "machineHealthCheck": { 1579 SchemaProps: spec.SchemaProps{ 1580 Description: "MachineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass.", 1581 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckClass"), 1582 }, 1583 }, 1584 "failureDomain": { 1585 SchemaProps: spec.SchemaProps{ 1586 Description: "FailureDomain is the failure domain the machines will be created in. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1587 Type: []string{"string"}, 1588 Format: "", 1589 }, 1590 }, 1591 "namingStrategy": { 1592 SchemaProps: spec.SchemaProps{ 1593 Description: "NamingStrategy allows changing the naming pattern used when creating the MachineDeployment.", 1594 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassNamingStrategy"), 1595 }, 1596 }, 1597 "nodeDrainTimeout": { 1598 SchemaProps: spec.SchemaProps{ 1599 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1600 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1601 }, 1602 }, 1603 "nodeVolumeDetachTimeout": { 1604 SchemaProps: spec.SchemaProps{ 1605 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1606 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1607 }, 1608 }, 1609 "nodeDeletionTimeout": { 1610 SchemaProps: spec.SchemaProps{ 1611 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1612 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 1613 }, 1614 }, 1615 "minReadySeconds": { 1616 SchemaProps: spec.SchemaProps{ 1617 Description: "Minimum number of seconds for which a newly created machine should be ready. Defaults to 0 (machine will be considered available as soon as it is ready) NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1618 Type: []string{"integer"}, 1619 Format: "int32", 1620 }, 1621 }, 1622 "strategy": { 1623 SchemaProps: spec.SchemaProps{ 1624 Description: "The deployment strategy to use to replace existing machines with new ones. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.", 1625 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy"), 1626 }, 1627 }, 1628 }, 1629 Required: []string{"class", "template"}, 1630 }, 1631 }, 1632 Dependencies: []string{ 1633 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassNamingStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClassTemplate", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckClass"}, 1634 } 1635 } 1636 1637 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClassNamingStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition { 1638 return common.OpenAPIDefinition{ 1639 Schema: spec.Schema{ 1640 SchemaProps: spec.SchemaProps{ 1641 Description: "MachineDeploymentClassNamingStrategy defines the naming strategy for machine deployment objects.", 1642 Type: []string{"object"}, 1643 Properties: map[string]spec.Schema{ 1644 "template": { 1645 SchemaProps: spec.SchemaProps{ 1646 Description: "Template defines the template to use for generating the name of the MachineDeployment object. If not defined, it will fallback to `{{ .cluster.name }}-{{ .machineDeployment.topologyName }}-{{ .random }}`. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments: * `.cluster.name`: The name of the cluster object. * `.random`: A random alphanumeric string, without vowels, of length 5. * `.machineDeployment.topologyName`: The name of the MachineDeployment topology (Cluster.spec.topology.workers.machineDeployments[].name).", 1647 Type: []string{"string"}, 1648 Format: "", 1649 }, 1650 }, 1651 }, 1652 }, 1653 }, 1654 } 1655 } 1656 1657 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentClassTemplate(ref common.ReferenceCallback) common.OpenAPIDefinition { 1658 return common.OpenAPIDefinition{ 1659 Schema: spec.Schema{ 1660 SchemaProps: spec.SchemaProps{ 1661 Description: "MachineDeploymentClassTemplate defines how a MachineDeployment generated from a MachineDeploymentClass should look like.", 1662 Type: []string{"object"}, 1663 Properties: map[string]spec.Schema{ 1664 "metadata": { 1665 SchemaProps: spec.SchemaProps{ 1666 Description: "Metadata is the metadata applied to the MachineDeployment and the machines of the MachineDeployment. At runtime this metadata is merged with the corresponding metadata from the topology.", 1667 Default: map[string]interface{}{}, 1668 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 1669 }, 1670 }, 1671 "bootstrap": { 1672 SchemaProps: spec.SchemaProps{ 1673 Description: "Bootstrap contains the bootstrap template reference to be used for the creation of worker Machines.", 1674 Default: map[string]interface{}{}, 1675 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 1676 }, 1677 }, 1678 "infrastructure": { 1679 SchemaProps: spec.SchemaProps{ 1680 Description: "Infrastructure contains the infrastructure template reference to be used for the creation of worker Machines.", 1681 Default: map[string]interface{}{}, 1682 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 1683 }, 1684 }, 1685 }, 1686 Required: []string{"bootstrap", "infrastructure"}, 1687 }, 1688 }, 1689 Dependencies: []string{ 1690 "sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 1691 } 1692 } 1693 1694 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentList(ref common.ReferenceCallback) common.OpenAPIDefinition { 1695 return common.OpenAPIDefinition{ 1696 Schema: spec.Schema{ 1697 SchemaProps: spec.SchemaProps{ 1698 Description: "MachineDeploymentList contains a list of MachineDeployment.", 1699 Type: []string{"object"}, 1700 Properties: map[string]spec.Schema{ 1701 "kind": { 1702 SchemaProps: spec.SchemaProps{ 1703 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 1704 Type: []string{"string"}, 1705 Format: "", 1706 }, 1707 }, 1708 "apiVersion": { 1709 SchemaProps: spec.SchemaProps{ 1710 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 1711 Type: []string{"string"}, 1712 Format: "", 1713 }, 1714 }, 1715 "metadata": { 1716 SchemaProps: spec.SchemaProps{ 1717 Default: map[string]interface{}{}, 1718 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 1719 }, 1720 }, 1721 "items": { 1722 SchemaProps: spec.SchemaProps{ 1723 Type: []string{"array"}, 1724 Items: &spec.SchemaOrArray{ 1725 Schema: &spec.Schema{ 1726 SchemaProps: spec.SchemaProps{ 1727 Default: map[string]interface{}{}, 1728 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeployment"), 1729 }, 1730 }, 1731 }, 1732 }, 1733 }, 1734 }, 1735 Required: []string{"items"}, 1736 }, 1737 }, 1738 Dependencies: []string{ 1739 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeployment"}, 1740 } 1741 } 1742 1743 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 1744 return common.OpenAPIDefinition{ 1745 Schema: spec.Schema{ 1746 SchemaProps: spec.SchemaProps{ 1747 Description: "MachineDeploymentSpec defines the desired state of MachineDeployment.", 1748 Type: []string{"object"}, 1749 Properties: map[string]spec.Schema{ 1750 "clusterName": { 1751 SchemaProps: spec.SchemaProps{ 1752 Description: "ClusterName is the name of the Cluster this object belongs to.", 1753 Default: "", 1754 Type: []string{"string"}, 1755 Format: "", 1756 }, 1757 }, 1758 "replicas": { 1759 SchemaProps: spec.SchemaProps{ 1760 Description: "Number of desired machines. This is a pointer to distinguish between explicit zero and not specified.\n\nDefaults to: * if the Kubernetes autoscaler min size and max size annotations are set:\n - if it's a new MachineDeployment, use min size\n - if the replicas field of the old MachineDeployment is < min size, use min size\n - if the replicas field of the old MachineDeployment is > max size, use max size\n - if the replicas field of the old MachineDeployment is in the (min size, max size) range, keep the value from the oldMD\n* otherwise use 1 Note: Defaulting will be run whenever the replicas field is not set: * A new MachineDeployment is created with replicas not set. * On an existing MachineDeployment the replicas field was first set and is now unset. Those cases are especially relevant for the following Kubernetes autoscaler use cases: * A new MachineDeployment is created and replicas should be managed by the autoscaler * An existing MachineDeployment which initially wasn't controlled by the autoscaler\n should be later controlled by the autoscaler", 1761 Type: []string{"integer"}, 1762 Format: "int32", 1763 }, 1764 }, 1765 "rolloutAfter": { 1766 SchemaProps: spec.SchemaProps{ 1767 Description: "RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the MachineDeployment. Example: In the YAML the time can be specified in the RFC3339 format. To specify the rolloutAfter target as March 9, 2023, at 9 am UTC use \"2023-03-09T09:00:00Z\".", 1768 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), 1769 }, 1770 }, 1771 "selector": { 1772 SchemaProps: spec.SchemaProps{ 1773 Description: "Label selector for machines. Existing MachineSets whose machines are selected by this will be the ones affected by this deployment. It must match the machine template's labels.", 1774 Default: map[string]interface{}{}, 1775 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), 1776 }, 1777 }, 1778 "template": { 1779 SchemaProps: spec.SchemaProps{ 1780 Description: "Template describes the machines that will be created.", 1781 Default: map[string]interface{}{}, 1782 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineTemplateSpec"), 1783 }, 1784 }, 1785 "strategy": { 1786 SchemaProps: spec.SchemaProps{ 1787 Description: "The deployment strategy to use to replace existing machines with new ones.", 1788 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy"), 1789 }, 1790 }, 1791 "minReadySeconds": { 1792 SchemaProps: spec.SchemaProps{ 1793 Description: "MinReadySeconds is the minimum number of seconds for which a Node for a newly created machine should be ready before considering the replica available. Defaults to 0 (machine will be considered available as soon as the Node is ready)", 1794 Type: []string{"integer"}, 1795 Format: "int32", 1796 }, 1797 }, 1798 "revisionHistoryLimit": { 1799 SchemaProps: spec.SchemaProps{ 1800 Description: "The number of old MachineSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.", 1801 Type: []string{"integer"}, 1802 Format: "int32", 1803 }, 1804 }, 1805 "paused": { 1806 SchemaProps: spec.SchemaProps{ 1807 Description: "Indicates that the deployment is paused.", 1808 Type: []string{"boolean"}, 1809 Format: "", 1810 }, 1811 }, 1812 "progressDeadlineSeconds": { 1813 SchemaProps: spec.SchemaProps{ 1814 Description: "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.", 1815 Type: []string{"integer"}, 1816 Format: "int32", 1817 }, 1818 }, 1819 }, 1820 Required: []string{"clusterName", "selector", "template"}, 1821 }, 1822 }, 1823 Dependencies: []string{ 1824 "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.MachineTemplateSpec"}, 1825 } 1826 } 1827 1828 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 1829 return common.OpenAPIDefinition{ 1830 Schema: spec.Schema{ 1831 SchemaProps: spec.SchemaProps{ 1832 Description: "MachineDeploymentStatus defines the observed state of MachineDeployment.", 1833 Type: []string{"object"}, 1834 Properties: map[string]spec.Schema{ 1835 "observedGeneration": { 1836 SchemaProps: spec.SchemaProps{ 1837 Description: "The generation observed by the deployment controller.", 1838 Type: []string{"integer"}, 1839 Format: "int64", 1840 }, 1841 }, 1842 "selector": { 1843 SchemaProps: spec.SchemaProps{ 1844 Description: "Selector is the same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors", 1845 Type: []string{"string"}, 1846 Format: "", 1847 }, 1848 }, 1849 "replicas": { 1850 SchemaProps: spec.SchemaProps{ 1851 Description: "Total number of non-terminated machines targeted by this deployment (their labels match the selector).", 1852 Default: 0, 1853 Type: []string{"integer"}, 1854 Format: "int32", 1855 }, 1856 }, 1857 "updatedReplicas": { 1858 SchemaProps: spec.SchemaProps{ 1859 Description: "Total number of non-terminated machines targeted by this deployment that have the desired template spec.", 1860 Default: 0, 1861 Type: []string{"integer"}, 1862 Format: "int32", 1863 }, 1864 }, 1865 "readyReplicas": { 1866 SchemaProps: spec.SchemaProps{ 1867 Description: "Total number of ready machines targeted by this deployment.", 1868 Default: 0, 1869 Type: []string{"integer"}, 1870 Format: "int32", 1871 }, 1872 }, 1873 "availableReplicas": { 1874 SchemaProps: spec.SchemaProps{ 1875 Description: "Total number of available machines (ready for at least minReadySeconds) targeted by this deployment.", 1876 Default: 0, 1877 Type: []string{"integer"}, 1878 Format: "int32", 1879 }, 1880 }, 1881 "unavailableReplicas": { 1882 SchemaProps: spec.SchemaProps{ 1883 Description: "Total number of unavailable machines targeted by this deployment. This is the total number of machines that are still required for the deployment to have 100% available capacity. They may either be machines that are running but not yet available or machines that still have not been created.", 1884 Default: 0, 1885 Type: []string{"integer"}, 1886 Format: "int32", 1887 }, 1888 }, 1889 "phase": { 1890 SchemaProps: spec.SchemaProps{ 1891 Description: "Phase represents the current phase of a MachineDeployment (ScalingUp, ScalingDown, Running, Failed, or Unknown).", 1892 Type: []string{"string"}, 1893 Format: "", 1894 }, 1895 }, 1896 "conditions": { 1897 SchemaProps: spec.SchemaProps{ 1898 Description: "Conditions defines current service state of the MachineDeployment.", 1899 Type: []string{"array"}, 1900 Items: &spec.SchemaOrArray{ 1901 Schema: &spec.Schema{ 1902 SchemaProps: spec.SchemaProps{ 1903 Default: map[string]interface{}{}, 1904 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 1905 }, 1906 }, 1907 }, 1908 }, 1909 }, 1910 }, 1911 }, 1912 }, 1913 Dependencies: []string{ 1914 "sigs.k8s.io/cluster-api/api/v1beta1.Condition"}, 1915 } 1916 } 1917 1918 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition { 1919 return common.OpenAPIDefinition{ 1920 Schema: spec.Schema{ 1921 SchemaProps: spec.SchemaProps{ 1922 Description: "MachineDeploymentStrategy describes how to replace existing machines with new ones.", 1923 Type: []string{"object"}, 1924 Properties: map[string]spec.Schema{ 1925 "type": { 1926 SchemaProps: spec.SchemaProps{ 1927 Description: "Type of deployment. Allowed values are RollingUpdate and OnDelete. The default is RollingUpdate.", 1928 Type: []string{"string"}, 1929 Format: "", 1930 }, 1931 }, 1932 "rollingUpdate": { 1933 SchemaProps: spec.SchemaProps{ 1934 Description: "Rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate.", 1935 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineRollingUpdateDeployment"), 1936 }, 1937 }, 1938 }, 1939 }, 1940 }, 1941 Dependencies: []string{ 1942 "sigs.k8s.io/cluster-api/api/v1beta1.MachineRollingUpdateDeployment"}, 1943 } 1944 } 1945 1946 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { 1947 return common.OpenAPIDefinition{ 1948 Schema: spec.Schema{ 1949 SchemaProps: spec.SchemaProps{ 1950 Description: "MachineDeploymentTopology specifies the different parameters for a set of worker nodes in the topology. This set of nodes is managed by a MachineDeployment object whose lifecycle is managed by the Cluster controller.", 1951 Type: []string{"object"}, 1952 Properties: map[string]spec.Schema{ 1953 "metadata": { 1954 SchemaProps: spec.SchemaProps{ 1955 Description: "Metadata is the metadata applied to the MachineDeployment and the machines of the MachineDeployment. At runtime this metadata is merged with the corresponding metadata from the ClusterClass.", 1956 Default: map[string]interface{}{}, 1957 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 1958 }, 1959 }, 1960 "class": { 1961 SchemaProps: spec.SchemaProps{ 1962 Description: "Class is the name of the MachineDeploymentClass used to create the set of worker nodes. This should match one of the deployment classes defined in the ClusterClass object mentioned in the `Cluster.Spec.Class` field.", 1963 Default: "", 1964 Type: []string{"string"}, 1965 Format: "", 1966 }, 1967 }, 1968 "name": { 1969 SchemaProps: spec.SchemaProps{ 1970 Description: "Name is the unique identifier for this MachineDeploymentTopology. The value is used with other unique identifiers to create a MachineDeployment's Name (e.g. cluster's name, etc). In case the name is greater than the allowed maximum length, the values are hashed together.", 1971 Default: "", 1972 Type: []string{"string"}, 1973 Format: "", 1974 }, 1975 }, 1976 "failureDomain": { 1977 SchemaProps: spec.SchemaProps{ 1978 Description: "FailureDomain is the failure domain the machines will be created in. Must match a key in the FailureDomains map stored on the cluster object.", 1979 Type: []string{"string"}, 1980 Format: "", 1981 }, 1982 }, 1983 "replicas": { 1984 SchemaProps: spec.SchemaProps{ 1985 Description: "Replicas is the number of worker nodes belonging to this set. If the value is nil, the MachineDeployment is created without the number of Replicas (defaulting to 1) and it's assumed that an external entity (like cluster autoscaler) is responsible for the management of this value.", 1986 Type: []string{"integer"}, 1987 Format: "int32", 1988 }, 1989 }, 1990 "machineHealthCheck": { 1991 SchemaProps: spec.SchemaProps{ 1992 Description: "MachineHealthCheck allows to enable, disable and override the MachineHealthCheck configuration in the ClusterClass for this MachineDeployment.", 1993 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckTopology"), 1994 }, 1995 }, 1996 "nodeDrainTimeout": { 1997 SchemaProps: spec.SchemaProps{ 1998 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`", 1999 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2000 }, 2001 }, 2002 "nodeVolumeDetachTimeout": { 2003 SchemaProps: spec.SchemaProps{ 2004 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.", 2005 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2006 }, 2007 }, 2008 "nodeDeletionTimeout": { 2009 SchemaProps: spec.SchemaProps{ 2010 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds.", 2011 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2012 }, 2013 }, 2014 "minReadySeconds": { 2015 SchemaProps: spec.SchemaProps{ 2016 Description: "Minimum number of seconds for which a newly created machine should be ready. Defaults to 0 (machine will be considered available as soon as it is ready)", 2017 Type: []string{"integer"}, 2018 Format: "int32", 2019 }, 2020 }, 2021 "strategy": { 2022 SchemaProps: spec.SchemaProps{ 2023 Description: "The deployment strategy to use to replace existing machines with new ones.", 2024 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy"), 2025 }, 2026 }, 2027 "variables": { 2028 SchemaProps: spec.SchemaProps{ 2029 Description: "Variables can be used to customize the MachineDeployment through patches.", 2030 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentVariables"), 2031 }, 2032 }, 2033 }, 2034 Required: []string{"class", "name"}, 2035 }, 2036 }, 2037 Dependencies: []string{ 2038 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentVariables", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckTopology", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 2039 } 2040 } 2041 2042 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineDeploymentVariables(ref common.ReferenceCallback) common.OpenAPIDefinition { 2043 return common.OpenAPIDefinition{ 2044 Schema: spec.Schema{ 2045 SchemaProps: spec.SchemaProps{ 2046 Description: "MachineDeploymentVariables can be used to provide variables for a specific MachineDeployment.", 2047 Type: []string{"object"}, 2048 Properties: map[string]spec.Schema{ 2049 "overrides": { 2050 SchemaProps: spec.SchemaProps{ 2051 Description: "Overrides can be used to override Cluster level variables.", 2052 Type: []string{"array"}, 2053 Items: &spec.SchemaOrArray{ 2054 Schema: &spec.Schema{ 2055 SchemaProps: spec.SchemaProps{ 2056 Default: map[string]interface{}{}, 2057 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable"), 2058 }, 2059 }, 2060 }, 2061 }, 2062 }, 2063 }, 2064 }, 2065 }, 2066 Dependencies: []string{ 2067 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable"}, 2068 } 2069 } 2070 2071 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheck(ref common.ReferenceCallback) common.OpenAPIDefinition { 2072 return common.OpenAPIDefinition{ 2073 Schema: spec.Schema{ 2074 SchemaProps: spec.SchemaProps{ 2075 Description: "MachineHealthCheck is the Schema for the machinehealthchecks API.", 2076 Type: []string{"object"}, 2077 Properties: map[string]spec.Schema{ 2078 "kind": { 2079 SchemaProps: spec.SchemaProps{ 2080 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 2081 Type: []string{"string"}, 2082 Format: "", 2083 }, 2084 }, 2085 "apiVersion": { 2086 SchemaProps: spec.SchemaProps{ 2087 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 2088 Type: []string{"string"}, 2089 Format: "", 2090 }, 2091 }, 2092 "metadata": { 2093 SchemaProps: spec.SchemaProps{ 2094 Default: map[string]interface{}{}, 2095 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 2096 }, 2097 }, 2098 "spec": { 2099 SchemaProps: spec.SchemaProps{ 2100 Description: "Specification of machine health check policy", 2101 Default: map[string]interface{}{}, 2102 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckSpec"), 2103 }, 2104 }, 2105 "status": { 2106 SchemaProps: spec.SchemaProps{ 2107 Description: "Most recently observed status of MachineHealthCheck resource", 2108 Default: map[string]interface{}{}, 2109 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckStatus"), 2110 }, 2111 }, 2112 }, 2113 }, 2114 }, 2115 Dependencies: []string{ 2116 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckSpec", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheckStatus"}, 2117 } 2118 } 2119 2120 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 2121 return common.OpenAPIDefinition{ 2122 Schema: spec.Schema{ 2123 SchemaProps: spec.SchemaProps{ 2124 Description: "MachineHealthCheckClass defines a MachineHealthCheck for a group of Machines.", 2125 Type: []string{"object"}, 2126 Properties: map[string]spec.Schema{ 2127 "unhealthyConditions": { 2128 SchemaProps: spec.SchemaProps{ 2129 Description: "UnhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.", 2130 Type: []string{"array"}, 2131 Items: &spec.SchemaOrArray{ 2132 Schema: &spec.Schema{ 2133 SchemaProps: spec.SchemaProps{ 2134 Default: map[string]interface{}{}, 2135 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"), 2136 }, 2137 }, 2138 }, 2139 }, 2140 }, 2141 "maxUnhealthy": { 2142 SchemaProps: spec.SchemaProps{ 2143 Description: "Any further remediation is only allowed if at most \"MaxUnhealthy\" machines selected by \"selector\" are not healthy.", 2144 Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), 2145 }, 2146 }, 2147 "unhealthyRange": { 2148 SchemaProps: spec.SchemaProps{ 2149 Description: "Any further remediation is only allowed if the number of machines selected by \"selector\" as not healthy is within the range of \"UnhealthyRange\". Takes precedence over MaxUnhealthy. Eg. \"[3-5]\" - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines", 2150 Type: []string{"string"}, 2151 Format: "", 2152 }, 2153 }, 2154 "nodeStartupTimeout": { 2155 SchemaProps: spec.SchemaProps{ 2156 Description: "Machines older than this duration without a node will be considered to have failed and will be remediated. If you wish to disable this feature, set the value explicitly to 0.", 2157 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2158 }, 2159 }, 2160 "remediationTemplate": { 2161 SchemaProps: spec.SchemaProps{ 2162 Description: "RemediationTemplate is a reference to a remediation template provided by an infrastructure provider.\n\nThis field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.", 2163 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 2164 }, 2165 }, 2166 }, 2167 }, 2168 }, 2169 Dependencies: []string{ 2170 "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "k8s.io/apimachinery/pkg/util/intstr.IntOrString", "sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"}, 2171 } 2172 } 2173 2174 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckList(ref common.ReferenceCallback) common.OpenAPIDefinition { 2175 return common.OpenAPIDefinition{ 2176 Schema: spec.Schema{ 2177 SchemaProps: spec.SchemaProps{ 2178 Description: "MachineHealthCheckList contains a list of MachineHealthCheck.", 2179 Type: []string{"object"}, 2180 Properties: map[string]spec.Schema{ 2181 "kind": { 2182 SchemaProps: spec.SchemaProps{ 2183 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 2184 Type: []string{"string"}, 2185 Format: "", 2186 }, 2187 }, 2188 "apiVersion": { 2189 SchemaProps: spec.SchemaProps{ 2190 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 2191 Type: []string{"string"}, 2192 Format: "", 2193 }, 2194 }, 2195 "metadata": { 2196 SchemaProps: spec.SchemaProps{ 2197 Default: map[string]interface{}{}, 2198 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 2199 }, 2200 }, 2201 "items": { 2202 SchemaProps: spec.SchemaProps{ 2203 Type: []string{"array"}, 2204 Items: &spec.SchemaOrArray{ 2205 Schema: &spec.Schema{ 2206 SchemaProps: spec.SchemaProps{ 2207 Default: map[string]interface{}{}, 2208 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheck"), 2209 }, 2210 }, 2211 }, 2212 }, 2213 }, 2214 }, 2215 Required: []string{"items"}, 2216 }, 2217 }, 2218 Dependencies: []string{ 2219 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineHealthCheck"}, 2220 } 2221 } 2222 2223 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 2224 return common.OpenAPIDefinition{ 2225 Schema: spec.Schema{ 2226 SchemaProps: spec.SchemaProps{ 2227 Description: "MachineHealthCheckSpec defines the desired state of MachineHealthCheck.", 2228 Type: []string{"object"}, 2229 Properties: map[string]spec.Schema{ 2230 "clusterName": { 2231 SchemaProps: spec.SchemaProps{ 2232 Description: "ClusterName is the name of the Cluster this object belongs to.", 2233 Default: "", 2234 Type: []string{"string"}, 2235 Format: "", 2236 }, 2237 }, 2238 "selector": { 2239 SchemaProps: spec.SchemaProps{ 2240 Description: "Label selector to match machines whose health will be exercised", 2241 Default: map[string]interface{}{}, 2242 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), 2243 }, 2244 }, 2245 "unhealthyConditions": { 2246 SchemaProps: spec.SchemaProps{ 2247 Description: "UnhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.", 2248 Type: []string{"array"}, 2249 Items: &spec.SchemaOrArray{ 2250 Schema: &spec.Schema{ 2251 SchemaProps: spec.SchemaProps{ 2252 Default: map[string]interface{}{}, 2253 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"), 2254 }, 2255 }, 2256 }, 2257 }, 2258 }, 2259 "maxUnhealthy": { 2260 SchemaProps: spec.SchemaProps{ 2261 Description: "Any further remediation is only allowed if at most \"MaxUnhealthy\" machines selected by \"selector\" are not healthy.", 2262 Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), 2263 }, 2264 }, 2265 "unhealthyRange": { 2266 SchemaProps: spec.SchemaProps{ 2267 Description: "Any further remediation is only allowed if the number of machines selected by \"selector\" as not healthy is within the range of \"UnhealthyRange\". Takes precedence over MaxUnhealthy. Eg. \"[3-5]\" - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines", 2268 Type: []string{"string"}, 2269 Format: "", 2270 }, 2271 }, 2272 "nodeStartupTimeout": { 2273 SchemaProps: spec.SchemaProps{ 2274 Description: "Machines older than this duration without a node will be considered to have failed and will be remediated. If not set, this value is defaulted to 10 minutes. If you wish to disable this feature, set the value explicitly to 0.", 2275 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2276 }, 2277 }, 2278 "remediationTemplate": { 2279 SchemaProps: spec.SchemaProps{ 2280 Description: "RemediationTemplate is a reference to a remediation template provided by an infrastructure provider.\n\nThis field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.", 2281 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 2282 }, 2283 }, 2284 }, 2285 Required: []string{"clusterName", "selector", "unhealthyConditions"}, 2286 }, 2287 }, 2288 Dependencies: []string{ 2289 "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector", "k8s.io/apimachinery/pkg/util/intstr.IntOrString", "sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"}, 2290 } 2291 } 2292 2293 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 2294 return common.OpenAPIDefinition{ 2295 Schema: spec.Schema{ 2296 SchemaProps: spec.SchemaProps{ 2297 Description: "MachineHealthCheckStatus defines the observed state of MachineHealthCheck.", 2298 Type: []string{"object"}, 2299 Properties: map[string]spec.Schema{ 2300 "expectedMachines": { 2301 SchemaProps: spec.SchemaProps{ 2302 Description: "total number of machines counted by this machine health check", 2303 Default: 0, 2304 Type: []string{"integer"}, 2305 Format: "int32", 2306 }, 2307 }, 2308 "currentHealthy": { 2309 SchemaProps: spec.SchemaProps{ 2310 Description: "total number of healthy machines counted by this machine health check", 2311 Default: 0, 2312 Type: []string{"integer"}, 2313 Format: "int32", 2314 }, 2315 }, 2316 "remediationsAllowed": { 2317 SchemaProps: spec.SchemaProps{ 2318 Description: "RemediationsAllowed is the number of further remediations allowed by this machine health check before maxUnhealthy short circuiting will be applied", 2319 Default: 0, 2320 Type: []string{"integer"}, 2321 Format: "int32", 2322 }, 2323 }, 2324 "observedGeneration": { 2325 SchemaProps: spec.SchemaProps{ 2326 Description: "ObservedGeneration is the latest generation observed by the controller.", 2327 Type: []string{"integer"}, 2328 Format: "int64", 2329 }, 2330 }, 2331 "targets": { 2332 SchemaProps: spec.SchemaProps{ 2333 Description: "Targets shows the current list of machines the machine health check is watching", 2334 Type: []string{"array"}, 2335 Items: &spec.SchemaOrArray{ 2336 Schema: &spec.Schema{ 2337 SchemaProps: spec.SchemaProps{ 2338 Default: "", 2339 Type: []string{"string"}, 2340 Format: "", 2341 }, 2342 }, 2343 }, 2344 }, 2345 }, 2346 "conditions": { 2347 SchemaProps: spec.SchemaProps{ 2348 Description: "Conditions defines current service state of the MachineHealthCheck.", 2349 Type: []string{"array"}, 2350 Items: &spec.SchemaOrArray{ 2351 Schema: &spec.Schema{ 2352 SchemaProps: spec.SchemaProps{ 2353 Default: map[string]interface{}{}, 2354 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 2355 }, 2356 }, 2357 }, 2358 }, 2359 }, 2360 }, 2361 }, 2362 }, 2363 Dependencies: []string{ 2364 "sigs.k8s.io/cluster-api/api/v1beta1.Condition"}, 2365 } 2366 } 2367 2368 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineHealthCheckTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { 2369 return common.OpenAPIDefinition{ 2370 Schema: spec.Schema{ 2371 SchemaProps: spec.SchemaProps{ 2372 Description: "MachineHealthCheckTopology defines a MachineHealthCheck for a group of machines.", 2373 Type: []string{"object"}, 2374 Properties: map[string]spec.Schema{ 2375 "enable": { 2376 SchemaProps: spec.SchemaProps{ 2377 Description: "Enable controls if a MachineHealthCheck should be created for the target machines.\n\nIf false: No MachineHealthCheck will be created.\n\nIf not set(default): A MachineHealthCheck will be created if it is defined here or\n in the associated ClusterClass. If no MachineHealthCheck is defined then none will be created.\n\nIf true: A MachineHealthCheck is guaranteed to be created. Cluster validation will block if `enable` is true and no MachineHealthCheck definition is available.", 2378 Type: []string{"boolean"}, 2379 Format: "", 2380 }, 2381 }, 2382 "unhealthyConditions": { 2383 SchemaProps: spec.SchemaProps{ 2384 Description: "UnhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.", 2385 Type: []string{"array"}, 2386 Items: &spec.SchemaOrArray{ 2387 Schema: &spec.Schema{ 2388 SchemaProps: spec.SchemaProps{ 2389 Default: map[string]interface{}{}, 2390 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"), 2391 }, 2392 }, 2393 }, 2394 }, 2395 }, 2396 "maxUnhealthy": { 2397 SchemaProps: spec.SchemaProps{ 2398 Description: "Any further remediation is only allowed if at most \"MaxUnhealthy\" machines selected by \"selector\" are not healthy.", 2399 Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), 2400 }, 2401 }, 2402 "unhealthyRange": { 2403 SchemaProps: spec.SchemaProps{ 2404 Description: "Any further remediation is only allowed if the number of machines selected by \"selector\" as not healthy is within the range of \"UnhealthyRange\". Takes precedence over MaxUnhealthy. Eg. \"[3-5]\" - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines", 2405 Type: []string{"string"}, 2406 Format: "", 2407 }, 2408 }, 2409 "nodeStartupTimeout": { 2410 SchemaProps: spec.SchemaProps{ 2411 Description: "Machines older than this duration without a node will be considered to have failed and will be remediated. If you wish to disable this feature, set the value explicitly to 0.", 2412 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2413 }, 2414 }, 2415 "remediationTemplate": { 2416 SchemaProps: spec.SchemaProps{ 2417 Description: "RemediationTemplate is a reference to a remediation template provided by an infrastructure provider.\n\nThis field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.", 2418 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 2419 }, 2420 }, 2421 }, 2422 }, 2423 }, 2424 Dependencies: []string{ 2425 "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "k8s.io/apimachinery/pkg/util/intstr.IntOrString", "sigs.k8s.io/cluster-api/api/v1beta1.UnhealthyCondition"}, 2426 } 2427 } 2428 2429 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineList(ref common.ReferenceCallback) common.OpenAPIDefinition { 2430 return common.OpenAPIDefinition{ 2431 Schema: spec.Schema{ 2432 SchemaProps: spec.SchemaProps{ 2433 Description: "MachineList contains a list of Machine.", 2434 Type: []string{"object"}, 2435 Properties: map[string]spec.Schema{ 2436 "kind": { 2437 SchemaProps: spec.SchemaProps{ 2438 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 2439 Type: []string{"string"}, 2440 Format: "", 2441 }, 2442 }, 2443 "apiVersion": { 2444 SchemaProps: spec.SchemaProps{ 2445 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 2446 Type: []string{"string"}, 2447 Format: "", 2448 }, 2449 }, 2450 "metadata": { 2451 SchemaProps: spec.SchemaProps{ 2452 Default: map[string]interface{}{}, 2453 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 2454 }, 2455 }, 2456 "items": { 2457 SchemaProps: spec.SchemaProps{ 2458 Type: []string{"array"}, 2459 Items: &spec.SchemaOrArray{ 2460 Schema: &spec.Schema{ 2461 SchemaProps: spec.SchemaProps{ 2462 Default: map[string]interface{}{}, 2463 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Machine"), 2464 }, 2465 }, 2466 }, 2467 }, 2468 }, 2469 }, 2470 Required: []string{"items"}, 2471 }, 2472 }, 2473 Dependencies: []string{ 2474 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.Machine"}, 2475 } 2476 } 2477 2478 func schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 2479 return common.OpenAPIDefinition{ 2480 Schema: spec.Schema{ 2481 SchemaProps: spec.SchemaProps{ 2482 Description: "MachinePoolClass serves as a template to define a pool of worker nodes of the cluster provisioned using `ClusterClass`.", 2483 Type: []string{"object"}, 2484 Properties: map[string]spec.Schema{ 2485 "class": { 2486 SchemaProps: spec.SchemaProps{ 2487 Description: "Class denotes a type of machine pool present in the cluster, this name MUST be unique within a ClusterClass and can be referenced in the Cluster to create a managed MachinePool.", 2488 Default: "", 2489 Type: []string{"string"}, 2490 Format: "", 2491 }, 2492 }, 2493 "template": { 2494 SchemaProps: spec.SchemaProps{ 2495 Description: "Template is a local struct containing a collection of templates for creation of MachinePools objects representing a pool of worker nodes.", 2496 Default: map[string]interface{}{}, 2497 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassTemplate"), 2498 }, 2499 }, 2500 "failureDomains": { 2501 SchemaProps: spec.SchemaProps{ 2502 Description: "FailureDomains is the list of failure domains the MachinePool should be attached to. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.", 2503 Type: []string{"array"}, 2504 Items: &spec.SchemaOrArray{ 2505 Schema: &spec.Schema{ 2506 SchemaProps: spec.SchemaProps{ 2507 Default: "", 2508 Type: []string{"string"}, 2509 Format: "", 2510 }, 2511 }, 2512 }, 2513 }, 2514 }, 2515 "namingStrategy": { 2516 SchemaProps: spec.SchemaProps{ 2517 Description: "NamingStrategy allows changing the naming pattern used when creating the MachinePool.", 2518 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassNamingStrategy"), 2519 }, 2520 }, 2521 "nodeDrainTimeout": { 2522 SchemaProps: spec.SchemaProps{ 2523 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.", 2524 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2525 }, 2526 }, 2527 "nodeVolumeDetachTimeout": { 2528 SchemaProps: spec.SchemaProps{ 2529 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.", 2530 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2531 }, 2532 }, 2533 "nodeDeletionTimeout": { 2534 SchemaProps: spec.SchemaProps{ 2535 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine Pool is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.", 2536 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2537 }, 2538 }, 2539 "minReadySeconds": { 2540 SchemaProps: spec.SchemaProps{ 2541 Description: "Minimum number of seconds for which a newly created machine pool should be ready. Defaults to 0 (machine will be considered available as soon as it is ready) NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.", 2542 Type: []string{"integer"}, 2543 Format: "int32", 2544 }, 2545 }, 2546 }, 2547 Required: []string{"class", "template"}, 2548 }, 2549 }, 2550 Dependencies: []string{ 2551 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassNamingStrategy", "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClassTemplate"}, 2552 } 2553 } 2554 2555 func schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClassNamingStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition { 2556 return common.OpenAPIDefinition{ 2557 Schema: spec.Schema{ 2558 SchemaProps: spec.SchemaProps{ 2559 Description: "MachinePoolClassNamingStrategy defines the naming strategy for machine pool objects.", 2560 Type: []string{"object"}, 2561 Properties: map[string]spec.Schema{ 2562 "template": { 2563 SchemaProps: spec.SchemaProps{ 2564 Description: "Template defines the template to use for generating the name of the MachinePool object. If not defined, it will fallback to `{{ .cluster.name }}-{{ .machinePool.topologyName }}-{{ .random }}`. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments: * `.cluster.name`: The name of the cluster object. * `.random`: A random alphanumeric string, without vowels, of length 5. * `.machinePool.topologyName`: The name of the MachinePool topology (Cluster.spec.topology.workers.machinePools[].name).", 2565 Type: []string{"string"}, 2566 Format: "", 2567 }, 2568 }, 2569 }, 2570 }, 2571 }, 2572 } 2573 } 2574 2575 func schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolClassTemplate(ref common.ReferenceCallback) common.OpenAPIDefinition { 2576 return common.OpenAPIDefinition{ 2577 Schema: spec.Schema{ 2578 SchemaProps: spec.SchemaProps{ 2579 Description: "MachinePoolClassTemplate defines how a MachinePool generated from a MachinePoolClass should look like.", 2580 Type: []string{"object"}, 2581 Properties: map[string]spec.Schema{ 2582 "metadata": { 2583 SchemaProps: spec.SchemaProps{ 2584 Description: "Metadata is the metadata applied to the MachinePool. At runtime this metadata is merged with the corresponding metadata from the topology.", 2585 Default: map[string]interface{}{}, 2586 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 2587 }, 2588 }, 2589 "bootstrap": { 2590 SchemaProps: spec.SchemaProps{ 2591 Description: "Bootstrap contains the bootstrap template reference to be used for the creation of the Machines in the MachinePool.", 2592 Default: map[string]interface{}{}, 2593 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 2594 }, 2595 }, 2596 "infrastructure": { 2597 SchemaProps: spec.SchemaProps{ 2598 Description: "Infrastructure contains the infrastructure template reference to be used for the creation of the MachinePool.", 2599 Default: map[string]interface{}{}, 2600 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate"), 2601 }, 2602 }, 2603 }, 2604 Required: []string{"bootstrap", "infrastructure"}, 2605 }, 2606 }, 2607 Dependencies: []string{ 2608 "sigs.k8s.io/cluster-api/api/v1beta1.LocalObjectTemplate", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 2609 } 2610 } 2611 2612 func schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { 2613 return common.OpenAPIDefinition{ 2614 Schema: spec.Schema{ 2615 SchemaProps: spec.SchemaProps{ 2616 Description: "MachinePoolTopology specifies the different parameters for a pool of worker nodes in the topology. This pool of nodes is managed by a MachinePool object whose lifecycle is managed by the Cluster controller.", 2617 Type: []string{"object"}, 2618 Properties: map[string]spec.Schema{ 2619 "metadata": { 2620 SchemaProps: spec.SchemaProps{ 2621 Description: "Metadata is the metadata applied to the MachinePool. At runtime this metadata is merged with the corresponding metadata from the ClusterClass.", 2622 Default: map[string]interface{}{}, 2623 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 2624 }, 2625 }, 2626 "class": { 2627 SchemaProps: spec.SchemaProps{ 2628 Description: "Class is the name of the MachinePoolClass used to create the pool of worker nodes. This should match one of the deployment classes defined in the ClusterClass object mentioned in the `Cluster.Spec.Class` field.", 2629 Default: "", 2630 Type: []string{"string"}, 2631 Format: "", 2632 }, 2633 }, 2634 "name": { 2635 SchemaProps: spec.SchemaProps{ 2636 Description: "Name is the unique identifier for this MachinePoolTopology. The value is used with other unique identifiers to create a MachinePool's Name (e.g. cluster's name, etc). In case the name is greater than the allowed maximum length, the values are hashed together.", 2637 Default: "", 2638 Type: []string{"string"}, 2639 Format: "", 2640 }, 2641 }, 2642 "failureDomains": { 2643 SchemaProps: spec.SchemaProps{ 2644 Description: "FailureDomains is the list of failure domains the machine pool will be created in. Must match a key in the FailureDomains map stored on the cluster object.", 2645 Type: []string{"array"}, 2646 Items: &spec.SchemaOrArray{ 2647 Schema: &spec.Schema{ 2648 SchemaProps: spec.SchemaProps{ 2649 Default: "", 2650 Type: []string{"string"}, 2651 Format: "", 2652 }, 2653 }, 2654 }, 2655 }, 2656 }, 2657 "nodeDrainTimeout": { 2658 SchemaProps: spec.SchemaProps{ 2659 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`", 2660 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2661 }, 2662 }, 2663 "nodeVolumeDetachTimeout": { 2664 SchemaProps: spec.SchemaProps{ 2665 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.", 2666 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2667 }, 2668 }, 2669 "nodeDeletionTimeout": { 2670 SchemaProps: spec.SchemaProps{ 2671 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the MachinePool hosts after the MachinePool is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds.", 2672 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 2673 }, 2674 }, 2675 "minReadySeconds": { 2676 SchemaProps: spec.SchemaProps{ 2677 Description: "Minimum number of seconds for which a newly created machine pool should be ready. Defaults to 0 (machine will be considered available as soon as it is ready)", 2678 Type: []string{"integer"}, 2679 Format: "int32", 2680 }, 2681 }, 2682 "replicas": { 2683 SchemaProps: spec.SchemaProps{ 2684 Description: "Replicas is the number of nodes belonging to this pool. If the value is nil, the MachinePool is created without the number of Replicas (defaulting to 1) and it's assumed that an external entity (like cluster autoscaler) is responsible for the management of this value.", 2685 Type: []string{"integer"}, 2686 Format: "int32", 2687 }, 2688 }, 2689 "variables": { 2690 SchemaProps: spec.SchemaProps{ 2691 Description: "Variables can be used to customize the MachinePool through patches.", 2692 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolVariables"), 2693 }, 2694 }, 2695 }, 2696 Required: []string{"class", "name"}, 2697 }, 2698 }, 2699 Dependencies: []string{ 2700 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolVariables", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 2701 } 2702 } 2703 2704 func schema_sigsk8sio_cluster_api_api_v1beta1_MachinePoolVariables(ref common.ReferenceCallback) common.OpenAPIDefinition { 2705 return common.OpenAPIDefinition{ 2706 Schema: spec.Schema{ 2707 SchemaProps: spec.SchemaProps{ 2708 Description: "MachinePoolVariables can be used to provide variables for a specific MachinePool.", 2709 Type: []string{"object"}, 2710 Properties: map[string]spec.Schema{ 2711 "overrides": { 2712 SchemaProps: spec.SchemaProps{ 2713 Description: "Overrides can be used to override Cluster level variables.", 2714 Type: []string{"array"}, 2715 Items: &spec.SchemaOrArray{ 2716 Schema: &spec.Schema{ 2717 SchemaProps: spec.SchemaProps{ 2718 Default: map[string]interface{}{}, 2719 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable"), 2720 }, 2721 }, 2722 }, 2723 }, 2724 }, 2725 }, 2726 }, 2727 }, 2728 Dependencies: []string{ 2729 "sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable"}, 2730 } 2731 } 2732 2733 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineRollingUpdateDeployment(ref common.ReferenceCallback) common.OpenAPIDefinition { 2734 return common.OpenAPIDefinition{ 2735 Schema: spec.Schema{ 2736 SchemaProps: spec.SchemaProps{ 2737 Description: "MachineRollingUpdateDeployment is used to control the desired behavior of rolling update.", 2738 Type: []string{"object"}, 2739 Properties: map[string]spec.Schema{ 2740 "maxUnavailable": { 2741 SchemaProps: spec.SchemaProps{ 2742 Description: "The maximum number of machines that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 0. Example: when this is set to 30%, the old MachineSet can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MachineSet can be scaled down further, followed by scaling up the new MachineSet, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.", 2743 Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), 2744 }, 2745 }, 2746 "maxSurge": { 2747 SchemaProps: spec.SchemaProps{ 2748 Description: "The maximum number of machines that can be scheduled above the desired number of machines. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 1. Example: when this is set to 30%, the new MachineSet can be scaled up immediately when the rolling update starts, such that the total number of old and new machines do not exceed 130% of desired machines. Once old machines have been killed, new MachineSet can be scaled up further, ensuring that total number of machines running at any time during the update is at most 130% of desired machines.", 2749 Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), 2750 }, 2751 }, 2752 "deletePolicy": { 2753 SchemaProps: spec.SchemaProps{ 2754 Description: "DeletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. Valid values are \"Random, \"Newest\", \"Oldest\" When no value is supplied, the default DeletePolicy of MachineSet is used", 2755 Type: []string{"string"}, 2756 Format: "", 2757 }, 2758 }, 2759 }, 2760 }, 2761 }, 2762 Dependencies: []string{ 2763 "k8s.io/apimachinery/pkg/util/intstr.IntOrString"}, 2764 } 2765 } 2766 2767 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineSet(ref common.ReferenceCallback) common.OpenAPIDefinition { 2768 return common.OpenAPIDefinition{ 2769 Schema: spec.Schema{ 2770 SchemaProps: spec.SchemaProps{ 2771 Description: "MachineSet is the Schema for the machinesets API.", 2772 Type: []string{"object"}, 2773 Properties: map[string]spec.Schema{ 2774 "kind": { 2775 SchemaProps: spec.SchemaProps{ 2776 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 2777 Type: []string{"string"}, 2778 Format: "", 2779 }, 2780 }, 2781 "apiVersion": { 2782 SchemaProps: spec.SchemaProps{ 2783 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 2784 Type: []string{"string"}, 2785 Format: "", 2786 }, 2787 }, 2788 "metadata": { 2789 SchemaProps: spec.SchemaProps{ 2790 Default: map[string]interface{}{}, 2791 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), 2792 }, 2793 }, 2794 "spec": { 2795 SchemaProps: spec.SchemaProps{ 2796 Default: map[string]interface{}{}, 2797 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineSetSpec"), 2798 }, 2799 }, 2800 "status": { 2801 SchemaProps: spec.SchemaProps{ 2802 Default: map[string]interface{}{}, 2803 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineSetStatus"), 2804 }, 2805 }, 2806 }, 2807 }, 2808 }, 2809 Dependencies: []string{ 2810 "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineSetSpec", "sigs.k8s.io/cluster-api/api/v1beta1.MachineSetStatus"}, 2811 } 2812 } 2813 2814 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetList(ref common.ReferenceCallback) common.OpenAPIDefinition { 2815 return common.OpenAPIDefinition{ 2816 Schema: spec.Schema{ 2817 SchemaProps: spec.SchemaProps{ 2818 Description: "MachineSetList contains a list of MachineSet.", 2819 Type: []string{"object"}, 2820 Properties: map[string]spec.Schema{ 2821 "kind": { 2822 SchemaProps: spec.SchemaProps{ 2823 Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", 2824 Type: []string{"string"}, 2825 Format: "", 2826 }, 2827 }, 2828 "apiVersion": { 2829 SchemaProps: spec.SchemaProps{ 2830 Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", 2831 Type: []string{"string"}, 2832 Format: "", 2833 }, 2834 }, 2835 "metadata": { 2836 SchemaProps: spec.SchemaProps{ 2837 Default: map[string]interface{}{}, 2838 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), 2839 }, 2840 }, 2841 "items": { 2842 SchemaProps: spec.SchemaProps{ 2843 Type: []string{"array"}, 2844 Items: &spec.SchemaOrArray{ 2845 Schema: &spec.Schema{ 2846 SchemaProps: spec.SchemaProps{ 2847 Default: map[string]interface{}{}, 2848 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineSet"), 2849 }, 2850 }, 2851 }, 2852 }, 2853 }, 2854 }, 2855 Required: []string{"items"}, 2856 }, 2857 }, 2858 Dependencies: []string{ 2859 "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "sigs.k8s.io/cluster-api/api/v1beta1.MachineSet"}, 2860 } 2861 } 2862 2863 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 2864 return common.OpenAPIDefinition{ 2865 Schema: spec.Schema{ 2866 SchemaProps: spec.SchemaProps{ 2867 Description: "MachineSetSpec defines the desired state of MachineSet.", 2868 Type: []string{"object"}, 2869 Properties: map[string]spec.Schema{ 2870 "clusterName": { 2871 SchemaProps: spec.SchemaProps{ 2872 Description: "ClusterName is the name of the Cluster this object belongs to.", 2873 Default: "", 2874 Type: []string{"string"}, 2875 Format: "", 2876 }, 2877 }, 2878 "replicas": { 2879 SchemaProps: spec.SchemaProps{ 2880 Description: "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1.", 2881 Type: []string{"integer"}, 2882 Format: "int32", 2883 }, 2884 }, 2885 "minReadySeconds": { 2886 SchemaProps: spec.SchemaProps{ 2887 Description: "MinReadySeconds is the minimum number of seconds for which a Node for a newly created machine should be ready before considering the replica available. Defaults to 0 (machine will be considered available as soon as the Node is ready)", 2888 Type: []string{"integer"}, 2889 Format: "int32", 2890 }, 2891 }, 2892 "deletePolicy": { 2893 SchemaProps: spec.SchemaProps{ 2894 Description: "DeletePolicy defines the policy used to identify nodes to delete when downscaling. Defaults to \"Random\". Valid values are \"Random, \"Newest\", \"Oldest\"", 2895 Type: []string{"string"}, 2896 Format: "", 2897 }, 2898 }, 2899 "selector": { 2900 SchemaProps: spec.SchemaProps{ 2901 Description: "Selector is a label query over machines that should match the replica count. Label keys and values that must match in order to be controlled by this MachineSet. It must match the machine template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors", 2902 Default: map[string]interface{}{}, 2903 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), 2904 }, 2905 }, 2906 "template": { 2907 SchemaProps: spec.SchemaProps{ 2908 Description: "Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources are treated as templates.", 2909 Default: map[string]interface{}{}, 2910 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineTemplateSpec"), 2911 }, 2912 }, 2913 }, 2914 Required: []string{"clusterName", "selector"}, 2915 }, 2916 }, 2917 Dependencies: []string{ 2918 "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector", "sigs.k8s.io/cluster-api/api/v1beta1.MachineTemplateSpec"}, 2919 } 2920 } 2921 2922 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineSetStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 2923 return common.OpenAPIDefinition{ 2924 Schema: spec.Schema{ 2925 SchemaProps: spec.SchemaProps{ 2926 Description: "MachineSetStatus defines the observed state of MachineSet.", 2927 Type: []string{"object"}, 2928 Properties: map[string]spec.Schema{ 2929 "selector": { 2930 SchemaProps: spec.SchemaProps{ 2931 Description: "Selector is the same as the label selector but in the string format to avoid introspection by clients. The string will be in the same format as the query-param syntax. More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors", 2932 Type: []string{"string"}, 2933 Format: "", 2934 }, 2935 }, 2936 "replicas": { 2937 SchemaProps: spec.SchemaProps{ 2938 Description: "Replicas is the most recently observed number of replicas.", 2939 Default: 0, 2940 Type: []string{"integer"}, 2941 Format: "int32", 2942 }, 2943 }, 2944 "fullyLabeledReplicas": { 2945 SchemaProps: spec.SchemaProps{ 2946 Description: "The number of replicas that have labels matching the labels of the machine template of the MachineSet.", 2947 Default: 0, 2948 Type: []string{"integer"}, 2949 Format: "int32", 2950 }, 2951 }, 2952 "readyReplicas": { 2953 SchemaProps: spec.SchemaProps{ 2954 Description: "The number of ready replicas for this MachineSet. A machine is considered ready when the node has been created and is \"Ready\".", 2955 Default: 0, 2956 Type: []string{"integer"}, 2957 Format: "int32", 2958 }, 2959 }, 2960 "availableReplicas": { 2961 SchemaProps: spec.SchemaProps{ 2962 Description: "The number of available replicas (ready for at least minReadySeconds) for this MachineSet.", 2963 Default: 0, 2964 Type: []string{"integer"}, 2965 Format: "int32", 2966 }, 2967 }, 2968 "observedGeneration": { 2969 SchemaProps: spec.SchemaProps{ 2970 Description: "ObservedGeneration reflects the generation of the most recently observed MachineSet.", 2971 Type: []string{"integer"}, 2972 Format: "int64", 2973 }, 2974 }, 2975 "failureReason": { 2976 SchemaProps: spec.SchemaProps{ 2977 Description: "In the event that there is a terminal problem reconciling the replicas, both FailureReason and FailureMessage will be set. FailureReason will be populated with a succinct value suitable for machine interpretation, while FailureMessage will contain a more verbose string suitable for logging and human consumption.\n\nThese fields should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachineTemplate's spec or the configuration of the machine controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the machine controller, or the responsible machine controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the MachineSet object and/or logged in the controller's output.", 2978 Type: []string{"string"}, 2979 Format: "", 2980 }, 2981 }, 2982 "failureMessage": { 2983 SchemaProps: spec.SchemaProps{ 2984 Type: []string{"string"}, 2985 Format: "", 2986 }, 2987 }, 2988 "conditions": { 2989 SchemaProps: spec.SchemaProps{ 2990 Description: "Conditions defines current service state of the MachineSet.", 2991 Type: []string{"array"}, 2992 Items: &spec.SchemaOrArray{ 2993 Schema: &spec.Schema{ 2994 SchemaProps: spec.SchemaProps{ 2995 Default: map[string]interface{}{}, 2996 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 2997 }, 2998 }, 2999 }, 3000 }, 3001 }, 3002 }, 3003 }, 3004 }, 3005 Dependencies: []string{ 3006 "sigs.k8s.io/cluster-api/api/v1beta1.Condition"}, 3007 } 3008 } 3009 3010 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 3011 return common.OpenAPIDefinition{ 3012 Schema: spec.Schema{ 3013 SchemaProps: spec.SchemaProps{ 3014 Description: "MachineSpec defines the desired state of Machine.", 3015 Type: []string{"object"}, 3016 Properties: map[string]spec.Schema{ 3017 "clusterName": { 3018 SchemaProps: spec.SchemaProps{ 3019 Description: "ClusterName is the name of the Cluster this object belongs to.", 3020 Default: "", 3021 Type: []string{"string"}, 3022 Format: "", 3023 }, 3024 }, 3025 "bootstrap": { 3026 SchemaProps: spec.SchemaProps{ 3027 Description: "Bootstrap is a reference to a local struct which encapsulates fields to configure the Machine’s bootstrapping mechanism.", 3028 Default: map[string]interface{}{}, 3029 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Bootstrap"), 3030 }, 3031 }, 3032 "infrastructureRef": { 3033 SchemaProps: spec.SchemaProps{ 3034 Description: "InfrastructureRef is a required reference to a custom resource offered by an infrastructure provider.", 3035 Default: map[string]interface{}{}, 3036 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 3037 }, 3038 }, 3039 "version": { 3040 SchemaProps: spec.SchemaProps{ 3041 Description: "Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers.", 3042 Type: []string{"string"}, 3043 Format: "", 3044 }, 3045 }, 3046 "providerID": { 3047 SchemaProps: spec.SchemaProps{ 3048 Description: "ProviderID is the identification ID of the machine provided by the provider. This field must match the provider ID as seen on the node object corresponding to this machine. This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a generic out-of-tree provider for autoscaler, this field is required by autoscaler to be able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver and then a comparison is done to find out unregistered machines and are marked for delete. This field will be set by the actuators and consumed by higher level entities like autoscaler that will be interfacing with cluster-api as generic provider.", 3049 Type: []string{"string"}, 3050 Format: "", 3051 }, 3052 }, 3053 "failureDomain": { 3054 SchemaProps: spec.SchemaProps{ 3055 Description: "FailureDomain is the failure domain the machine will be created in. Must match a key in the FailureDomains map stored on the cluster object.", 3056 Type: []string{"string"}, 3057 Format: "", 3058 }, 3059 }, 3060 "nodeDrainTimeout": { 3061 SchemaProps: spec.SchemaProps{ 3062 Description: "NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`", 3063 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 3064 }, 3065 }, 3066 "nodeVolumeDetachTimeout": { 3067 SchemaProps: spec.SchemaProps{ 3068 Description: "NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.", 3069 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 3070 }, 3071 }, 3072 "nodeDeletionTimeout": { 3073 SchemaProps: spec.SchemaProps{ 3074 Description: "NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds.", 3075 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 3076 }, 3077 }, 3078 }, 3079 Required: []string{"clusterName", "bootstrap", "infrastructureRef"}, 3080 }, 3081 }, 3082 Dependencies: []string{ 3083 "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "sigs.k8s.io/cluster-api/api/v1beta1.Bootstrap"}, 3084 } 3085 } 3086 3087 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { 3088 return common.OpenAPIDefinition{ 3089 Schema: spec.Schema{ 3090 SchemaProps: spec.SchemaProps{ 3091 Description: "MachineStatus defines the observed state of Machine.", 3092 Type: []string{"object"}, 3093 Properties: map[string]spec.Schema{ 3094 "nodeRef": { 3095 SchemaProps: spec.SchemaProps{ 3096 Description: "NodeRef will point to the corresponding Node if it exists.", 3097 Ref: ref("k8s.io/api/core/v1.ObjectReference"), 3098 }, 3099 }, 3100 "nodeInfo": { 3101 SchemaProps: spec.SchemaProps{ 3102 Description: "NodeInfo is a set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info", 3103 Ref: ref("k8s.io/api/core/v1.NodeSystemInfo"), 3104 }, 3105 }, 3106 "lastUpdated": { 3107 SchemaProps: spec.SchemaProps{ 3108 Description: "LastUpdated identifies when the phase of the Machine last transitioned.", 3109 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), 3110 }, 3111 }, 3112 "failureReason": { 3113 SchemaProps: spec.SchemaProps{ 3114 Description: "FailureReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", 3115 Type: []string{"string"}, 3116 Format: "", 3117 }, 3118 }, 3119 "failureMessage": { 3120 SchemaProps: spec.SchemaProps{ 3121 Description: "FailureMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", 3122 Type: []string{"string"}, 3123 Format: "", 3124 }, 3125 }, 3126 "addresses": { 3127 SchemaProps: spec.SchemaProps{ 3128 Description: "Addresses is a list of addresses assigned to the machine. This field is copied from the infrastructure provider reference.", 3129 Type: []string{"array"}, 3130 Items: &spec.SchemaOrArray{ 3131 Schema: &spec.Schema{ 3132 SchemaProps: spec.SchemaProps{ 3133 Default: map[string]interface{}{}, 3134 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineAddress"), 3135 }, 3136 }, 3137 }, 3138 }, 3139 }, 3140 "phase": { 3141 SchemaProps: spec.SchemaProps{ 3142 Description: "Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc.", 3143 Type: []string{"string"}, 3144 Format: "", 3145 }, 3146 }, 3147 "certificatesExpiryDate": { 3148 SchemaProps: spec.SchemaProps{ 3149 Description: "CertificatesExpiryDate is the expiry date of the machine certificates. This value is only set for control plane machines.", 3150 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), 3151 }, 3152 }, 3153 "bootstrapReady": { 3154 SchemaProps: spec.SchemaProps{ 3155 Description: "BootstrapReady is the state of the bootstrap provider.", 3156 Default: false, 3157 Type: []string{"boolean"}, 3158 Format: "", 3159 }, 3160 }, 3161 "infrastructureReady": { 3162 SchemaProps: spec.SchemaProps{ 3163 Description: "InfrastructureReady is the state of the infrastructure provider.", 3164 Default: false, 3165 Type: []string{"boolean"}, 3166 Format: "", 3167 }, 3168 }, 3169 "observedGeneration": { 3170 SchemaProps: spec.SchemaProps{ 3171 Description: "ObservedGeneration is the latest generation observed by the controller.", 3172 Type: []string{"integer"}, 3173 Format: "int64", 3174 }, 3175 }, 3176 "conditions": { 3177 SchemaProps: spec.SchemaProps{ 3178 Description: "Conditions defines current service state of the Machine.", 3179 Type: []string{"array"}, 3180 Items: &spec.SchemaOrArray{ 3181 Schema: &spec.Schema{ 3182 SchemaProps: spec.SchemaProps{ 3183 Default: map[string]interface{}{}, 3184 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.Condition"), 3185 }, 3186 }, 3187 }, 3188 }, 3189 }, 3190 }, 3191 }, 3192 }, 3193 Dependencies: []string{ 3194 "k8s.io/api/core/v1.NodeSystemInfo", "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "sigs.k8s.io/cluster-api/api/v1beta1.Condition", "sigs.k8s.io/cluster-api/api/v1beta1.MachineAddress"}, 3195 } 3196 } 3197 3198 func schema_sigsk8sio_cluster_api_api_v1beta1_MachineTemplateSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { 3199 return common.OpenAPIDefinition{ 3200 Schema: spec.Schema{ 3201 SchemaProps: spec.SchemaProps{ 3202 Description: "MachineTemplateSpec describes the data needed to create a Machine from a template.", 3203 Type: []string{"object"}, 3204 Properties: map[string]spec.Schema{ 3205 "metadata": { 3206 SchemaProps: spec.SchemaProps{ 3207 Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", 3208 Default: map[string]interface{}{}, 3209 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"), 3210 }, 3211 }, 3212 "spec": { 3213 SchemaProps: spec.SchemaProps{ 3214 Description: "Specification of the desired behavior of the machine. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", 3215 Default: map[string]interface{}{}, 3216 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineSpec"), 3217 }, 3218 }, 3219 }, 3220 }, 3221 }, 3222 Dependencies: []string{ 3223 "sigs.k8s.io/cluster-api/api/v1beta1.MachineSpec", "sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta"}, 3224 } 3225 } 3226 3227 func schema_sigsk8sio_cluster_api_api_v1beta1_NetworkRanges(ref common.ReferenceCallback) common.OpenAPIDefinition { 3228 return common.OpenAPIDefinition{ 3229 Schema: spec.Schema{ 3230 SchemaProps: spec.SchemaProps{ 3231 Description: "NetworkRanges represents ranges of network addresses.", 3232 Type: []string{"object"}, 3233 Properties: map[string]spec.Schema{ 3234 "cidrBlocks": { 3235 SchemaProps: spec.SchemaProps{ 3236 Type: []string{"array"}, 3237 Items: &spec.SchemaOrArray{ 3238 Schema: &spec.Schema{ 3239 SchemaProps: spec.SchemaProps{ 3240 Default: "", 3241 Type: []string{"string"}, 3242 Format: "", 3243 }, 3244 }, 3245 }, 3246 }, 3247 }, 3248 }, 3249 Required: []string{"cidrBlocks"}, 3250 }, 3251 }, 3252 } 3253 } 3254 3255 func schema_sigsk8sio_cluster_api_api_v1beta1_ObjectMeta(ref common.ReferenceCallback) common.OpenAPIDefinition { 3256 return common.OpenAPIDefinition{ 3257 Schema: spec.Schema{ 3258 SchemaProps: spec.SchemaProps{ 3259 Description: "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.\n\nObjectMeta is embedded in `Machine.Spec`, `MachineDeployment.Template` and `MachineSet.Template`, which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases and read-only fields which end up in the generated CRD validation, having it as a subset simplifies the API and some issues that can impact user experience.\n\nDuring the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054) for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs, specifically `spec.metadata.creationTimestamp in body must be of type string: \"null\"`. The investigation showed that `controller-tools@v2` behaves differently than its previous version when handling types from [metav1](k8s.io/apimachinery/pkg/apis/meta/v1) package.\n\nIn more details, we found that embedded (non-top level) types that embedded `metav1.ObjectMeta` had validation properties, including for `creationTimestamp` (metav1.Time). The `metav1.Time` type specifies a custom json marshaller that, when IsZero() is true, returns `null` which breaks validation because the field isn't marked as nullable.\n\nIn future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited.", 3260 Type: []string{"object"}, 3261 Properties: map[string]spec.Schema{ 3262 "labels": { 3263 SchemaProps: spec.SchemaProps{ 3264 Description: "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", 3265 Type: []string{"object"}, 3266 AdditionalProperties: &spec.SchemaOrBool{ 3267 Allows: true, 3268 Schema: &spec.Schema{ 3269 SchemaProps: spec.SchemaProps{ 3270 Default: "", 3271 Type: []string{"string"}, 3272 Format: "", 3273 }, 3274 }, 3275 }, 3276 }, 3277 }, 3278 "annotations": { 3279 SchemaProps: spec.SchemaProps{ 3280 Description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", 3281 Type: []string{"object"}, 3282 AdditionalProperties: &spec.SchemaOrBool{ 3283 Allows: true, 3284 Schema: &spec.Schema{ 3285 SchemaProps: spec.SchemaProps{ 3286 Default: "", 3287 Type: []string{"string"}, 3288 Format: "", 3289 }, 3290 }, 3291 }, 3292 }, 3293 }, 3294 }, 3295 }, 3296 }, 3297 } 3298 } 3299 3300 func schema_sigsk8sio_cluster_api_api_v1beta1_PatchDefinition(ref common.ReferenceCallback) common.OpenAPIDefinition { 3301 return common.OpenAPIDefinition{ 3302 Schema: spec.Schema{ 3303 SchemaProps: spec.SchemaProps{ 3304 Description: "PatchDefinition defines a patch which is applied to customize the referenced templates.", 3305 Type: []string{"object"}, 3306 Properties: map[string]spec.Schema{ 3307 "selector": { 3308 SchemaProps: spec.SchemaProps{ 3309 Description: "Selector defines on which templates the patch should be applied.", 3310 Default: map[string]interface{}{}, 3311 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.PatchSelector"), 3312 }, 3313 }, 3314 "jsonPatches": { 3315 SchemaProps: spec.SchemaProps{ 3316 Description: "JSONPatches defines the patches which should be applied on the templates matching the selector. Note: Patches will be applied in the order of the array.", 3317 Type: []string{"array"}, 3318 Items: &spec.SchemaOrArray{ 3319 Schema: &spec.Schema{ 3320 SchemaProps: spec.SchemaProps{ 3321 Default: map[string]interface{}{}, 3322 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONPatch"), 3323 }, 3324 }, 3325 }, 3326 }, 3327 }, 3328 }, 3329 Required: []string{"selector", "jsonPatches"}, 3330 }, 3331 }, 3332 Dependencies: []string{ 3333 "sigs.k8s.io/cluster-api/api/v1beta1.JSONPatch", "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelector"}, 3334 } 3335 } 3336 3337 func schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelector(ref common.ReferenceCallback) common.OpenAPIDefinition { 3338 return common.OpenAPIDefinition{ 3339 Schema: spec.Schema{ 3340 SchemaProps: spec.SchemaProps{ 3341 Description: "PatchSelector defines on which templates the patch should be applied. Note: Matching on APIVersion and Kind is mandatory, to enforce that the patches are written for the correct version. The version of the references in the ClusterClass may be automatically updated during reconciliation if there is a newer version for the same contract. Note: The results of selection based on the individual fields are ANDed.", 3342 Type: []string{"object"}, 3343 Properties: map[string]spec.Schema{ 3344 "apiVersion": { 3345 SchemaProps: spec.SchemaProps{ 3346 Description: "APIVersion filters templates by apiVersion.", 3347 Default: "", 3348 Type: []string{"string"}, 3349 Format: "", 3350 }, 3351 }, 3352 "kind": { 3353 SchemaProps: spec.SchemaProps{ 3354 Description: "Kind filters templates by kind.", 3355 Default: "", 3356 Type: []string{"string"}, 3357 Format: "", 3358 }, 3359 }, 3360 "matchResources": { 3361 SchemaProps: spec.SchemaProps{ 3362 Description: "MatchResources selects templates based on where they are referenced.", 3363 Default: map[string]interface{}{}, 3364 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatch"), 3365 }, 3366 }, 3367 }, 3368 Required: []string{"apiVersion", "kind", "matchResources"}, 3369 }, 3370 }, 3371 Dependencies: []string{ 3372 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatch"}, 3373 } 3374 } 3375 3376 func schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatch(ref common.ReferenceCallback) common.OpenAPIDefinition { 3377 return common.OpenAPIDefinition{ 3378 Schema: spec.Schema{ 3379 SchemaProps: spec.SchemaProps{ 3380 Description: "PatchSelectorMatch selects templates based on where they are referenced. Note: The selector must match at least one template. Note: The results of selection based on the individual fields are ORed.", 3381 Type: []string{"object"}, 3382 Properties: map[string]spec.Schema{ 3383 "controlPlane": { 3384 SchemaProps: spec.SchemaProps{ 3385 Description: "ControlPlane selects templates referenced in .spec.ControlPlane. Note: this will match the controlPlane and also the controlPlane machineInfrastructure (depending on the kind and apiVersion).", 3386 Type: []string{"boolean"}, 3387 Format: "", 3388 }, 3389 }, 3390 "infrastructureCluster": { 3391 SchemaProps: spec.SchemaProps{ 3392 Description: "InfrastructureCluster selects templates referenced in .spec.infrastructure.", 3393 Type: []string{"boolean"}, 3394 Format: "", 3395 }, 3396 }, 3397 "machineDeploymentClass": { 3398 SchemaProps: spec.SchemaProps{ 3399 Description: "MachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.", 3400 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachineDeploymentClass"), 3401 }, 3402 }, 3403 "machinePoolClass": { 3404 SchemaProps: spec.SchemaProps{ 3405 Description: "MachinePoolClass selects templates referenced in specific MachinePoolClasses in .spec.workers.machinePools.", 3406 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachinePoolClass"), 3407 }, 3408 }, 3409 }, 3410 }, 3411 }, 3412 Dependencies: []string{ 3413 "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachineDeploymentClass", "sigs.k8s.io/cluster-api/api/v1beta1.PatchSelectorMatchMachinePoolClass"}, 3414 } 3415 } 3416 3417 func schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatchMachineDeploymentClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 3418 return common.OpenAPIDefinition{ 3419 Schema: spec.Schema{ 3420 SchemaProps: spec.SchemaProps{ 3421 Description: "PatchSelectorMatchMachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.", 3422 Type: []string{"object"}, 3423 Properties: map[string]spec.Schema{ 3424 "names": { 3425 SchemaProps: spec.SchemaProps{ 3426 Description: "Names selects templates by class names.", 3427 Type: []string{"array"}, 3428 Items: &spec.SchemaOrArray{ 3429 Schema: &spec.Schema{ 3430 SchemaProps: spec.SchemaProps{ 3431 Default: "", 3432 Type: []string{"string"}, 3433 Format: "", 3434 }, 3435 }, 3436 }, 3437 }, 3438 }, 3439 }, 3440 }, 3441 }, 3442 } 3443 } 3444 3445 func schema_sigsk8sio_cluster_api_api_v1beta1_PatchSelectorMatchMachinePoolClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 3446 return common.OpenAPIDefinition{ 3447 Schema: spec.Schema{ 3448 SchemaProps: spec.SchemaProps{ 3449 Description: "PatchSelectorMatchMachinePoolClass selects templates referenced in specific MachinePoolClasses in .spec.workers.machinePools.", 3450 Type: []string{"object"}, 3451 Properties: map[string]spec.Schema{ 3452 "names": { 3453 SchemaProps: spec.SchemaProps{ 3454 Description: "Names selects templates by class names.", 3455 Type: []string{"array"}, 3456 Items: &spec.SchemaOrArray{ 3457 Schema: &spec.Schema{ 3458 SchemaProps: spec.SchemaProps{ 3459 Default: "", 3460 Type: []string{"string"}, 3461 Format: "", 3462 }, 3463 }, 3464 }, 3465 }, 3466 }, 3467 }, 3468 }, 3469 }, 3470 } 3471 } 3472 3473 func schema_sigsk8sio_cluster_api_api_v1beta1_Topology(ref common.ReferenceCallback) common.OpenAPIDefinition { 3474 return common.OpenAPIDefinition{ 3475 Schema: spec.Schema{ 3476 SchemaProps: spec.SchemaProps{ 3477 Description: "Topology encapsulates the information of the managed resources.", 3478 Type: []string{"object"}, 3479 Properties: map[string]spec.Schema{ 3480 "class": { 3481 SchemaProps: spec.SchemaProps{ 3482 Description: "The name of the ClusterClass object to create the topology.", 3483 Default: "", 3484 Type: []string{"string"}, 3485 Format: "", 3486 }, 3487 }, 3488 "version": { 3489 SchemaProps: spec.SchemaProps{ 3490 Description: "The Kubernetes version of the cluster.", 3491 Default: "", 3492 Type: []string{"string"}, 3493 Format: "", 3494 }, 3495 }, 3496 "rolloutAfter": { 3497 SchemaProps: spec.SchemaProps{ 3498 Description: "RolloutAfter performs a rollout of the entire cluster one component at a time, control plane first and then machine deployments.\n\nDeprecated: This field has no function and is going to be removed in the next apiVersion.", 3499 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), 3500 }, 3501 }, 3502 "controlPlane": { 3503 SchemaProps: spec.SchemaProps{ 3504 Description: "ControlPlane describes the cluster control plane.", 3505 Default: map[string]interface{}{}, 3506 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneTopology"), 3507 }, 3508 }, 3509 "workers": { 3510 SchemaProps: spec.SchemaProps{ 3511 Description: "Workers encapsulates the different constructs that form the worker nodes for the cluster.", 3512 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.WorkersTopology"), 3513 }, 3514 }, 3515 "variables": { 3516 SchemaProps: spec.SchemaProps{ 3517 Description: "Variables can be used to customize the Cluster through patches. They must comply to the corresponding VariableClasses defined in the ClusterClass.", 3518 Type: []string{"array"}, 3519 Items: &spec.SchemaOrArray{ 3520 Schema: &spec.Schema{ 3521 SchemaProps: spec.SchemaProps{ 3522 Default: map[string]interface{}{}, 3523 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable"), 3524 }, 3525 }, 3526 }, 3527 }, 3528 }, 3529 }, 3530 Required: []string{"class", "version"}, 3531 }, 3532 }, 3533 Dependencies: []string{ 3534 "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "sigs.k8s.io/cluster-api/api/v1beta1.ClusterVariable", "sigs.k8s.io/cluster-api/api/v1beta1.ControlPlaneTopology", "sigs.k8s.io/cluster-api/api/v1beta1.WorkersTopology"}, 3535 } 3536 } 3537 3538 func schema_sigsk8sio_cluster_api_api_v1beta1_UnhealthyCondition(ref common.ReferenceCallback) common.OpenAPIDefinition { 3539 return common.OpenAPIDefinition{ 3540 Schema: spec.Schema{ 3541 SchemaProps: spec.SchemaProps{ 3542 Description: "UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration. When the named condition has been in the given status for at least the timeout value, a node is considered unhealthy.", 3543 Type: []string{"object"}, 3544 Properties: map[string]spec.Schema{ 3545 "type": { 3546 SchemaProps: spec.SchemaProps{ 3547 Default: "", 3548 Type: []string{"string"}, 3549 Format: "", 3550 }, 3551 }, 3552 "status": { 3553 SchemaProps: spec.SchemaProps{ 3554 Default: "", 3555 Type: []string{"string"}, 3556 Format: "", 3557 }, 3558 }, 3559 "timeout": { 3560 SchemaProps: spec.SchemaProps{ 3561 Default: 0, 3562 Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), 3563 }, 3564 }, 3565 }, 3566 Required: []string{"type", "status", "timeout"}, 3567 }, 3568 }, 3569 Dependencies: []string{ 3570 "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, 3571 } 3572 } 3573 3574 func schema_sigsk8sio_cluster_api_api_v1beta1_VariableSchema(ref common.ReferenceCallback) common.OpenAPIDefinition { 3575 return common.OpenAPIDefinition{ 3576 Schema: spec.Schema{ 3577 SchemaProps: spec.SchemaProps{ 3578 Description: "VariableSchema defines the schema of a variable.", 3579 Type: []string{"object"}, 3580 Properties: map[string]spec.Schema{ 3581 "openAPIV3Schema": { 3582 SchemaProps: spec.SchemaProps{ 3583 Description: "OpenAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.", 3584 Default: map[string]interface{}{}, 3585 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"), 3586 }, 3587 }, 3588 }, 3589 Required: []string{"openAPIV3Schema"}, 3590 }, 3591 }, 3592 Dependencies: []string{ 3593 "sigs.k8s.io/cluster-api/api/v1beta1.JSONSchemaProps"}, 3594 } 3595 } 3596 3597 func schema_sigsk8sio_cluster_api_api_v1beta1_WorkersClass(ref common.ReferenceCallback) common.OpenAPIDefinition { 3598 return common.OpenAPIDefinition{ 3599 Schema: spec.Schema{ 3600 SchemaProps: spec.SchemaProps{ 3601 Description: "WorkersClass is a collection of deployment classes.", 3602 Type: []string{"object"}, 3603 Properties: map[string]spec.Schema{ 3604 "machineDeployments": { 3605 SchemaProps: spec.SchemaProps{ 3606 Description: "MachineDeployments is a list of machine deployment classes that can be used to create a set of worker nodes.", 3607 Type: []string{"array"}, 3608 Items: &spec.SchemaOrArray{ 3609 Schema: &spec.Schema{ 3610 SchemaProps: spec.SchemaProps{ 3611 Default: map[string]interface{}{}, 3612 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClass"), 3613 }, 3614 }, 3615 }, 3616 }, 3617 }, 3618 "machinePools": { 3619 SchemaProps: spec.SchemaProps{ 3620 Description: "MachinePools is a list of machine pool classes that can be used to create a set of worker nodes.", 3621 Type: []string{"array"}, 3622 Items: &spec.SchemaOrArray{ 3623 Schema: &spec.Schema{ 3624 SchemaProps: spec.SchemaProps{ 3625 Default: map[string]interface{}{}, 3626 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClass"), 3627 }, 3628 }, 3629 }, 3630 }, 3631 }, 3632 }, 3633 }, 3634 }, 3635 Dependencies: []string{ 3636 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentClass", "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolClass"}, 3637 } 3638 } 3639 3640 func schema_sigsk8sio_cluster_api_api_v1beta1_WorkersTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { 3641 return common.OpenAPIDefinition{ 3642 Schema: spec.Schema{ 3643 SchemaProps: spec.SchemaProps{ 3644 Description: "WorkersTopology represents the different sets of worker nodes in the cluster.", 3645 Type: []string{"object"}, 3646 Properties: map[string]spec.Schema{ 3647 "machineDeployments": { 3648 SchemaProps: spec.SchemaProps{ 3649 Description: "MachineDeployments is a list of machine deployments in the cluster.", 3650 Type: []string{"array"}, 3651 Items: &spec.SchemaOrArray{ 3652 Schema: &spec.Schema{ 3653 SchemaProps: spec.SchemaProps{ 3654 Default: map[string]interface{}{}, 3655 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentTopology"), 3656 }, 3657 }, 3658 }, 3659 }, 3660 }, 3661 "machinePools": { 3662 SchemaProps: spec.SchemaProps{ 3663 Description: "MachinePools is a list of machine pools in the cluster.", 3664 Type: []string{"array"}, 3665 Items: &spec.SchemaOrArray{ 3666 Schema: &spec.Schema{ 3667 SchemaProps: spec.SchemaProps{ 3668 Default: map[string]interface{}{}, 3669 Ref: ref("sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolTopology"), 3670 }, 3671 }, 3672 }, 3673 }, 3674 }, 3675 }, 3676 }, 3677 }, 3678 Dependencies: []string{ 3679 "sigs.k8s.io/cluster-api/api/v1beta1.MachineDeploymentTopology", "sigs.k8s.io/cluster-api/api/v1beta1.MachinePoolTopology"}, 3680 } 3681 }