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