sigs.k8s.io/cluster-api@v1.7.1/config/crd/bases/cluster.x-k8s.io_machinehealthchecks.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: machinehealthchecks.cluster.x-k8s.io
     8  spec:
     9    group: cluster.x-k8s.io
    10    names:
    11      categories:
    12      - cluster-api
    13      kind: MachineHealthCheck
    14      listKind: MachineHealthCheckList
    15      plural: machinehealthchecks
    16      shortNames:
    17      - mhc
    18      - mhcs
    19      singular: machinehealthcheck
    20    scope: Namespaced
    21    versions:
    22    - additionalPrinterColumns:
    23      - description: Maximum number of unhealthy machines allowed
    24        jsonPath: .spec.maxUnhealthy
    25        name: MaxUnhealthy
    26        type: string
    27      - description: Number of machines currently monitored
    28        jsonPath: .status.expectedMachines
    29        name: ExpectedMachines
    30        type: integer
    31      - description: Current observed healthy machines
    32        jsonPath: .status.currentHealthy
    33        name: CurrentHealthy
    34        type: integer
    35      deprecated: true
    36      name: v1alpha3
    37      schema:
    38        openAPIV3Schema:
    39          description: |-
    40            MachineHealthCheck is the Schema for the machinehealthchecks 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: Specification of machine health check policy
    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                maxUnhealthy:
    71                  anyOf:
    72                  - type: integer
    73                  - type: string
    74                  description: |-
    75                    Any further remediation is only allowed if at most "MaxUnhealthy" machines selected by
    76                    "selector" are not healthy.
    77                  x-kubernetes-int-or-string: true
    78                nodeStartupTimeout:
    79                  description: |-
    80                    Machines older than this duration without a node will be considered to have
    81                    failed and will be remediated.
    82                  type: string
    83                remediationTemplate:
    84                  description: |-
    85                    RemediationTemplate is a reference to a remediation template
    86                    provided by an infrastructure provider.
    87  
    88  
    89                    This field is completely optional, when filled, the MachineHealthCheck controller
    90                    creates a new object from the template referenced and hands off remediation of the machine to
    91                    a controller that lives outside of Cluster API.
    92                  properties:
    93                    apiVersion:
    94                      description: API version of the referent.
    95                      type: string
    96                    fieldPath:
    97                      description: |-
    98                        If referring to a piece of an object instead of an entire object, this string
    99                        should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   100                        For example, if the object reference is to a container within a pod, this would take on a value like:
   101                        "spec.containers{name}" (where "name" refers to the name of the container that triggered
   102                        the event) or if no container name is specified "spec.containers[2]" (container with
   103                        index 2 in this pod). This syntax is chosen only to have some well-defined way of
   104                        referencing a part of an object.
   105                        TODO: this design is not final and this field is subject to change in the future.
   106                      type: string
   107                    kind:
   108                      description: |-
   109                        Kind of the referent.
   110                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   111                      type: string
   112                    name:
   113                      description: |-
   114                        Name of the referent.
   115                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   116                      type: string
   117                    namespace:
   118                      description: |-
   119                        Namespace of the referent.
   120                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
   121                      type: string
   122                    resourceVersion:
   123                      description: |-
   124                        Specific resourceVersion to which this reference is made, if any.
   125                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   126                      type: string
   127                    uid:
   128                      description: |-
   129                        UID of the referent.
   130                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
   131                      type: string
   132                  type: object
   133                  x-kubernetes-map-type: atomic
   134                selector:
   135                  description: Label selector to match machines whose health will be
   136                    exercised
   137                  properties:
   138                    matchExpressions:
   139                      description: matchExpressions is a list of label selector requirements.
   140                        The requirements are ANDed.
   141                      items:
   142                        description: |-
   143                          A label selector requirement is a selector that contains values, a key, and an operator that
   144                          relates the key and values.
   145                        properties:
   146                          key:
   147                            description: key is the label key that the selector applies
   148                              to.
   149                            type: string
   150                          operator:
   151                            description: |-
   152                              operator represents a key's relationship to a set of values.
   153                              Valid operators are In, NotIn, Exists and DoesNotExist.
   154                            type: string
   155                          values:
   156                            description: |-
   157                              values is an array of string values. If the operator is In or NotIn,
   158                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   159                              the values array must be empty. This array is replaced during a strategic
   160                              merge patch.
   161                            items:
   162                              type: string
   163                            type: array
   164                        required:
   165                        - key
   166                        - operator
   167                        type: object
   168                      type: array
   169                    matchLabels:
   170                      additionalProperties:
   171                        type: string
   172                      description: |-
   173                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   174                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   175                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   176                      type: object
   177                  type: object
   178                  x-kubernetes-map-type: atomic
   179                unhealthyConditions:
   180                  description: |-
   181                    UnhealthyConditions contains a list of the conditions that determine
   182                    whether a node is considered unhealthy.  The conditions are combined in a
   183                    logical OR, i.e. if any of the conditions is met, the node is unhealthy.
   184                  items:
   185                    description: |-
   186                      UnhealthyCondition represents a Node condition type and value with a timeout
   187                      specified as a duration.  When the named condition has been in the given
   188                      status for at least the timeout value, a node is considered unhealthy.
   189                    properties:
   190                      status:
   191                        minLength: 1
   192                        type: string
   193                      timeout:
   194                        type: string
   195                      type:
   196                        minLength: 1
   197                        type: string
   198                    required:
   199                    - status
   200                    - timeout
   201                    - type
   202                    type: object
   203                  minItems: 1
   204                  type: array
   205              required:
   206              - clusterName
   207              - selector
   208              - unhealthyConditions
   209              type: object
   210            status:
   211              description: Most recently observed status of MachineHealthCheck resource
   212              properties:
   213                conditions:
   214                  description: Conditions defines current service state of the MachineHealthCheck.
   215                  items:
   216                    description: Condition defines an observation of a Cluster API resource
   217                      operational state.
   218                    properties:
   219                      lastTransitionTime:
   220                        description: |-
   221                          Last time the condition transitioned from one status to another.
   222                          This should be when the underlying condition changed. If that is not known, then using the time when
   223                          the API field changed is acceptable.
   224                        format: date-time
   225                        type: string
   226                      message:
   227                        description: |-
   228                          A human readable message indicating details about the transition.
   229                          This field may be empty.
   230                        type: string
   231                      reason:
   232                        description: |-
   233                          The reason for the condition's last transition in CamelCase.
   234                          The specific API may choose whether or not this field is considered a guaranteed API.
   235                          This field may not be empty.
   236                        type: string
   237                      severity:
   238                        description: |-
   239                          Severity provides an explicit classification of Reason code, so the users or machines can immediately
   240                          understand the current situation and act accordingly.
   241                          The Severity field MUST be set only when Status=False.
   242                        type: string
   243                      status:
   244                        description: Status of the condition, one of True, False, Unknown.
   245                        type: string
   246                      type:
   247                        description: |-
   248                          Type of condition in CamelCase or in foo.example.com/CamelCase.
   249                          Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
   250                          can be useful (see .node.status.conditions), the ability to deconflict is important.
   251                        type: string
   252                    required:
   253                    - status
   254                    - type
   255                    type: object
   256                  type: array
   257                currentHealthy:
   258                  description: total number of healthy machines counted by this machine
   259                    health check
   260                  format: int32
   261                  minimum: 0
   262                  type: integer
   263                expectedMachines:
   264                  description: total number of machines counted by this machine health
   265                    check
   266                  format: int32
   267                  minimum: 0
   268                  type: integer
   269                observedGeneration:
   270                  description: ObservedGeneration is the latest generation observed
   271                    by the controller.
   272                  format: int64
   273                  type: integer
   274                remediationsAllowed:
   275                  description: |-
   276                    RemediationsAllowed is the number of further remediations allowed by this machine health check before
   277                    maxUnhealthy short circuiting will be applied
   278                  format: int32
   279                  minimum: 0
   280                  type: integer
   281                targets:
   282                  description: Targets shows the current list of machines the machine
   283                    health check is watching
   284                  items:
   285                    type: string
   286                  type: array
   287              type: object
   288          type: object
   289      served: false
   290      storage: false
   291      subresources:
   292        status: {}
   293    - additionalPrinterColumns:
   294      - description: Cluster
   295        jsonPath: .spec.clusterName
   296        name: Cluster
   297        type: string
   298      - description: Time duration since creation of MachineHealthCheck
   299        jsonPath: .metadata.creationTimestamp
   300        name: Age
   301        type: date
   302      - description: Maximum number of unhealthy machines allowed
   303        jsonPath: .spec.maxUnhealthy
   304        name: MaxUnhealthy
   305        type: string
   306      - description: Number of machines currently monitored
   307        jsonPath: .status.expectedMachines
   308        name: ExpectedMachines
   309        type: integer
   310      - description: Current observed healthy machines
   311        jsonPath: .status.currentHealthy
   312        name: CurrentHealthy
   313        type: integer
   314      deprecated: true
   315      name: v1alpha4
   316      schema:
   317        openAPIV3Schema:
   318          description: |-
   319            MachineHealthCheck is the Schema for the machinehealthchecks API.
   320  
   321  
   322            Deprecated: This type will be removed in one of the next releases.
   323          properties:
   324            apiVersion:
   325              description: |-
   326                APIVersion defines the versioned schema of this representation of an object.
   327                Servers should convert recognized schemas to the latest internal value, and
   328                may reject unrecognized values.
   329                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   330              type: string
   331            kind:
   332              description: |-
   333                Kind is a string value representing the REST resource this object represents.
   334                Servers may infer this from the endpoint the client submits requests to.
   335                Cannot be updated.
   336                In CamelCase.
   337                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   338              type: string
   339            metadata:
   340              type: object
   341            spec:
   342              description: Specification of machine health check policy
   343              properties:
   344                clusterName:
   345                  description: ClusterName is the name of the Cluster this object belongs
   346                    to.
   347                  minLength: 1
   348                  type: string
   349                maxUnhealthy:
   350                  anyOf:
   351                  - type: integer
   352                  - type: string
   353                  description: |-
   354                    Any further remediation is only allowed if at most "MaxUnhealthy" machines selected by
   355                    "selector" are not healthy.
   356                  x-kubernetes-int-or-string: true
   357                nodeStartupTimeout:
   358                  description: |-
   359                    Machines older than this duration without a node will be considered to have
   360                    failed and will be remediated.
   361                    If not set, this value is defaulted to 10 minutes.
   362                    If you wish to disable this feature, set the value explicitly to 0.
   363                  type: string
   364                remediationTemplate:
   365                  description: |-
   366                    RemediationTemplate is a reference to a remediation template
   367                    provided by an infrastructure provider.
   368  
   369  
   370                    This field is completely optional, when filled, the MachineHealthCheck controller
   371                    creates a new object from the template referenced and hands off remediation of the machine to
   372                    a controller that lives outside of Cluster API.
   373                  properties:
   374                    apiVersion:
   375                      description: API version of the referent.
   376                      type: string
   377                    fieldPath:
   378                      description: |-
   379                        If referring to a piece of an object instead of an entire object, this string
   380                        should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   381                        For example, if the object reference is to a container within a pod, this would take on a value like:
   382                        "spec.containers{name}" (where "name" refers to the name of the container that triggered
   383                        the event) or if no container name is specified "spec.containers[2]" (container with
   384                        index 2 in this pod). This syntax is chosen only to have some well-defined way of
   385                        referencing a part of an object.
   386                        TODO: this design is not final and this field is subject to change in the future.
   387                      type: string
   388                    kind:
   389                      description: |-
   390                        Kind of the referent.
   391                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   392                      type: string
   393                    name:
   394                      description: |-
   395                        Name of the referent.
   396                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   397                      type: string
   398                    namespace:
   399                      description: |-
   400                        Namespace of the referent.
   401                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
   402                      type: string
   403                    resourceVersion:
   404                      description: |-
   405                        Specific resourceVersion to which this reference is made, if any.
   406                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   407                      type: string
   408                    uid:
   409                      description: |-
   410                        UID of the referent.
   411                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
   412                      type: string
   413                  type: object
   414                  x-kubernetes-map-type: atomic
   415                selector:
   416                  description: Label selector to match machines whose health will be
   417                    exercised
   418                  properties:
   419                    matchExpressions:
   420                      description: matchExpressions is a list of label selector requirements.
   421                        The requirements are ANDed.
   422                      items:
   423                        description: |-
   424                          A label selector requirement is a selector that contains values, a key, and an operator that
   425                          relates the key and values.
   426                        properties:
   427                          key:
   428                            description: key is the label key that the selector applies
   429                              to.
   430                            type: string
   431                          operator:
   432                            description: |-
   433                              operator represents a key's relationship to a set of values.
   434                              Valid operators are In, NotIn, Exists and DoesNotExist.
   435                            type: string
   436                          values:
   437                            description: |-
   438                              values is an array of string values. If the operator is In or NotIn,
   439                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   440                              the values array must be empty. This array is replaced during a strategic
   441                              merge patch.
   442                            items:
   443                              type: string
   444                            type: array
   445                        required:
   446                        - key
   447                        - operator
   448                        type: object
   449                      type: array
   450                    matchLabels:
   451                      additionalProperties:
   452                        type: string
   453                      description: |-
   454                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   455                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   456                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   457                      type: object
   458                  type: object
   459                  x-kubernetes-map-type: atomic
   460                unhealthyConditions:
   461                  description: |-
   462                    UnhealthyConditions contains a list of the conditions that determine
   463                    whether a node is considered unhealthy.  The conditions are combined in a
   464                    logical OR, i.e. if any of the conditions is met, the node is unhealthy.
   465                  items:
   466                    description: |-
   467                      UnhealthyCondition represents a Node condition type and value with a timeout
   468                      specified as a duration.  When the named condition has been in the given
   469                      status for at least the timeout value, a node is considered unhealthy.
   470                    properties:
   471                      status:
   472                        minLength: 1
   473                        type: string
   474                      timeout:
   475                        type: string
   476                      type:
   477                        minLength: 1
   478                        type: string
   479                    required:
   480                    - status
   481                    - timeout
   482                    - type
   483                    type: object
   484                  minItems: 1
   485                  type: array
   486                unhealthyRange:
   487                  description: |-
   488                    Any further remediation is only allowed if the number of machines selected by "selector" as not healthy
   489                    is within the range of "UnhealthyRange". Takes precedence over MaxUnhealthy.
   490                    Eg. "[3-5]" - This means that remediation will be allowed only when:
   491                    (a) there are at least 3 unhealthy machines (and)
   492                    (b) there are at most 5 unhealthy machines
   493                  pattern: ^\[[0-9]+-[0-9]+\]$
   494                  type: string
   495              required:
   496              - clusterName
   497              - selector
   498              - unhealthyConditions
   499              type: object
   500            status:
   501              description: Most recently observed status of MachineHealthCheck resource
   502              properties:
   503                conditions:
   504                  description: Conditions defines current service state of the MachineHealthCheck.
   505                  items:
   506                    description: Condition defines an observation of a Cluster API resource
   507                      operational state.
   508                    properties:
   509                      lastTransitionTime:
   510                        description: |-
   511                          Last time the condition transitioned from one status to another.
   512                          This should be when the underlying condition changed. If that is not known, then using the time when
   513                          the API field changed is acceptable.
   514                        format: date-time
   515                        type: string
   516                      message:
   517                        description: |-
   518                          A human readable message indicating details about the transition.
   519                          This field may be empty.
   520                        type: string
   521                      reason:
   522                        description: |-
   523                          The reason for the condition's last transition in CamelCase.
   524                          The specific API may choose whether or not this field is considered a guaranteed API.
   525                          This field may not be empty.
   526                        type: string
   527                      severity:
   528                        description: |-
   529                          Severity provides an explicit classification of Reason code, so the users or machines can immediately
   530                          understand the current situation and act accordingly.
   531                          The Severity field MUST be set only when Status=False.
   532                        type: string
   533                      status:
   534                        description: Status of the condition, one of True, False, Unknown.
   535                        type: string
   536                      type:
   537                        description: |-
   538                          Type of condition in CamelCase or in foo.example.com/CamelCase.
   539                          Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
   540                          can be useful (see .node.status.conditions), the ability to deconflict is important.
   541                        type: string
   542                    required:
   543                    - status
   544                    - type
   545                    type: object
   546                  type: array
   547                currentHealthy:
   548                  description: total number of healthy machines counted by this machine
   549                    health check
   550                  format: int32
   551                  minimum: 0
   552                  type: integer
   553                expectedMachines:
   554                  description: total number of machines counted by this machine health
   555                    check
   556                  format: int32
   557                  minimum: 0
   558                  type: integer
   559                observedGeneration:
   560                  description: ObservedGeneration is the latest generation observed
   561                    by the controller.
   562                  format: int64
   563                  type: integer
   564                remediationsAllowed:
   565                  description: |-
   566                    RemediationsAllowed is the number of further remediations allowed by this machine health check before
   567                    maxUnhealthy short circuiting will be applied
   568                  format: int32
   569                  minimum: 0
   570                  type: integer
   571                targets:
   572                  description: Targets shows the current list of machines the machine
   573                    health check is watching
   574                  items:
   575                    type: string
   576                  type: array
   577              type: object
   578          type: object
   579      served: false
   580      storage: false
   581      subresources:
   582        status: {}
   583    - additionalPrinterColumns:
   584      - description: Cluster
   585        jsonPath: .spec.clusterName
   586        name: Cluster
   587        type: string
   588      - description: Number of machines currently monitored
   589        jsonPath: .status.expectedMachines
   590        name: ExpectedMachines
   591        type: integer
   592      - description: Maximum number of unhealthy machines allowed
   593        jsonPath: .spec.maxUnhealthy
   594        name: MaxUnhealthy
   595        type: string
   596      - description: Current observed healthy machines
   597        jsonPath: .status.currentHealthy
   598        name: CurrentHealthy
   599        type: integer
   600      - description: Time duration since creation of MachineHealthCheck
   601        jsonPath: .metadata.creationTimestamp
   602        name: Age
   603        type: date
   604      name: v1beta1
   605      schema:
   606        openAPIV3Schema:
   607          description: MachineHealthCheck is the Schema for the machinehealthchecks
   608            API.
   609          properties:
   610            apiVersion:
   611              description: |-
   612                APIVersion defines the versioned schema of this representation of an object.
   613                Servers should convert recognized schemas to the latest internal value, and
   614                may reject unrecognized values.
   615                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   616              type: string
   617            kind:
   618              description: |-
   619                Kind is a string value representing the REST resource this object represents.
   620                Servers may infer this from the endpoint the client submits requests to.
   621                Cannot be updated.
   622                In CamelCase.
   623                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   624              type: string
   625            metadata:
   626              type: object
   627            spec:
   628              description: Specification of machine health check policy
   629              properties:
   630                clusterName:
   631                  description: ClusterName is the name of the Cluster this object belongs
   632                    to.
   633                  minLength: 1
   634                  type: string
   635                maxUnhealthy:
   636                  anyOf:
   637                  - type: integer
   638                  - type: string
   639                  description: |-
   640                    Any further remediation is only allowed if at most "MaxUnhealthy" machines selected by
   641                    "selector" are not healthy.
   642                  x-kubernetes-int-or-string: true
   643                nodeStartupTimeout:
   644                  description: |-
   645                    Machines older than this duration without a node will be considered to have
   646                    failed and will be remediated.
   647                    If not set, this value is defaulted to 10 minutes.
   648                    If you wish to disable this feature, set the value explicitly to 0.
   649                  type: string
   650                remediationTemplate:
   651                  description: |-
   652                    RemediationTemplate is a reference to a remediation template
   653                    provided by an infrastructure provider.
   654  
   655  
   656                    This field is completely optional, when filled, the MachineHealthCheck controller
   657                    creates a new object from the template referenced and hands off remediation of the machine to
   658                    a controller that lives outside of Cluster API.
   659                  properties:
   660                    apiVersion:
   661                      description: API version of the referent.
   662                      type: string
   663                    fieldPath:
   664                      description: |-
   665                        If referring to a piece of an object instead of an entire object, this string
   666                        should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   667                        For example, if the object reference is to a container within a pod, this would take on a value like:
   668                        "spec.containers{name}" (where "name" refers to the name of the container that triggered
   669                        the event) or if no container name is specified "spec.containers[2]" (container with
   670                        index 2 in this pod). This syntax is chosen only to have some well-defined way of
   671                        referencing a part of an object.
   672                        TODO: this design is not final and this field is subject to change in the future.
   673                      type: string
   674                    kind:
   675                      description: |-
   676                        Kind of the referent.
   677                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   678                      type: string
   679                    name:
   680                      description: |-
   681                        Name of the referent.
   682                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   683                      type: string
   684                    namespace:
   685                      description: |-
   686                        Namespace of the referent.
   687                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
   688                      type: string
   689                    resourceVersion:
   690                      description: |-
   691                        Specific resourceVersion to which this reference is made, if any.
   692                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   693                      type: string
   694                    uid:
   695                      description: |-
   696                        UID of the referent.
   697                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
   698                      type: string
   699                  type: object
   700                  x-kubernetes-map-type: atomic
   701                selector:
   702                  description: Label selector to match machines whose health will be
   703                    exercised
   704                  properties:
   705                    matchExpressions:
   706                      description: matchExpressions is a list of label selector requirements.
   707                        The requirements are ANDed.
   708                      items:
   709                        description: |-
   710                          A label selector requirement is a selector that contains values, a key, and an operator that
   711                          relates the key and values.
   712                        properties:
   713                          key:
   714                            description: key is the label key that the selector applies
   715                              to.
   716                            type: string
   717                          operator:
   718                            description: |-
   719                              operator represents a key's relationship to a set of values.
   720                              Valid operators are In, NotIn, Exists and DoesNotExist.
   721                            type: string
   722                          values:
   723                            description: |-
   724                              values is an array of string values. If the operator is In or NotIn,
   725                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
   726                              the values array must be empty. This array is replaced during a strategic
   727                              merge patch.
   728                            items:
   729                              type: string
   730                            type: array
   731                        required:
   732                        - key
   733                        - operator
   734                        type: object
   735                      type: array
   736                    matchLabels:
   737                      additionalProperties:
   738                        type: string
   739                      description: |-
   740                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   741                        map is equivalent to an element of matchExpressions, whose key field is "key", the
   742                        operator is "In", and the values array contains only "value". The requirements are ANDed.
   743                      type: object
   744                  type: object
   745                  x-kubernetes-map-type: atomic
   746                unhealthyConditions:
   747                  description: |-
   748                    UnhealthyConditions contains a list of the conditions that determine
   749                    whether a node is considered unhealthy.  The conditions are combined in a
   750                    logical OR, i.e. if any of the conditions is met, the node is unhealthy.
   751                  items:
   752                    description: |-
   753                      UnhealthyCondition represents a Node condition type and value with a timeout
   754                      specified as a duration.  When the named condition has been in the given
   755                      status for at least the timeout value, a node is considered unhealthy.
   756                    properties:
   757                      status:
   758                        minLength: 1
   759                        type: string
   760                      timeout:
   761                        type: string
   762                      type:
   763                        minLength: 1
   764                        type: string
   765                    required:
   766                    - status
   767                    - timeout
   768                    - type
   769                    type: object
   770                  minItems: 1
   771                  type: array
   772                unhealthyRange:
   773                  description: |-
   774                    Any further remediation is only allowed if the number of machines selected by "selector" as not healthy
   775                    is within the range of "UnhealthyRange". Takes precedence over MaxUnhealthy.
   776                    Eg. "[3-5]" - This means that remediation will be allowed only when:
   777                    (a) there are at least 3 unhealthy machines (and)
   778                    (b) there are at most 5 unhealthy machines
   779                  pattern: ^\[[0-9]+-[0-9]+\]$
   780                  type: string
   781              required:
   782              - clusterName
   783              - selector
   784              - unhealthyConditions
   785              type: object
   786            status:
   787              description: Most recently observed status of MachineHealthCheck resource
   788              properties:
   789                conditions:
   790                  description: Conditions defines current service state of the MachineHealthCheck.
   791                  items:
   792                    description: Condition defines an observation of a Cluster API resource
   793                      operational state.
   794                    properties:
   795                      lastTransitionTime:
   796                        description: |-
   797                          Last time the condition transitioned from one status to another.
   798                          This should be when the underlying condition changed. If that is not known, then using the time when
   799                          the API field changed is acceptable.
   800                        format: date-time
   801                        type: string
   802                      message:
   803                        description: |-
   804                          A human readable message indicating details about the transition.
   805                          This field may be empty.
   806                        type: string
   807                      reason:
   808                        description: |-
   809                          The reason for the condition's last transition in CamelCase.
   810                          The specific API may choose whether or not this field is considered a guaranteed API.
   811                          This field may not be empty.
   812                        type: string
   813                      severity:
   814                        description: |-
   815                          Severity provides an explicit classification of Reason code, so the users or machines can immediately
   816                          understand the current situation and act accordingly.
   817                          The Severity field MUST be set only when Status=False.
   818                        type: string
   819                      status:
   820                        description: Status of the condition, one of True, False, Unknown.
   821                        type: string
   822                      type:
   823                        description: |-
   824                          Type of condition in CamelCase or in foo.example.com/CamelCase.
   825                          Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
   826                          can be useful (see .node.status.conditions), the ability to deconflict is important.
   827                        type: string
   828                    required:
   829                    - lastTransitionTime
   830                    - status
   831                    - type
   832                    type: object
   833                  type: array
   834                currentHealthy:
   835                  description: total number of healthy machines counted by this machine
   836                    health check
   837                  format: int32
   838                  minimum: 0
   839                  type: integer
   840                expectedMachines:
   841                  description: total number of machines counted by this machine health
   842                    check
   843                  format: int32
   844                  minimum: 0
   845                  type: integer
   846                observedGeneration:
   847                  description: ObservedGeneration is the latest generation observed
   848                    by the controller.
   849                  format: int64
   850                  type: integer
   851                remediationsAllowed:
   852                  description: |-
   853                    RemediationsAllowed is the number of further remediations allowed by this machine health check before
   854                    maxUnhealthy short circuiting will be applied
   855                  format: int32
   856                  minimum: 0
   857                  type: integer
   858                targets:
   859                  description: Targets shows the current list of machines the machine
   860                    health check is watching
   861                  items:
   862                    type: string
   863                  type: array
   864              type: object
   865          type: object
   866      served: true
   867      storage: true
   868      subresources:
   869        status: {}