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: {}