sigs.k8s.io/cluster-api@v1.7.1/config/crd/bases/cluster.x-k8s.io_machinepools.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.14.0 7 name: machinepools.cluster.x-k8s.io 8 spec: 9 group: cluster.x-k8s.io 10 names: 11 categories: 12 - cluster-api 13 kind: MachinePool 14 listKind: MachinePoolList 15 plural: machinepools 16 shortNames: 17 - mp 18 singular: machinepool 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - description: MachinePool replicas count 23 jsonPath: .status.replicas 24 name: Replicas 25 type: string 26 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 27 etc 28 jsonPath: .status.phase 29 name: Phase 30 type: string 31 - description: Kubernetes version associated with this MachinePool 32 jsonPath: .spec.template.spec.version 33 name: Version 34 type: string 35 deprecated: true 36 name: v1alpha3 37 schema: 38 openAPIV3Schema: 39 description: |- 40 MachinePool is the Schema for the machinepools API. 41 42 43 Deprecated: This type will be removed in one of the next releases. 44 properties: 45 apiVersion: 46 description: |- 47 APIVersion defines the versioned schema of this representation of an object. 48 Servers should convert recognized schemas to the latest internal value, and 49 may reject unrecognized values. 50 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 51 type: string 52 kind: 53 description: |- 54 Kind is a string value representing the REST resource this object represents. 55 Servers may infer this from the endpoint the client submits requests to. 56 Cannot be updated. 57 In CamelCase. 58 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 59 type: string 60 metadata: 61 type: object 62 spec: 63 description: MachinePoolSpec defines the desired state of MachinePool. 64 properties: 65 clusterName: 66 description: ClusterName is the name of the Cluster this object belongs 67 to. 68 minLength: 1 69 type: string 70 failureDomains: 71 description: FailureDomains is the list of failure domains this MachinePool 72 should be attached to. 73 items: 74 type: string 75 type: array 76 minReadySeconds: 77 description: |- 78 Minimum number of seconds for which a newly created machine instances should 79 be ready. 80 Defaults to 0 (machine instance will be considered available as soon as it 81 is ready) 82 format: int32 83 type: integer 84 providerIDList: 85 description: |- 86 ProviderIDList are the identification IDs of machine instances provided by the provider. 87 This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. 88 items: 89 type: string 90 type: array 91 replicas: 92 description: |- 93 Number of desired machines. Defaults to 1. 94 This is a pointer to distinguish between explicit zero and not specified. 95 format: int32 96 type: integer 97 strategy: 98 description: |- 99 The deployment strategy to use to replace existing machine instances with 100 new ones. 101 properties: 102 rollingUpdate: 103 description: |- 104 Rolling update config params. Present only if 105 MachineDeploymentStrategyType = RollingUpdate. 106 properties: 107 maxSurge: 108 anyOf: 109 - type: integer 110 - type: string 111 description: |- 112 The maximum number of machines that can be scheduled above the 113 desired number of machines. 114 Value can be an absolute number (ex: 5) or a percentage of 115 desired machines (ex: 10%). 116 This can not be 0 if MaxUnavailable is 0. 117 Absolute number is calculated from percentage by rounding up. 118 Defaults to 1. 119 Example: when this is set to 30%, the new MachineSet can be scaled 120 up immediately when the rolling update starts, such that the total 121 number of old and new machines do not exceed 130% of desired 122 machines. Once old machines have been killed, new MachineSet can 123 be scaled up further, ensuring that total number of machines running 124 at any time during the update is at most 130% of desired machines. 125 x-kubernetes-int-or-string: true 126 maxUnavailable: 127 anyOf: 128 - type: integer 129 - type: string 130 description: |- 131 The maximum number of machines that can be unavailable during the update. 132 Value can be an absolute number (ex: 5) or a percentage of desired 133 machines (ex: 10%). 134 Absolute number is calculated from percentage by rounding down. 135 This can not be 0 if MaxSurge is 0. 136 Defaults to 0. 137 Example: when this is set to 30%, the old MachineSet can be scaled 138 down to 70% of desired machines immediately when the rolling update 139 starts. Once new machines are ready, old MachineSet can be scaled 140 down further, followed by scaling up the new MachineSet, ensuring 141 that the total number of machines available at all times 142 during the update is at least 70% of desired machines. 143 x-kubernetes-int-or-string: true 144 type: object 145 type: 146 description: |- 147 Type of deployment. Currently the only supported strategy is 148 "RollingUpdate". 149 Default is RollingUpdate. 150 type: string 151 type: object 152 template: 153 description: Template describes the machines that will be created. 154 properties: 155 metadata: 156 description: |- 157 Standard object's metadata. 158 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 159 properties: 160 annotations: 161 additionalProperties: 162 type: string 163 description: |- 164 Annotations is an unstructured key value map stored with a resource that may be 165 set by external tools to store and retrieve arbitrary metadata. They are not 166 queryable and should be preserved when modifying objects. 167 More info: http://kubernetes.io/docs/user-guide/annotations 168 type: object 169 generateName: 170 description: |- 171 GenerateName is an optional prefix, used by the server, to generate a unique 172 name ONLY IF the Name field has not been provided. 173 If this field is used, the name returned to the client will be different 174 than the name passed. This value will also be combined with a unique suffix. 175 The provided value has the same validation rules as the Name field, 176 and may be truncated by the length of the suffix required to make the value 177 unique on the server. 178 179 180 If this field is specified and the generated name exists, the server will 181 NOT return a 409 - instead, it will either return 201 Created or 500 with Reason 182 ServerTimeout indicating a unique name could not be found in the time allotted, and the client 183 should retry (optionally after the time indicated in the Retry-After header). 184 185 186 Applied only if Name is not specified. 187 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 188 189 190 Deprecated: This field has no function and is going to be removed in a next release. 191 type: string 192 labels: 193 additionalProperties: 194 type: string 195 description: |- 196 Map of string keys and values that can be used to organize and categorize 197 (scope and select) objects. May match selectors of replication controllers 198 and services. 199 More info: http://kubernetes.io/docs/user-guide/labels 200 type: object 201 name: 202 description: |- 203 Name must be unique within a namespace. Is required when creating resources, although 204 some resources may allow a client to request the generation of an appropriate name 205 automatically. Name is primarily intended for creation idempotence and configuration 206 definition. 207 Cannot be updated. 208 More info: http://kubernetes.io/docs/user-guide/identifiers#names 209 210 211 Deprecated: This field has no function and is going to be removed in a next release. 212 type: string 213 namespace: 214 description: |- 215 Namespace defines the space within each name must be unique. An empty namespace is 216 equivalent to the "default" namespace, but "default" is the canonical representation. 217 Not all objects are required to be scoped to a namespace - the value of this field for 218 those objects will be empty. 219 220 221 Must be a DNS_LABEL. 222 Cannot be updated. 223 More info: http://kubernetes.io/docs/user-guide/namespaces 224 225 226 Deprecated: This field has no function and is going to be removed in a next release. 227 type: string 228 ownerReferences: 229 description: |- 230 List of objects depended by this object. If ALL objects in the list have 231 been deleted, this object will be garbage collected. If this object is managed by a controller, 232 then an entry in this list will point to this controller, with the controller field set to true. 233 There cannot be more than one managing controller. 234 235 236 Deprecated: This field has no function and is going to be removed in a next release. 237 items: 238 description: |- 239 OwnerReference contains enough information to let you identify an owning 240 object. An owning object must be in the same namespace as the dependent, or 241 be cluster-scoped, so there is no namespace field. 242 properties: 243 apiVersion: 244 description: API version of the referent. 245 type: string 246 blockOwnerDeletion: 247 description: |- 248 If true, AND if the owner has the "foregroundDeletion" finalizer, then 249 the owner cannot be deleted from the key-value store until this 250 reference is removed. 251 See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion 252 for how the garbage collector interacts with this field and enforces the foreground deletion. 253 Defaults to false. 254 To set this field, a user needs "delete" permission of the owner, 255 otherwise 422 (Unprocessable Entity) will be returned. 256 type: boolean 257 controller: 258 description: If true, this reference points to the managing 259 controller. 260 type: boolean 261 kind: 262 description: |- 263 Kind of the referent. 264 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 265 type: string 266 name: 267 description: |- 268 Name of the referent. 269 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names 270 type: string 271 uid: 272 description: |- 273 UID of the referent. 274 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids 275 type: string 276 required: 277 - apiVersion 278 - kind 279 - name 280 - uid 281 type: object 282 x-kubernetes-map-type: atomic 283 type: array 284 type: object 285 spec: 286 description: |- 287 Specification of the desired behavior of the machine. 288 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status 289 properties: 290 bootstrap: 291 description: |- 292 Bootstrap is a reference to a local struct which encapsulates 293 fields to configure the Machine’s bootstrapping mechanism. 294 properties: 295 configRef: 296 description: |- 297 ConfigRef is a reference to a bootstrap provider-specific resource 298 that holds configuration details. The reference is optional to 299 allow users/operators to specify Bootstrap.Data without 300 the need of a controller. 301 properties: 302 apiVersion: 303 description: API version of the referent. 304 type: string 305 fieldPath: 306 description: |- 307 If referring to a piece of an object instead of an entire object, this string 308 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 309 For example, if the object reference is to a container within a pod, this would take on a value like: 310 "spec.containers{name}" (where "name" refers to the name of the container that triggered 311 the event) or if no container name is specified "spec.containers[2]" (container with 312 index 2 in this pod). This syntax is chosen only to have some well-defined way of 313 referencing a part of an object. 314 TODO: this design is not final and this field is subject to change in the future. 315 type: string 316 kind: 317 description: |- 318 Kind of the referent. 319 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 320 type: string 321 name: 322 description: |- 323 Name of the referent. 324 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 325 type: string 326 namespace: 327 description: |- 328 Namespace of the referent. 329 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 330 type: string 331 resourceVersion: 332 description: |- 333 Specific resourceVersion to which this reference is made, if any. 334 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 335 type: string 336 uid: 337 description: |- 338 UID of the referent. 339 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 340 type: string 341 type: object 342 x-kubernetes-map-type: atomic 343 data: 344 description: |- 345 Data contains the bootstrap data, such as cloud-init details scripts. 346 If nil, the Machine should remain in the Pending state. 347 348 349 Deprecated: Switch to DataSecretName. 350 type: string 351 dataSecretName: 352 description: |- 353 DataSecretName is the name of the secret that stores the bootstrap data script. 354 If nil, the Machine should remain in the Pending state. 355 type: string 356 type: object 357 clusterName: 358 description: ClusterName is the name of the Cluster this object 359 belongs to. 360 minLength: 1 361 type: string 362 failureDomain: 363 description: |- 364 FailureDomain is the failure domain the machine will be created in. 365 Must match a key in the FailureDomains map stored on the cluster object. 366 type: string 367 infrastructureRef: 368 description: |- 369 InfrastructureRef is a required reference to a custom resource 370 offered by an infrastructure provider. 371 properties: 372 apiVersion: 373 description: API version of the referent. 374 type: string 375 fieldPath: 376 description: |- 377 If referring to a piece of an object instead of an entire object, this string 378 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 379 For example, if the object reference is to a container within a pod, this would take on a value like: 380 "spec.containers{name}" (where "name" refers to the name of the container that triggered 381 the event) or if no container name is specified "spec.containers[2]" (container with 382 index 2 in this pod). This syntax is chosen only to have some well-defined way of 383 referencing a part of an object. 384 TODO: this design is not final and this field is subject to change in the future. 385 type: string 386 kind: 387 description: |- 388 Kind of the referent. 389 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 390 type: string 391 name: 392 description: |- 393 Name of the referent. 394 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 395 type: string 396 namespace: 397 description: |- 398 Namespace of the referent. 399 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 400 type: string 401 resourceVersion: 402 description: |- 403 Specific resourceVersion to which this reference is made, if any. 404 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 405 type: string 406 uid: 407 description: |- 408 UID of the referent. 409 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 410 type: string 411 type: object 412 x-kubernetes-map-type: atomic 413 nodeDrainTimeout: 414 description: |- 415 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 416 The default value is 0, meaning that the node can be drained without any time limitations. 417 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 418 type: string 419 providerID: 420 description: |- 421 ProviderID is the identification ID of the machine provided by the provider. 422 This field must match the provider ID as seen on the node object corresponding to this machine. 423 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 424 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 425 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 426 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 427 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 428 and then a comparison is done to find out unregistered machines and are marked for delete. 429 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 430 be interfacing with cluster-api as generic provider. 431 type: string 432 version: 433 description: |- 434 Version defines the desired Kubernetes version. 435 This field is meant to be optionally used by bootstrap providers. 436 type: string 437 required: 438 - bootstrap 439 - clusterName 440 - infrastructureRef 441 type: object 442 type: object 443 required: 444 - clusterName 445 - template 446 type: object 447 status: 448 description: MachinePoolStatus defines the observed state of MachinePool. 449 properties: 450 availableReplicas: 451 description: The number of available replicas (ready for at least 452 minReadySeconds) for this MachinePool. 453 format: int32 454 type: integer 455 bootstrapReady: 456 description: BootstrapReady is the state of the bootstrap provider. 457 type: boolean 458 conditions: 459 description: Conditions define the current service state of the MachinePool. 460 items: 461 description: Condition defines an observation of a Cluster API resource 462 operational state. 463 properties: 464 lastTransitionTime: 465 description: |- 466 Last time the condition transitioned from one status to another. 467 This should be when the underlying condition changed. If that is not known, then using the time when 468 the API field changed is acceptable. 469 format: date-time 470 type: string 471 message: 472 description: |- 473 A human readable message indicating details about the transition. 474 This field may be empty. 475 type: string 476 reason: 477 description: |- 478 The reason for the condition's last transition in CamelCase. 479 The specific API may choose whether or not this field is considered a guaranteed API. 480 This field may not be empty. 481 type: string 482 severity: 483 description: |- 484 Severity provides an explicit classification of Reason code, so the users or machines can immediately 485 understand the current situation and act accordingly. 486 The Severity field MUST be set only when Status=False. 487 type: string 488 status: 489 description: Status of the condition, one of True, False, Unknown. 490 type: string 491 type: 492 description: |- 493 Type of condition in CamelCase or in foo.example.com/CamelCase. 494 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 495 can be useful (see .node.status.conditions), the ability to deconflict is important. 496 type: string 497 required: 498 - status 499 - type 500 type: object 501 type: array 502 failureMessage: 503 description: |- 504 FailureMessage indicates that there is a problem reconciling the state, 505 and will be set to a descriptive error message. 506 type: string 507 failureReason: 508 description: |- 509 FailureReason indicates that there is a problem reconciling the state, and 510 will be set to a token value suitable for programmatic interpretation. 511 type: string 512 infrastructureReady: 513 description: InfrastructureReady is the state of the infrastructure 514 provider. 515 type: boolean 516 nodeRefs: 517 description: NodeRefs will point to the corresponding Nodes if it 518 they exist. 519 items: 520 description: |- 521 ObjectReference contains enough information to let you inspect or modify the referred object. 522 --- 523 New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 524 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 525 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular 526 restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". 527 Those cannot be well described when embedded. 528 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 529 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity 530 during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple 531 and the version of the actual struct is irrelevant. 532 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type 533 will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. 534 535 536 Instead of using this type, create a locally provided and used type that is well-focused on your reference. 537 For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . 538 properties: 539 apiVersion: 540 description: API version of the referent. 541 type: string 542 fieldPath: 543 description: |- 544 If referring to a piece of an object instead of an entire object, this string 545 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 546 For example, if the object reference is to a container within a pod, this would take on a value like: 547 "spec.containers{name}" (where "name" refers to the name of the container that triggered 548 the event) or if no container name is specified "spec.containers[2]" (container with 549 index 2 in this pod). This syntax is chosen only to have some well-defined way of 550 referencing a part of an object. 551 TODO: this design is not final and this field is subject to change in the future. 552 type: string 553 kind: 554 description: |- 555 Kind of the referent. 556 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 557 type: string 558 name: 559 description: |- 560 Name of the referent. 561 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 562 type: string 563 namespace: 564 description: |- 565 Namespace of the referent. 566 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 567 type: string 568 resourceVersion: 569 description: |- 570 Specific resourceVersion to which this reference is made, if any. 571 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 572 type: string 573 uid: 574 description: |- 575 UID of the referent. 576 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 577 type: string 578 type: object 579 x-kubernetes-map-type: atomic 580 type: array 581 observedGeneration: 582 description: ObservedGeneration is the latest generation observed 583 by the controller. 584 format: int64 585 type: integer 586 phase: 587 description: |- 588 Phase represents the current phase of cluster actuation. 589 E.g. Pending, Running, Terminating, Failed etc. 590 type: string 591 readyReplicas: 592 description: The number of ready replicas for this MachinePool. A 593 machine is considered ready when the node has been created and is 594 "Ready". 595 format: int32 596 type: integer 597 replicas: 598 description: Replicas is the most recently observed number of replicas. 599 format: int32 600 type: integer 601 unavailableReplicas: 602 description: |- 603 Total number of unavailable machine instances targeted by this machine pool. 604 This is the total number of machine instances that are still required for 605 the machine pool to have 100% available capacity. They may either 606 be machine instances that are running but not yet available or machine instances 607 that still have not been created. 608 format: int32 609 type: integer 610 type: object 611 type: object 612 served: false 613 storage: false 614 subresources: 615 scale: 616 specReplicasPath: .spec.replicas 617 statusReplicasPath: .status.replicas 618 status: {} 619 - additionalPrinterColumns: 620 - description: Time duration since creation of MachinePool 621 jsonPath: .metadata.creationTimestamp 622 name: Age 623 type: date 624 - description: MachinePool replicas count 625 jsonPath: .status.replicas 626 name: Replicas 627 type: string 628 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 629 etc 630 jsonPath: .status.phase 631 name: Phase 632 type: string 633 - description: Kubernetes version associated with this MachinePool 634 jsonPath: .spec.template.spec.version 635 name: Version 636 type: string 637 deprecated: true 638 name: v1alpha4 639 schema: 640 openAPIV3Schema: 641 description: |- 642 MachinePool is the Schema for the machinepools API. 643 644 645 Deprecated: This type will be removed in one of the next releases. 646 properties: 647 apiVersion: 648 description: |- 649 APIVersion defines the versioned schema of this representation of an object. 650 Servers should convert recognized schemas to the latest internal value, and 651 may reject unrecognized values. 652 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 653 type: string 654 kind: 655 description: |- 656 Kind is a string value representing the REST resource this object represents. 657 Servers may infer this from the endpoint the client submits requests to. 658 Cannot be updated. 659 In CamelCase. 660 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 661 type: string 662 metadata: 663 type: object 664 spec: 665 description: MachinePoolSpec defines the desired state of MachinePool. 666 properties: 667 clusterName: 668 description: ClusterName is the name of the Cluster this object belongs 669 to. 670 minLength: 1 671 type: string 672 failureDomains: 673 description: FailureDomains is the list of failure domains this MachinePool 674 should be attached to. 675 items: 676 type: string 677 type: array 678 minReadySeconds: 679 description: |- 680 Minimum number of seconds for which a newly created machine instances should 681 be ready. 682 Defaults to 0 (machine instance will be considered available as soon as it 683 is ready) 684 format: int32 685 type: integer 686 providerIDList: 687 description: |- 688 ProviderIDList are the identification IDs of machine instances provided by the provider. 689 This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. 690 items: 691 type: string 692 type: array 693 replicas: 694 description: |- 695 Number of desired machines. Defaults to 1. 696 This is a pointer to distinguish between explicit zero and not specified. 697 format: int32 698 type: integer 699 template: 700 description: Template describes the machines that will be created. 701 properties: 702 metadata: 703 description: |- 704 Standard object's metadata. 705 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 706 properties: 707 annotations: 708 additionalProperties: 709 type: string 710 description: |- 711 Annotations is an unstructured key value map stored with a resource that may be 712 set by external tools to store and retrieve arbitrary metadata. They are not 713 queryable and should be preserved when modifying objects. 714 More info: http://kubernetes.io/docs/user-guide/annotations 715 type: object 716 labels: 717 additionalProperties: 718 type: string 719 description: |- 720 Map of string keys and values that can be used to organize and categorize 721 (scope and select) objects. May match selectors of replication controllers 722 and services. 723 More info: http://kubernetes.io/docs/user-guide/labels 724 type: object 725 type: object 726 spec: 727 description: |- 728 Specification of the desired behavior of the machine. 729 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status 730 properties: 731 bootstrap: 732 description: |- 733 Bootstrap is a reference to a local struct which encapsulates 734 fields to configure the Machine’s bootstrapping mechanism. 735 properties: 736 configRef: 737 description: |- 738 ConfigRef is a reference to a bootstrap provider-specific resource 739 that holds configuration details. The reference is optional to 740 allow users/operators to specify Bootstrap.DataSecretName without 741 the need of a controller. 742 properties: 743 apiVersion: 744 description: API version of the referent. 745 type: string 746 fieldPath: 747 description: |- 748 If referring to a piece of an object instead of an entire object, this string 749 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 750 For example, if the object reference is to a container within a pod, this would take on a value like: 751 "spec.containers{name}" (where "name" refers to the name of the container that triggered 752 the event) or if no container name is specified "spec.containers[2]" (container with 753 index 2 in this pod). This syntax is chosen only to have some well-defined way of 754 referencing a part of an object. 755 TODO: this design is not final and this field is subject to change in the future. 756 type: string 757 kind: 758 description: |- 759 Kind of the referent. 760 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 761 type: string 762 name: 763 description: |- 764 Name of the referent. 765 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 766 type: string 767 namespace: 768 description: |- 769 Namespace of the referent. 770 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 771 type: string 772 resourceVersion: 773 description: |- 774 Specific resourceVersion to which this reference is made, if any. 775 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 776 type: string 777 uid: 778 description: |- 779 UID of the referent. 780 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 781 type: string 782 type: object 783 x-kubernetes-map-type: atomic 784 dataSecretName: 785 description: |- 786 DataSecretName is the name of the secret that stores the bootstrap data script. 787 If nil, the Machine should remain in the Pending state. 788 type: string 789 type: object 790 clusterName: 791 description: ClusterName is the name of the Cluster this object 792 belongs to. 793 minLength: 1 794 type: string 795 failureDomain: 796 description: |- 797 FailureDomain is the failure domain the machine will be created in. 798 Must match a key in the FailureDomains map stored on the cluster object. 799 type: string 800 infrastructureRef: 801 description: |- 802 InfrastructureRef is a required reference to a custom resource 803 offered by an infrastructure provider. 804 properties: 805 apiVersion: 806 description: API version of the referent. 807 type: string 808 fieldPath: 809 description: |- 810 If referring to a piece of an object instead of an entire object, this string 811 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 812 For example, if the object reference is to a container within a pod, this would take on a value like: 813 "spec.containers{name}" (where "name" refers to the name of the container that triggered 814 the event) or if no container name is specified "spec.containers[2]" (container with 815 index 2 in this pod). This syntax is chosen only to have some well-defined way of 816 referencing a part of an object. 817 TODO: this design is not final and this field is subject to change in the future. 818 type: string 819 kind: 820 description: |- 821 Kind of the referent. 822 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 823 type: string 824 name: 825 description: |- 826 Name of the referent. 827 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 828 type: string 829 namespace: 830 description: |- 831 Namespace of the referent. 832 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 833 type: string 834 resourceVersion: 835 description: |- 836 Specific resourceVersion to which this reference is made, if any. 837 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 838 type: string 839 uid: 840 description: |- 841 UID of the referent. 842 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 843 type: string 844 type: object 845 x-kubernetes-map-type: atomic 846 nodeDrainTimeout: 847 description: |- 848 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 849 The default value is 0, meaning that the node can be drained without any time limitations. 850 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 851 type: string 852 providerID: 853 description: |- 854 ProviderID is the identification ID of the machine provided by the provider. 855 This field must match the provider ID as seen on the node object corresponding to this machine. 856 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 857 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 858 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 859 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 860 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 861 and then a comparison is done to find out unregistered machines and are marked for delete. 862 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 863 be interfacing with cluster-api as generic provider. 864 type: string 865 version: 866 description: |- 867 Version defines the desired Kubernetes version. 868 This field is meant to be optionally used by bootstrap providers. 869 type: string 870 required: 871 - bootstrap 872 - clusterName 873 - infrastructureRef 874 type: object 875 type: object 876 required: 877 - clusterName 878 - template 879 type: object 880 status: 881 description: MachinePoolStatus defines the observed state of MachinePool. 882 properties: 883 availableReplicas: 884 description: The number of available replicas (ready for at least 885 minReadySeconds) for this MachinePool. 886 format: int32 887 type: integer 888 bootstrapReady: 889 description: BootstrapReady is the state of the bootstrap provider. 890 type: boolean 891 conditions: 892 description: Conditions define the current service state of the MachinePool. 893 items: 894 description: Condition defines an observation of a Cluster API resource 895 operational state. 896 properties: 897 lastTransitionTime: 898 description: |- 899 Last time the condition transitioned from one status to another. 900 This should be when the underlying condition changed. If that is not known, then using the time when 901 the API field changed is acceptable. 902 format: date-time 903 type: string 904 message: 905 description: |- 906 A human readable message indicating details about the transition. 907 This field may be empty. 908 type: string 909 reason: 910 description: |- 911 The reason for the condition's last transition in CamelCase. 912 The specific API may choose whether or not this field is considered a guaranteed API. 913 This field may not be empty. 914 type: string 915 severity: 916 description: |- 917 Severity provides an explicit classification of Reason code, so the users or machines can immediately 918 understand the current situation and act accordingly. 919 The Severity field MUST be set only when Status=False. 920 type: string 921 status: 922 description: Status of the condition, one of True, False, Unknown. 923 type: string 924 type: 925 description: |- 926 Type of condition in CamelCase or in foo.example.com/CamelCase. 927 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 928 can be useful (see .node.status.conditions), the ability to deconflict is important. 929 type: string 930 required: 931 - status 932 - type 933 type: object 934 type: array 935 failureMessage: 936 description: |- 937 FailureMessage indicates that there is a problem reconciling the state, 938 and will be set to a descriptive error message. 939 type: string 940 failureReason: 941 description: |- 942 FailureReason indicates that there is a problem reconciling the state, and 943 will be set to a token value suitable for programmatic interpretation. 944 type: string 945 infrastructureReady: 946 description: InfrastructureReady is the state of the infrastructure 947 provider. 948 type: boolean 949 nodeRefs: 950 description: NodeRefs will point to the corresponding Nodes if it 951 they exist. 952 items: 953 description: |- 954 ObjectReference contains enough information to let you inspect or modify the referred object. 955 --- 956 New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 957 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 958 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular 959 restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". 960 Those cannot be well described when embedded. 961 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 962 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity 963 during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple 964 and the version of the actual struct is irrelevant. 965 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type 966 will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. 967 968 969 Instead of using this type, create a locally provided and used type that is well-focused on your reference. 970 For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . 971 properties: 972 apiVersion: 973 description: API version of the referent. 974 type: string 975 fieldPath: 976 description: |- 977 If referring to a piece of an object instead of an entire object, this string 978 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 979 For example, if the object reference is to a container within a pod, this would take on a value like: 980 "spec.containers{name}" (where "name" refers to the name of the container that triggered 981 the event) or if no container name is specified "spec.containers[2]" (container with 982 index 2 in this pod). This syntax is chosen only to have some well-defined way of 983 referencing a part of an object. 984 TODO: this design is not final and this field is subject to change in the future. 985 type: string 986 kind: 987 description: |- 988 Kind of the referent. 989 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 990 type: string 991 name: 992 description: |- 993 Name of the referent. 994 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 995 type: string 996 namespace: 997 description: |- 998 Namespace of the referent. 999 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1000 type: string 1001 resourceVersion: 1002 description: |- 1003 Specific resourceVersion to which this reference is made, if any. 1004 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1005 type: string 1006 uid: 1007 description: |- 1008 UID of the referent. 1009 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1010 type: string 1011 type: object 1012 x-kubernetes-map-type: atomic 1013 type: array 1014 observedGeneration: 1015 description: ObservedGeneration is the latest generation observed 1016 by the controller. 1017 format: int64 1018 type: integer 1019 phase: 1020 description: |- 1021 Phase represents the current phase of cluster actuation. 1022 E.g. Pending, Running, Terminating, Failed etc. 1023 type: string 1024 readyReplicas: 1025 description: The number of ready replicas for this MachinePool. A 1026 machine is considered ready when the node has been created and is 1027 "Ready". 1028 format: int32 1029 type: integer 1030 replicas: 1031 description: Replicas is the most recently observed number of replicas. 1032 format: int32 1033 type: integer 1034 unavailableReplicas: 1035 description: |- 1036 Total number of unavailable machine instances targeted by this machine pool. 1037 This is the total number of machine instances that are still required for 1038 the machine pool to have 100% available capacity. They may either 1039 be machine instances that are running but not yet available or machine instances 1040 that still have not been created. 1041 format: int32 1042 type: integer 1043 type: object 1044 type: object 1045 served: false 1046 storage: false 1047 subresources: 1048 scale: 1049 specReplicasPath: .spec.replicas 1050 statusReplicasPath: .status.replicas 1051 status: {} 1052 - additionalPrinterColumns: 1053 - description: Cluster 1054 jsonPath: .spec.clusterName 1055 name: Cluster 1056 type: string 1057 - description: Total number of machines desired by this MachinePool 1058 jsonPath: .spec.replicas 1059 name: Desired 1060 priority: 10 1061 type: integer 1062 - description: MachinePool replicas count 1063 jsonPath: .status.replicas 1064 name: Replicas 1065 type: string 1066 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 1067 etc 1068 jsonPath: .status.phase 1069 name: Phase 1070 type: string 1071 - description: Time duration since creation of MachinePool 1072 jsonPath: .metadata.creationTimestamp 1073 name: Age 1074 type: date 1075 - description: Kubernetes version associated with this MachinePool 1076 jsonPath: .spec.template.spec.version 1077 name: Version 1078 type: string 1079 name: v1beta1 1080 schema: 1081 openAPIV3Schema: 1082 description: MachinePool is the Schema for the machinepools API. 1083 properties: 1084 apiVersion: 1085 description: |- 1086 APIVersion defines the versioned schema of this representation of an object. 1087 Servers should convert recognized schemas to the latest internal value, and 1088 may reject unrecognized values. 1089 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1090 type: string 1091 kind: 1092 description: |- 1093 Kind is a string value representing the REST resource this object represents. 1094 Servers may infer this from the endpoint the client submits requests to. 1095 Cannot be updated. 1096 In CamelCase. 1097 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1098 type: string 1099 metadata: 1100 type: object 1101 spec: 1102 description: MachinePoolSpec defines the desired state of MachinePool. 1103 properties: 1104 clusterName: 1105 description: ClusterName is the name of the Cluster this object belongs 1106 to. 1107 minLength: 1 1108 type: string 1109 failureDomains: 1110 description: FailureDomains is the list of failure domains this MachinePool 1111 should be attached to. 1112 items: 1113 type: string 1114 type: array 1115 minReadySeconds: 1116 description: |- 1117 Minimum number of seconds for which a newly created machine instances should 1118 be ready. 1119 Defaults to 0 (machine instance will be considered available as soon as it 1120 is ready) 1121 NOTE: No logic is implemented for this field and it currently has no behaviour. 1122 format: int32 1123 type: integer 1124 providerIDList: 1125 description: |- 1126 ProviderIDList are the identification IDs of machine instances provided by the provider. 1127 This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. 1128 items: 1129 type: string 1130 type: array 1131 replicas: 1132 description: |- 1133 Number of desired machines. Defaults to 1. 1134 This is a pointer to distinguish between explicit zero and not specified. 1135 format: int32 1136 type: integer 1137 template: 1138 description: Template describes the machines that will be created. 1139 properties: 1140 metadata: 1141 description: |- 1142 Standard object's metadata. 1143 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1144 properties: 1145 annotations: 1146 additionalProperties: 1147 type: string 1148 description: |- 1149 Annotations is an unstructured key value map stored with a resource that may be 1150 set by external tools to store and retrieve arbitrary metadata. They are not 1151 queryable and should be preserved when modifying objects. 1152 More info: http://kubernetes.io/docs/user-guide/annotations 1153 type: object 1154 labels: 1155 additionalProperties: 1156 type: string 1157 description: |- 1158 Map of string keys and values that can be used to organize and categorize 1159 (scope and select) objects. May match selectors of replication controllers 1160 and services. 1161 More info: http://kubernetes.io/docs/user-guide/labels 1162 type: object 1163 type: object 1164 spec: 1165 description: |- 1166 Specification of the desired behavior of the machine. 1167 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status 1168 properties: 1169 bootstrap: 1170 description: |- 1171 Bootstrap is a reference to a local struct which encapsulates 1172 fields to configure the Machine’s bootstrapping mechanism. 1173 properties: 1174 configRef: 1175 description: |- 1176 ConfigRef is a reference to a bootstrap provider-specific resource 1177 that holds configuration details. The reference is optional to 1178 allow users/operators to specify Bootstrap.DataSecretName without 1179 the need of a controller. 1180 properties: 1181 apiVersion: 1182 description: API version of the referent. 1183 type: string 1184 fieldPath: 1185 description: |- 1186 If referring to a piece of an object instead of an entire object, this string 1187 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 1188 For example, if the object reference is to a container within a pod, this would take on a value like: 1189 "spec.containers{name}" (where "name" refers to the name of the container that triggered 1190 the event) or if no container name is specified "spec.containers[2]" (container with 1191 index 2 in this pod). This syntax is chosen only to have some well-defined way of 1192 referencing a part of an object. 1193 TODO: this design is not final and this field is subject to change in the future. 1194 type: string 1195 kind: 1196 description: |- 1197 Kind of the referent. 1198 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1199 type: string 1200 name: 1201 description: |- 1202 Name of the referent. 1203 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1204 type: string 1205 namespace: 1206 description: |- 1207 Namespace of the referent. 1208 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1209 type: string 1210 resourceVersion: 1211 description: |- 1212 Specific resourceVersion to which this reference is made, if any. 1213 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1214 type: string 1215 uid: 1216 description: |- 1217 UID of the referent. 1218 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1219 type: string 1220 type: object 1221 x-kubernetes-map-type: atomic 1222 dataSecretName: 1223 description: |- 1224 DataSecretName is the name of the secret that stores the bootstrap data script. 1225 If nil, the Machine should remain in the Pending state. 1226 type: string 1227 type: object 1228 clusterName: 1229 description: ClusterName is the name of the Cluster this object 1230 belongs to. 1231 minLength: 1 1232 type: string 1233 failureDomain: 1234 description: |- 1235 FailureDomain is the failure domain the machine will be created in. 1236 Must match a key in the FailureDomains map stored on the cluster object. 1237 type: string 1238 infrastructureRef: 1239 description: |- 1240 InfrastructureRef is a required reference to a custom resource 1241 offered by an infrastructure provider. 1242 properties: 1243 apiVersion: 1244 description: API version of the referent. 1245 type: string 1246 fieldPath: 1247 description: |- 1248 If referring to a piece of an object instead of an entire object, this string 1249 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 1250 For example, if the object reference is to a container within a pod, this would take on a value like: 1251 "spec.containers{name}" (where "name" refers to the name of the container that triggered 1252 the event) or if no container name is specified "spec.containers[2]" (container with 1253 index 2 in this pod). This syntax is chosen only to have some well-defined way of 1254 referencing a part of an object. 1255 TODO: this design is not final and this field is subject to change in the future. 1256 type: string 1257 kind: 1258 description: |- 1259 Kind of the referent. 1260 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1261 type: string 1262 name: 1263 description: |- 1264 Name of the referent. 1265 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1266 type: string 1267 namespace: 1268 description: |- 1269 Namespace of the referent. 1270 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1271 type: string 1272 resourceVersion: 1273 description: |- 1274 Specific resourceVersion to which this reference is made, if any. 1275 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1276 type: string 1277 uid: 1278 description: |- 1279 UID of the referent. 1280 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1281 type: string 1282 type: object 1283 x-kubernetes-map-type: atomic 1284 nodeDeletionTimeout: 1285 description: |- 1286 NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine 1287 hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. 1288 Defaults to 10 seconds. 1289 type: string 1290 nodeDrainTimeout: 1291 description: |- 1292 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 1293 The default value is 0, meaning that the node can be drained without any time limitations. 1294 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 1295 type: string 1296 nodeVolumeDetachTimeout: 1297 description: |- 1298 NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes 1299 to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. 1300 type: string 1301 providerID: 1302 description: |- 1303 ProviderID is the identification ID of the machine provided by the provider. 1304 This field must match the provider ID as seen on the node object corresponding to this machine. 1305 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 1306 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 1307 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 1308 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 1309 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 1310 and then a comparison is done to find out unregistered machines and are marked for delete. 1311 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 1312 be interfacing with cluster-api as generic provider. 1313 type: string 1314 version: 1315 description: |- 1316 Version defines the desired Kubernetes version. 1317 This field is meant to be optionally used by bootstrap providers. 1318 type: string 1319 required: 1320 - bootstrap 1321 - clusterName 1322 - infrastructureRef 1323 type: object 1324 type: object 1325 required: 1326 - clusterName 1327 - template 1328 type: object 1329 status: 1330 description: MachinePoolStatus defines the observed state of MachinePool. 1331 properties: 1332 availableReplicas: 1333 description: The number of available replicas (ready for at least 1334 minReadySeconds) for this MachinePool. 1335 format: int32 1336 type: integer 1337 bootstrapReady: 1338 description: BootstrapReady is the state of the bootstrap provider. 1339 type: boolean 1340 conditions: 1341 description: Conditions define the current service state of the MachinePool. 1342 items: 1343 description: Condition defines an observation of a Cluster API resource 1344 operational state. 1345 properties: 1346 lastTransitionTime: 1347 description: |- 1348 Last time the condition transitioned from one status to another. 1349 This should be when the underlying condition changed. If that is not known, then using the time when 1350 the API field changed is acceptable. 1351 format: date-time 1352 type: string 1353 message: 1354 description: |- 1355 A human readable message indicating details about the transition. 1356 This field may be empty. 1357 type: string 1358 reason: 1359 description: |- 1360 The reason for the condition's last transition in CamelCase. 1361 The specific API may choose whether or not this field is considered a guaranteed API. 1362 This field may not be empty. 1363 type: string 1364 severity: 1365 description: |- 1366 Severity provides an explicit classification of Reason code, so the users or machines can immediately 1367 understand the current situation and act accordingly. 1368 The Severity field MUST be set only when Status=False. 1369 type: string 1370 status: 1371 description: Status of the condition, one of True, False, Unknown. 1372 type: string 1373 type: 1374 description: |- 1375 Type of condition in CamelCase or in foo.example.com/CamelCase. 1376 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 1377 can be useful (see .node.status.conditions), the ability to deconflict is important. 1378 type: string 1379 required: 1380 - lastTransitionTime 1381 - status 1382 - type 1383 type: object 1384 type: array 1385 failureMessage: 1386 description: |- 1387 FailureMessage indicates that there is a problem reconciling the state, 1388 and will be set to a descriptive error message. 1389 type: string 1390 failureReason: 1391 description: |- 1392 FailureReason indicates that there is a problem reconciling the state, and 1393 will be set to a token value suitable for programmatic interpretation. 1394 type: string 1395 infrastructureReady: 1396 description: InfrastructureReady is the state of the infrastructure 1397 provider. 1398 type: boolean 1399 nodeRefs: 1400 description: NodeRefs will point to the corresponding Nodes if it 1401 they exist. 1402 items: 1403 description: |- 1404 ObjectReference contains enough information to let you inspect or modify the referred object. 1405 --- 1406 New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1407 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 1408 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular 1409 restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". 1410 Those cannot be well described when embedded. 1411 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 1412 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity 1413 during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple 1414 and the version of the actual struct is irrelevant. 1415 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type 1416 will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. 1417 1418 1419 Instead of using this type, create a locally provided and used type that is well-focused on your reference. 1420 For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . 1421 properties: 1422 apiVersion: 1423 description: API version of the referent. 1424 type: string 1425 fieldPath: 1426 description: |- 1427 If referring to a piece of an object instead of an entire object, this string 1428 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 1429 For example, if the object reference is to a container within a pod, this would take on a value like: 1430 "spec.containers{name}" (where "name" refers to the name of the container that triggered 1431 the event) or if no container name is specified "spec.containers[2]" (container with 1432 index 2 in this pod). This syntax is chosen only to have some well-defined way of 1433 referencing a part of an object. 1434 TODO: this design is not final and this field is subject to change in the future. 1435 type: string 1436 kind: 1437 description: |- 1438 Kind of the referent. 1439 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1440 type: string 1441 name: 1442 description: |- 1443 Name of the referent. 1444 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1445 type: string 1446 namespace: 1447 description: |- 1448 Namespace of the referent. 1449 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1450 type: string 1451 resourceVersion: 1452 description: |- 1453 Specific resourceVersion to which this reference is made, if any. 1454 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1455 type: string 1456 uid: 1457 description: |- 1458 UID of the referent. 1459 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1460 type: string 1461 type: object 1462 x-kubernetes-map-type: atomic 1463 type: array 1464 observedGeneration: 1465 description: ObservedGeneration is the latest generation observed 1466 by the controller. 1467 format: int64 1468 type: integer 1469 phase: 1470 description: |- 1471 Phase represents the current phase of cluster actuation. 1472 E.g. Pending, Running, Terminating, Failed etc. 1473 type: string 1474 readyReplicas: 1475 description: The number of ready replicas for this MachinePool. A 1476 machine is considered ready when the node has been created and is 1477 "Ready". 1478 format: int32 1479 type: integer 1480 replicas: 1481 description: Replicas is the most recently observed number of replicas. 1482 format: int32 1483 type: integer 1484 unavailableReplicas: 1485 description: |- 1486 Total number of unavailable machine instances targeted by this machine pool. 1487 This is the total number of machine instances that are still required for 1488 the machine pool to have 100% available capacity. They may either 1489 be machine instances that are running but not yet available or machine instances 1490 that still have not been created. 1491 format: int32 1492 type: integer 1493 type: object 1494 type: object 1495 served: true 1496 storage: true 1497 subresources: 1498 scale: 1499 specReplicasPath: .spec.replicas 1500 statusReplicasPath: .status.replicas 1501 status: {}