sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/runtime-hooks/runtime-hooks-openapi.yaml (about) 1 components: 2 schemas: 3 k8s.io.api.core.v1.ObjectReference: 4 description: ObjectReference contains enough information to let you inspect 5 or modify the referred object. 6 properties: 7 apiVersion: 8 description: API version of the referent. 9 type: string 10 fieldPath: 11 description: 'If referring to a piece of an object instead of an entire 12 object, this string should contain a valid JSON/Go field access statement, 13 such as desiredState.manifest.containers[2]. For example, if the object 14 reference is to a container within a pod, this would take on a value like: 15 "spec.containers{name}" (where "name" refers to the name of the container 16 that triggered the event) or if no container name is specified "spec.containers[2]" 17 (container with index 2 in this pod). This syntax is chosen only to have 18 some well-defined way of referencing a part of an object.' 19 type: string 20 kind: 21 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 22 type: string 23 name: 24 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 25 type: string 26 namespace: 27 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 28 type: string 29 resourceVersion: 30 description: 'Specific resourceVersion to which this reference is made, 31 if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 32 type: string 33 uid: 34 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 35 type: string 36 type: object 37 x-kubernetes-map-type: atomic 38 k8s.io.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON: 39 description: 'JSON represents any valid JSON value. These types are supported: 40 bool, int64, float64, string, []interface{}, map[string]interface{} and nil.' 41 k8s.io.apimachinery.pkg.apis.meta.v1.FieldsV1: 42 description: |- 43 FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format. 44 45 Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set. 46 47 The exact format is defined in sigs.k8s.io/structured-merge-diff 48 type: object 49 k8s.io.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry: 50 description: ManagedFieldsEntry is a workflow-id, a FieldSet and the group version 51 of the resource that the fieldset applies to. 52 properties: 53 apiVersion: 54 description: APIVersion defines the version of this resource that this field 55 set applies to. The format is "group/version" just like the top-level 56 APIVersion field. It is necessary to track the version of a field set 57 because it cannot be automatically converted. 58 type: string 59 fieldsType: 60 description: 'FieldsType is the discriminator for the different fields format 61 and version. There is currently only one possible value: "FieldsV1"' 62 type: string 63 fieldsV1: 64 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.FieldsV1' 65 description: FieldsV1 holds the first JSON version format as described in 66 the "FieldsV1" type. 67 manager: 68 description: Manager is an identifier of the workflow managing these fields. 69 type: string 70 operation: 71 description: Operation is the type of operation which lead to this ManagedFieldsEntry 72 being created. The only valid values for this field are 'Apply' and 'Update'. 73 type: string 74 subresource: 75 description: Subresource is the name of the subresource used to update that 76 object, or empty string if the object was updated through the main resource. 77 The value of this field is used to distinguish between managers, even 78 if they share the same name. For example, a status update will be distinct 79 from a regular update using the same manager name. Note that the APIVersion 80 field is not related to the Subresource field and it always corresponds 81 to the version of the main resource. 82 type: string 83 time: 84 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.Time' 85 description: Time is timestamp of when these fields were set. It should 86 always be empty if Operation is 'Apply' 87 type: object 88 k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta: 89 description: ObjectMeta is metadata that all persisted resources must have, 90 which includes all objects users must create. 91 properties: 92 annotations: 93 additionalProperties: 94 default: "" 95 type: string 96 description: 'Annotations is an unstructured key value map stored with a 97 resource that may be set by external tools to store and retrieve arbitrary 98 metadata. They are not queryable and should be preserved when modifying 99 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 100 type: object 101 clusterName: 102 description: The name of the cluster which the object belongs to. This is 103 used to distinguish resources with same name and namespace in different 104 clusters. This field is not set anywhere right now and apiserver is going 105 to ignore it if set in create or update request. 106 type: string 107 creationTimestamp: 108 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.Time' 109 default: {} 110 description: |- 111 CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. 112 113 Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 114 deletionGracePeriodSeconds: 115 description: Number of seconds allowed for this object to gracefully terminate 116 before it will be removed from the system. Only set when deletionTimestamp 117 is also set. May only be shortened. Read-only. 118 format: int64 119 type: integer 120 deletionTimestamp: 121 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.Time' 122 description: |- 123 DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. 124 125 Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 126 finalizers: 127 description: Must be empty before the object is deleted from the registry. 128 Each entry is an identifier for the responsible component that will remove 129 the entry from the list. If the deletionTimestamp of the object is non-nil, 130 entries in this list can only be removed. Finalizers may be processed 131 and removed in any order. Order is NOT enforced because it introduces 132 significant risk of stuck finalizers. finalizers is a shared field, any 133 actor with permission can reorder it. If the finalizer list is processed 134 in order, then this can lead to a situation in which the component responsible 135 for the first finalizer in the list is waiting for a signal (field value, 136 external system, or other) produced by a component responsible for a finalizer 137 later in the list, resulting in a deadlock. Without enforced ordering 138 finalizers are free to order amongst themselves and are not vulnerable 139 to ordering changes in the list. 140 items: 141 default: "" 142 type: string 143 type: array 144 x-kubernetes-patch-strategy: merge 145 generateName: 146 description: |- 147 GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. 148 149 If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). 150 151 Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 152 type: string 153 generation: 154 description: A sequence number representing a specific generation of the 155 desired state. Populated by the system. Read-only. 156 format: int64 157 type: integer 158 labels: 159 additionalProperties: 160 default: "" 161 type: string 162 description: 'Map of string keys and values that can be used to organize 163 and categorize (scope and select) objects. May match selectors of replication 164 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 165 type: object 166 managedFields: 167 description: ManagedFields maps workflow-id and version to the set of fields 168 that are managed by that workflow. This is mostly for internal housekeeping, 169 and users typically shouldn't need to set or understand this field. A 170 workflow can be the user's name, a controller's name, or the name of a 171 specific apply path like "ci-cd". The set of fields is always in the version 172 that the workflow used when modifying the object. 173 items: 174 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry' 175 default: {} 176 type: array 177 name: 178 description: 'Name must be unique within a namespace. Is required when creating 179 resources, although some resources may allow a client to request the generation 180 of an appropriate name automatically. Name is primarily intended for creation 181 idempotence and configuration definition. Cannot be updated. More info: 182 http://kubernetes.io/docs/user-guide/identifiers#names' 183 type: string 184 namespace: 185 description: |- 186 Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. 187 188 Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces 189 type: string 190 ownerReferences: 191 description: List of objects depended by this object. If ALL objects in 192 the list have been deleted, this object will be garbage collected. If 193 this object is managed by a controller, then an entry in this list will 194 point to this controller, with the controller field set to true. There 195 cannot be more than one managing controller. 196 items: 197 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference' 198 default: {} 199 type: array 200 x-kubernetes-patch-merge-key: uid 201 x-kubernetes-patch-strategy: merge 202 resourceVersion: 203 description: |- 204 An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. 205 206 Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 207 type: string 208 selfLink: 209 description: |- 210 SelfLink is a URL representing this object. Populated by the system. Read-only. 211 212 DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. 213 type: string 214 uid: 215 description: |- 216 UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. 217 218 Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids 219 type: string 220 type: object 221 k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference: 222 description: OwnerReference contains enough information to let you identify 223 an owning object. An owning object must be in the same namespace as the dependent, 224 or be cluster-scoped, so there is no namespace field. 225 properties: 226 apiVersion: 227 default: "" 228 description: API version of the referent. 229 type: string 230 blockOwnerDeletion: 231 description: If true, AND if the owner has the "foregroundDeletion" finalizer, 232 then the owner cannot be deleted from the key-value store until this reference 233 is removed. Defaults to false. To set this field, a user needs "delete" 234 permission of the owner, otherwise 422 (Unprocessable Entity) will be 235 returned. 236 type: boolean 237 controller: 238 description: If true, this reference points to the managing controller. 239 type: boolean 240 kind: 241 default: "" 242 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 243 type: string 244 name: 245 default: "" 246 description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 247 type: string 248 uid: 249 default: "" 250 description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' 251 type: string 252 required: 253 - apiVersion 254 - kind 255 - name 256 - uid 257 type: object 258 x-kubernetes-map-type: atomic 259 k8s.io.apimachinery.pkg.apis.meta.v1.Time: 260 description: Time is a wrapper around time.Time which supports correct marshaling 261 to YAML and JSON. Wrappers are provided for many of the factory methods that 262 the time package offers. 263 format: date-time 264 type: string 265 sigs.k8s.io.cluster-api.api.v1beta1.APIEndpoint: 266 description: APIEndpoint represents a reachable Kubernetes API endpoint. 267 properties: 268 host: 269 default: "" 270 description: The hostname on which the API server is serving. 271 type: string 272 port: 273 default: 0 274 description: The port on which the API server is serving. 275 format: int32 276 type: integer 277 required: 278 - host 279 - port 280 type: object 281 sigs.k8s.io.cluster-api.api.v1beta1.Cluster: 282 description: Cluster is the Schema for the clusters API. 283 properties: 284 apiVersion: 285 description: 'APIVersion defines the versioned schema of this representation 286 of an object. Servers should convert recognized schemas to the latest 287 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 288 type: string 289 kind: 290 description: 'Kind is a string value representing the REST resource this 291 object represents. Servers may infer this from the endpoint the client 292 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 293 type: string 294 metadata: 295 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta' 296 default: {} 297 spec: 298 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ClusterSpec' 299 default: {} 300 status: 301 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ClusterStatus' 302 default: {} 303 type: object 304 sigs.k8s.io.cluster-api.api.v1beta1.ClusterNetwork: 305 description: ClusterNetwork specifies the different networking parameters for 306 a cluster. 307 properties: 308 apiServerPort: 309 description: APIServerPort specifies the port the API Server should bind 310 to. Defaults to 6443. 311 format: int32 312 type: integer 313 pods: 314 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.NetworkRanges' 315 description: The network ranges from which Pod networks are allocated. 316 serviceDomain: 317 description: Domain name for services. 318 type: string 319 services: 320 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.NetworkRanges' 321 description: The network ranges from which service VIPs are allocated. 322 type: object 323 sigs.k8s.io.cluster-api.api.v1beta1.ClusterSpec: 324 description: ClusterSpec defines the desired state of Cluster. 325 properties: 326 clusterNetwork: 327 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ClusterNetwork' 328 description: Cluster network configuration. 329 controlPlaneEndpoint: 330 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.APIEndpoint' 331 default: {} 332 description: ControlPlaneEndpoint represents the endpoint used to communicate 333 with the control plane. 334 controlPlaneRef: 335 $ref: '#/components/schemas/k8s.io.api.core.v1.ObjectReference' 336 description: ControlPlaneRef is an optional reference to a provider-specific 337 resource that holds the details for provisioning the Control Plane for 338 a Cluster. 339 infrastructureRef: 340 $ref: '#/components/schemas/k8s.io.api.core.v1.ObjectReference' 341 description: InfrastructureRef is a reference to a provider-specific resource 342 that holds the details for provisioning infrastructure for a cluster in 343 said provider. 344 paused: 345 description: Paused can be used to prevent controllers from processing the 346 Cluster and all its associated objects. 347 type: boolean 348 topology: 349 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Topology' 350 description: 'This encapsulates the topology for the cluster. NOTE: It is 351 required to enable the ClusterTopology feature gate flag to activate managed 352 topologies support; this feature is highly experimental, and parts of 353 it might still be not implemented.' 354 type: object 355 sigs.k8s.io.cluster-api.api.v1beta1.ClusterStatus: 356 description: ClusterStatus defines the observed state of Cluster. 357 properties: 358 conditions: 359 description: Conditions defines current service state of the cluster. 360 items: 361 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Condition' 362 default: {} 363 type: array 364 controlPlaneReady: 365 default: false 366 description: ControlPlaneReady defines if the control plane is ready. 367 type: boolean 368 failureDomains: 369 additionalProperties: 370 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.FailureDomainSpec' 371 default: {} 372 description: FailureDomains is a slice of failure domain objects synced 373 from the infrastructure provider. 374 type: object 375 failureMessage: 376 description: FailureMessage indicates that there is a fatal problem reconciling 377 the state, and will be set to a descriptive error message. 378 type: string 379 failureReason: 380 description: FailureReason indicates that there is a fatal problem reconciling 381 the state, and will be set to a token value suitable for programmatic 382 interpretation. 383 type: string 384 infrastructureReady: 385 default: false 386 description: InfrastructureReady is the state of the infrastructure provider. 387 type: boolean 388 observedGeneration: 389 description: ObservedGeneration is the latest generation observed by the 390 controller. 391 format: int64 392 type: integer 393 phase: 394 description: Phase represents the current phase of cluster actuation. E.g. 395 Pending, Running, Terminating, Failed etc. 396 type: string 397 type: object 398 sigs.k8s.io.cluster-api.api.v1beta1.ClusterVariable: 399 description: ClusterVariable can be used to customize the Cluster through patches. 400 It must comply to the corresponding ClusterClassVariable defined in the ClusterClass. 401 properties: 402 name: 403 default: "" 404 description: Name of the variable. 405 type: string 406 value: 407 $ref: '#/components/schemas/k8s.io.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON' 408 default: {} 409 description: 'Value of the variable. Note: the value will be validated against 410 the schema of the corresponding ClusterClassVariable from the ClusterClass. 411 Note: We have to use apiextensionsv1.JSON instead of a custom JSON type, 412 because controller-tools has a hard-coded schema for apiextensionsv1.JSON 413 which cannot be produced by another type via controller-tools, i.e. it 414 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' 415 required: 416 - name 417 - value 418 type: object 419 sigs.k8s.io.cluster-api.api.v1beta1.Condition: 420 description: Condition defines an observation of a Cluster API resource operational 421 state. 422 properties: 423 lastTransitionTime: 424 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.Time' 425 default: {} 426 description: Last time the condition transitioned from one status to another. 427 This should be when the underlying condition changed. If that is not known, 428 then using the time when the API field changed is acceptable. 429 message: 430 description: A human readable message indicating details about the transition. 431 This field may be empty. 432 type: string 433 reason: 434 description: The reason for the condition's last transition in CamelCase. 435 The specific API may choose whether or not this field is considered a 436 guaranteed API. This field may not be empty. 437 type: string 438 severity: 439 description: Severity provides an explicit classification of Reason code, 440 so the users or machines can immediately understand the current situation 441 and act accordingly. The Severity field MUST be set only when Status=False. 442 type: string 443 status: 444 default: "" 445 description: Status of the condition, one of True, False, Unknown. 446 type: string 447 type: 448 default: "" 449 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 450 Many .condition.type values are consistent across resources like Available, 451 but because arbitrary conditions can be useful (see .node.status.conditions), 452 the ability to deconflict is important. 453 type: string 454 required: 455 - type 456 - status 457 - lastTransitionTime 458 type: object 459 sigs.k8s.io.cluster-api.api.v1beta1.ControlPlaneTopology: 460 description: ControlPlaneTopology specifies the parameters for the control plane 461 nodes in the cluster. 462 properties: 463 metadata: 464 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ObjectMeta' 465 default: {} 466 description: |- 467 Metadata is the metadata applied to the machines of the ControlPlane. At runtime this metadata is merged with the corresponding metadata from the ClusterClass. 468 469 This field is supported if and only if the control plane provider template referenced in the ClusterClass is Machine based. 470 replicas: 471 description: Replicas is the number of control plane nodes. If the value 472 is nil, the ControlPlane object is created without the number of Replicas 473 and it's assumed that the control plane controller does not implement 474 support for this field. When specified against a control plane provider 475 that lacks support for this field, this value will be ignored. 476 format: int32 477 type: integer 478 type: object 479 sigs.k8s.io.cluster-api.api.v1beta1.FailureDomainSpec: 480 description: FailureDomainSpec is the Schema for Cluster API failure domains. 481 It allows controllers to understand how many failure domains a cluster can 482 optionally span across. 483 properties: 484 attributes: 485 additionalProperties: 486 default: "" 487 type: string 488 description: Attributes is a free form map of attributes an infrastructure 489 provider might use or require. 490 type: object 491 controlPlane: 492 description: ControlPlane determines if this failure domain is suitable 493 for use by control plane machines. 494 type: boolean 495 type: object 496 sigs.k8s.io.cluster-api.api.v1beta1.MachineDeploymentTopology: 497 description: MachineDeploymentTopology specifies the different parameters for 498 a set of worker nodes in the topology. This set of nodes is managed by a MachineDeployment 499 object whose lifecycle is managed by the Cluster controller. 500 properties: 501 class: 502 default: "" 503 description: Class is the name of the MachineDeploymentClass used to create 504 the set of worker nodes. This should match one of the deployment classes 505 defined in the ClusterClass object mentioned in the `Cluster.Spec.Class` 506 field. 507 type: string 508 failureDomain: 509 description: FailureDomain is the failure domain the machines will be created 510 in. Must match a key in the FailureDomains map stored on the cluster object. 511 type: string 512 metadata: 513 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ObjectMeta' 514 default: {} 515 description: Metadata is the metadata applied to the machines of the MachineDeployment. 516 At runtime this metadata is merged with the corresponding metadata from 517 the ClusterClass. 518 name: 519 default: "" 520 description: Name is the unique identifier for this MachineDeploymentTopology. 521 The value is used with other unique identifiers to create a MachineDeployment's 522 Name (e.g. cluster's name, etc). In case the name is greater than the 523 allowed maximum length, the values are hashed together. 524 type: string 525 replicas: 526 description: Replicas is the number of worker nodes belonging to this set. 527 If the value is nil, the MachineDeployment is created without the number 528 of Replicas (defaulting to 1) and it's assumed that an external entity 529 (like cluster autoscaler) is responsible for the management of this value. 530 format: int32 531 type: integer 532 variables: 533 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.MachineDeploymentVariables' 534 description: Variables can be used to customize the MachineDeployment through 535 patches. 536 required: 537 - class 538 - name 539 type: object 540 sigs.k8s.io.cluster-api.api.v1beta1.MachineDeploymentVariables: 541 description: MachineDeploymentVariables can be used to provide variables for 542 a specific MachineDeployment. 543 properties: 544 overrides: 545 description: Overrides can be used to override Cluster level variables. 546 items: 547 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ClusterVariable' 548 default: {} 549 type: array 550 type: object 551 sigs.k8s.io.cluster-api.api.v1beta1.NetworkRanges: 552 description: NetworkRanges represents ranges of network addresses. 553 properties: 554 cidrBlocks: 555 items: 556 default: "" 557 type: string 558 type: array 559 required: 560 - cidrBlocks 561 type: object 562 sigs.k8s.io.cluster-api.api.v1beta1.ObjectMeta: 563 description: |- 564 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. 565 566 ObjectMeta 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. 567 568 During 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. 569 570 In 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. 571 572 In future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited. 573 properties: 574 annotations: 575 additionalProperties: 576 default: "" 577 type: string 578 description: 'Annotations is an unstructured key value map stored with a 579 resource that may be set by external tools to store and retrieve arbitrary 580 metadata. They are not queryable and should be preserved when modifying 581 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 582 type: object 583 labels: 584 additionalProperties: 585 default: "" 586 type: string 587 description: 'Map of string keys and values that can be used to organize 588 and categorize (scope and select) objects. May match selectors of replication 589 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 590 type: object 591 type: object 592 sigs.k8s.io.cluster-api.api.v1beta1.Topology: 593 description: Topology encapsulates the information of the managed resources. 594 properties: 595 class: 596 default: "" 597 description: The name of the ClusterClass object to create the topology. 598 type: string 599 controlPlane: 600 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ControlPlaneTopology' 601 default: {} 602 description: ControlPlane describes the cluster control plane. 603 rolloutAfter: 604 $ref: '#/components/schemas/k8s.io.apimachinery.pkg.apis.meta.v1.Time' 605 description: RolloutAfter performs a rollout of the entire cluster one component 606 at a time, control plane first and then machine deployments. 607 variables: 608 description: Variables can be used to customize the Cluster through patches. 609 They must comply to the corresponding VariableClasses defined in the ClusterClass. 610 items: 611 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.ClusterVariable' 612 default: {} 613 type: array 614 version: 615 default: "" 616 description: The Kubernetes version of the cluster. 617 type: string 618 workers: 619 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.WorkersTopology' 620 description: Workers encapsulates the different constructs that form the 621 worker nodes for the cluster. 622 required: 623 - class 624 - version 625 type: object 626 sigs.k8s.io.cluster-api.api.v1beta1.WorkersTopology: 627 description: WorkersTopology represents the different sets of worker nodes in 628 the cluster. 629 properties: 630 machineDeployments: 631 description: MachineDeployments is a list of machine deployments in the 632 cluster. 633 items: 634 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.MachineDeploymentTopology' 635 default: {} 636 type: array 637 type: object 638 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterClusterUpgradeRequest: 639 description: AfterClusterUpgradeRequest is the request of the hook. 640 properties: 641 apiVersion: 642 description: 'APIVersion defines the versioned schema of this representation 643 of an object. Servers should convert recognized schemas to the latest 644 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 645 type: string 646 cluster: 647 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 648 default: {} 649 description: The cluster object the lifecycle hook corresponds to. 650 kind: 651 description: 'Kind is a string value representing the REST resource this 652 object represents. Servers may infer this from the endpoint the client 653 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 654 type: string 655 kubernetesVersion: 656 default: "" 657 description: The version after upgrade. 658 type: string 659 required: 660 - cluster 661 - kubernetesVersion 662 type: object 663 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterClusterUpgradeResponse: 664 description: AfterClusterUpgradeResponse is the response of AfterClusterUpgrade 665 hook. 666 properties: 667 apiVersion: 668 description: 'APIVersion defines the versioned schema of this representation 669 of an object. Servers should convert recognized schemas to the latest 670 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 671 type: string 672 kind: 673 description: 'Kind is a string value representing the REST resource this 674 object represents. Servers may infer this from the endpoint the client 675 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 676 type: string 677 message: 678 default: "" 679 description: A human-readable description of the status of the call. 680 type: string 681 status: 682 default: "" 683 description: |- 684 Status of the call. One of "Success" or "Failure". 685 686 Possible enum values: 687 - `"Failure"` 688 - `"Success"` 689 enum: 690 - Failure 691 - Success 692 type: string 693 required: 694 - status 695 - message 696 type: object 697 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneInitializedRequest: 698 description: AfterControlPlaneInitializedRequest is the request of the hook. 699 properties: 700 apiVersion: 701 description: 'APIVersion defines the versioned schema of this representation 702 of an object. Servers should convert recognized schemas to the latest 703 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 704 type: string 705 cluster: 706 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 707 default: {} 708 description: The cluster object the lifecycle hook corresponds to. 709 kind: 710 description: 'Kind is a string value representing the REST resource this 711 object represents. Servers may infer this from the endpoint the client 712 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 713 type: string 714 required: 715 - cluster 716 type: object 717 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneInitializedResponse: 718 description: AfterControlPlaneInitializedResponse is the response of AfterControlPlaneInitialized 719 hook. 720 properties: 721 apiVersion: 722 description: 'APIVersion defines the versioned schema of this representation 723 of an object. Servers should convert recognized schemas to the latest 724 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 725 type: string 726 kind: 727 description: 'Kind is a string value representing the REST resource this 728 object represents. Servers may infer this from the endpoint the client 729 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 730 type: string 731 message: 732 default: "" 733 description: A human-readable description of the status of the call. 734 type: string 735 status: 736 default: "" 737 description: |- 738 Status of the call. One of "Success" or "Failure". 739 740 Possible enum values: 741 - `"Failure"` 742 - `"Success"` 743 enum: 744 - Failure 745 - Success 746 type: string 747 required: 748 - status 749 - message 750 type: object 751 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneUpgradeRequest: 752 description: AfterControlPlaneUpgradeRequest is the request of the hook. 753 properties: 754 apiVersion: 755 description: 'APIVersion defines the versioned schema of this representation 756 of an object. Servers should convert recognized schemas to the latest 757 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 758 type: string 759 cluster: 760 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 761 default: {} 762 description: The cluster object the lifecycle hook corresponds to. 763 kind: 764 description: 'Kind is a string value representing the REST resource this 765 object represents. Servers may infer this from the endpoint the client 766 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 767 type: string 768 kubernetesVersion: 769 default: "" 770 description: The version after upgrade. 771 type: string 772 required: 773 - cluster 774 - kubernetesVersion 775 type: object 776 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneUpgradeResponse: 777 description: AfterControlPlaneUpgradeResponse is the response of AfterControlPlaneUpgrade 778 hook. 779 properties: 780 apiVersion: 781 description: 'APIVersion defines the versioned schema of this representation 782 of an object. Servers should convert recognized schemas to the latest 783 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 784 type: string 785 kind: 786 description: 'Kind is a string value representing the REST resource this 787 object represents. Servers may infer this from the endpoint the client 788 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 789 type: string 790 message: 791 default: "" 792 description: A human-readable description of the status of the call. 793 type: string 794 retryAfterSeconds: 795 default: 0 796 description: RetryAfterSeconds when set to a non-zero signifies that the 797 hook needs to be retried at a future time. 798 format: int32 799 type: integer 800 status: 801 default: "" 802 description: |- 803 Status of the call. One of "Success" or "Failure". 804 805 Possible enum values: 806 - `"Failure"` 807 - `"Success"` 808 enum: 809 - Failure 810 - Success 811 type: string 812 required: 813 - status 814 - retryAfterSeconds 815 - message 816 type: object 817 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterCreateRequest: 818 description: BeforeClusterCreateRequest is the request of the hook. 819 properties: 820 apiVersion: 821 description: 'APIVersion defines the versioned schema of this representation 822 of an object. Servers should convert recognized schemas to the latest 823 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 824 type: string 825 cluster: 826 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 827 default: {} 828 description: The cluster object the lifecycle hook corresponds to. 829 kind: 830 description: 'Kind is a string value representing the REST resource this 831 object represents. Servers may infer this from the endpoint the client 832 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 833 type: string 834 required: 835 - cluster 836 type: object 837 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterCreateResponse: 838 description: BeforeClusterCreateResponse is the response of BeforeClusterCreate 839 hook. 840 properties: 841 apiVersion: 842 description: 'APIVersion defines the versioned schema of this representation 843 of an object. Servers should convert recognized schemas to the latest 844 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 845 type: string 846 kind: 847 description: 'Kind is a string value representing the REST resource this 848 object represents. Servers may infer this from the endpoint the client 849 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 850 type: string 851 message: 852 default: "" 853 description: A human-readable description of the status of the call. 854 type: string 855 retryAfterSeconds: 856 default: 0 857 description: RetryAfterSeconds when set to a non-zero signifies that the 858 hook needs to be retried at a future time. 859 format: int32 860 type: integer 861 status: 862 default: "" 863 description: |- 864 Status of the call. One of "Success" or "Failure". 865 866 Possible enum values: 867 - `"Failure"` 868 - `"Success"` 869 enum: 870 - Failure 871 - Success 872 type: string 873 required: 874 - status 875 - retryAfterSeconds 876 - message 877 type: object 878 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterDeleteRequest: 879 description: BeforeClusterDeleteRequest is the request of the hook. 880 properties: 881 apiVersion: 882 description: 'APIVersion defines the versioned schema of this representation 883 of an object. Servers should convert recognized schemas to the latest 884 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 885 type: string 886 cluster: 887 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 888 default: {} 889 description: The cluster object the lifecycle hook corresponds to. 890 kind: 891 description: 'Kind is a string value representing the REST resource this 892 object represents. Servers may infer this from the endpoint the client 893 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 894 type: string 895 required: 896 - cluster 897 type: object 898 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterDeleteResponse: 899 description: BeforeClusterDeleteResponse is the response of BeforeClusterDelete 900 hook. 901 properties: 902 apiVersion: 903 description: 'APIVersion defines the versioned schema of this representation 904 of an object. Servers should convert recognized schemas to the latest 905 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 906 type: string 907 kind: 908 description: 'Kind is a string value representing the REST resource this 909 object represents. Servers may infer this from the endpoint the client 910 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 911 type: string 912 message: 913 default: "" 914 description: A human-readable description of the status of the call. 915 type: string 916 retryAfterSeconds: 917 default: 0 918 description: RetryAfterSeconds when set to a non-zero signifies that the 919 hook needs to be retried at a future time. 920 format: int32 921 type: integer 922 status: 923 default: "" 924 description: |- 925 Status of the call. One of "Success" or "Failure". 926 927 Possible enum values: 928 - `"Failure"` 929 - `"Success"` 930 enum: 931 - Failure 932 - Success 933 type: string 934 required: 935 - status 936 - retryAfterSeconds 937 - message 938 type: object 939 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterUpgradeRequest: 940 description: BeforeClusterUpgradeRequest is the request of the hook. 941 properties: 942 apiVersion: 943 description: 'APIVersion defines the versioned schema of this representation 944 of an object. Servers should convert recognized schemas to the latest 945 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 946 type: string 947 cluster: 948 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.api.v1beta1.Cluster' 949 default: {} 950 description: The cluster object the lifecycle hook corresponds to. 951 fromKubernetesVersion: 952 default: "" 953 description: The current version of the cluster. 954 type: string 955 kind: 956 description: 'Kind is a string value representing the REST resource this 957 object represents. Servers may infer this from the endpoint the client 958 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 959 type: string 960 toKubernetesVersion: 961 default: "" 962 description: The target version of upgrade. 963 type: string 964 required: 965 - cluster 966 - fromKubernetesVersion 967 - toKubernetesVersion 968 type: object 969 sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterUpgradeResponse: 970 description: BeforeClusterUpgradeResponse is the response of BeforeClusterUpgrade 971 hook. 972 properties: 973 apiVersion: 974 description: 'APIVersion defines the versioned schema of this representation 975 of an object. Servers should convert recognized schemas to the latest 976 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 977 type: string 978 kind: 979 description: 'Kind is a string value representing the REST resource this 980 object represents. Servers may infer this from the endpoint the client 981 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 982 type: string 983 message: 984 default: "" 985 description: A human-readable description of the status of the call. 986 type: string 987 retryAfterSeconds: 988 default: 0 989 description: RetryAfterSeconds when set to a non-zero signifies that the 990 hook needs to be retried at a future time. 991 format: int32 992 type: integer 993 status: 994 default: "" 995 description: |- 996 Status of the call. One of "Success" or "Failure". 997 998 Possible enum values: 999 - `"Failure"` 1000 - `"Success"` 1001 enum: 1002 - Failure 1003 - Success 1004 type: string 1005 required: 1006 - status 1007 - retryAfterSeconds 1008 - message 1009 type: object 1010 info: 1011 description: Open API specification for Cluster API Runtime SDK 1012 license: 1013 name: Apache 2.0 1014 url: http://www.apache.org/licenses/LICENSE-2.0.html 1015 title: Cluster API - Runtime SDK 1016 version: v1.2.0 1017 openapi: 3.0.0 1018 paths: 1019 /hooks.runtime.cluster.x-k8s.io/v1alpha1/afterclusterupgrade/{name}: 1020 post: 1021 description: TThis hook is called after the Cluster, control plane and workers 1022 have been upgraded to the version specified in spec.topology.version. Runtime 1023 Extensions implementers can use this hook to execute post-upgrade tasks. This 1024 hook does not block any further changes or upgrades to the Cluster. 1025 operationId: hooksRuntimeClusterV1alpha1AfterClusterUpgrade 1026 parameters: 1027 - in: path 1028 name: name 1029 required: true 1030 schema: 1031 type: string 1032 requestBody: 1033 content: 1034 application/json: 1035 schema: 1036 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterClusterUpgradeRequest' 1037 responses: 1038 "200": 1039 content: 1040 application/json: 1041 schema: 1042 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterClusterUpgradeResponse' 1043 description: OK 1044 summary: Called after the Cluster finished upgrade 1045 tags: 1046 - Lifecycle Hooks 1047 /hooks.runtime.cluster.x-k8s.io/v1alpha1/aftercontrolplaneinitialized/{name}: 1048 post: 1049 description: This hook is called after the ControlPlane for the Cluster is marked 1050 as available for the first time. Runtime Extension implementers can use this 1051 hook to execute tasks that are only possible once the Control Plane is available. 1052 This hook does not block any further changes to the Cluster. 1053 operationId: hooksRuntimeClusterV1alpha1AfterControlPlaneInitialized 1054 parameters: 1055 - in: path 1056 name: name 1057 required: true 1058 schema: 1059 type: string 1060 requestBody: 1061 content: 1062 application/json: 1063 schema: 1064 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneInitializedRequest' 1065 responses: 1066 "200": 1067 content: 1068 application/json: 1069 schema: 1070 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneInitializedResponse' 1071 description: OK 1072 summary: Called after the Control Plane is available for the first time 1073 tags: 1074 - Lifecycle Hooks 1075 /hooks.runtime.cluster.x-k8s.io/v1alpha1/aftercontrolplaneupgrade/{name}: 1076 post: 1077 description: This hook is called after the control plane has been upgraded to 1078 the version specified in spec.topology.version, and immediately before the 1079 new version is going to be propagated to the MachineDeployments existing in 1080 the Cluster. Runtime Extension implementers can use this hook to execute post-upgrade 1081 tasks and eventually block upgrades to workers. 1082 operationId: hooksRuntimeClusterV1alpha1AfterControlPlaneUpgrade 1083 parameters: 1084 - in: path 1085 name: name 1086 required: true 1087 schema: 1088 type: string 1089 requestBody: 1090 content: 1091 application/json: 1092 schema: 1093 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneUpgradeRequest' 1094 responses: 1095 "200": 1096 content: 1097 application/json: 1098 schema: 1099 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.AfterControlPlaneUpgradeResponse' 1100 description: OK 1101 summary: Called after the Control Plane finished upgrade 1102 tags: 1103 - Lifecycle Hooks 1104 /hooks.runtime.cluster.x-k8s.io/v1alpha1/beforeclustercreate/{name}: 1105 post: 1106 description: This hook is called after the Cluster object has been created by 1107 the user, immediately before all the objects which are part of a Cluster topology 1108 are going to be created. Runtime Extension implementers can use this hook 1109 to determine/prepare add-ons for the Cluster and block the creation of those 1110 objects. 1111 operationId: hooksRuntimeClusterV1alpha1BeforeClusterCreate 1112 parameters: 1113 - in: path 1114 name: name 1115 required: true 1116 schema: 1117 type: string 1118 requestBody: 1119 content: 1120 application/json: 1121 schema: 1122 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterCreateRequest' 1123 responses: 1124 "200": 1125 content: 1126 application/json: 1127 schema: 1128 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterCreateResponse' 1129 description: OK 1130 summary: Called before Cluster topology is created 1131 tags: 1132 - Lifecycle Hooks 1133 /hooks.runtime.cluster.x-k8s.io/v1alpha1/beforeclusterdelete/{name}: 1134 post: 1135 description: This hook is called after the Cluster has been deleted by the user, 1136 and immediately before objects existing in the Cluster are going to be deleted. 1137 Runtime Extension implementers can use this hook to execute cleanup tasks 1138 and eventually block deletion of the Cluster and descendant objects until 1139 everything is ready. 1140 operationId: hooksRuntimeClusterV1alpha1BeforeClusterDelete 1141 parameters: 1142 - in: path 1143 name: name 1144 required: true 1145 schema: 1146 type: string 1147 requestBody: 1148 content: 1149 application/json: 1150 schema: 1151 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterDeleteRequest' 1152 responses: 1153 "200": 1154 content: 1155 application/json: 1156 schema: 1157 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterDeleteResponse' 1158 description: OK 1159 summary: Called before the Cluster is deleted 1160 tags: 1161 - Lifecycle Hooks 1162 /hooks.runtime.cluster.x-k8s.io/v1alpha1/beforeclusterupgrade/{name}: 1163 post: 1164 description: This hook is called after the Cluster object has been updated with 1165 a new spec.topology.version by the user, and immediately before the new version 1166 is going to be propagated to the control plane. Runtime Extension implementers 1167 can use this hook to execute pre-upgrade tasks and block upgrades of the ControlPlane 1168 and Workers. 1169 operationId: hooksRuntimeClusterV1alpha1BeforeClusterUpgrade 1170 parameters: 1171 - in: path 1172 name: name 1173 required: true 1174 schema: 1175 type: string 1176 requestBody: 1177 content: 1178 application/json: 1179 schema: 1180 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterUpgradeRequest' 1181 responses: 1182 "200": 1183 content: 1184 application/json: 1185 schema: 1186 $ref: '#/components/schemas/sigs.k8s.io.cluster-api.exp.runtime.hooks.api.v1alpha1.BeforeClusterUpgradeResponse' 1187 description: OK 1188 summary: Called before the Cluster begins upgrade 1189 tags: 1190 - Lifecycle Hooks