root/include/crm/common/health_internal.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright 2022 the Pacemaker project contributors
   3  *
   4  * The version control history for this file may have further details.
   5  *
   6  * This source code is licensed under the GNU Lesser General Public License
   7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
   8  */
   9 
  10 #ifndef PCMK__CRM_COMMON_HEALTH_INTERNAL__H
  11 #define PCMK__CRM_COMMON_HEALTH_INTERNAL__H
  12 
  13 #include <stdbool.h>                    // bool
  14 
  15 #include <crm/common/scheduler_types.h> // pcmk_scheduler_t
  16  
  17 #ifdef __cplusplus
  18 extern "C" {
  19 #endif
  20 
  21 /*!
  22  * \internal
  23  * \brief Possible node health strategies
  24  *
  25  * \note It would be nice to use this in pcmk_scheduler_t but that will have to
  26  *       wait for an API backward compatibility break.
  27  */
  28 enum pcmk__health_strategy {
  29     pcmk__health_strategy_none,
  30     pcmk__health_strategy_no_red,
  31     pcmk__health_strategy_only_green,
  32     pcmk__health_strategy_progressive,
  33     pcmk__health_strategy_custom,
  34 };
  35 
  36 bool pcmk__validate_health_strategy(const char *value);
  37 
  38 enum pcmk__health_strategy pcmk__parse_health_strategy(const char *value);
  39 
  40 int pcmk__health_score(const char *option, const pcmk_scheduler_t *scheduler);
  41 
  42 #ifdef __cplusplus
  43 }
  44 #endif
  45 
  46 #endif // PCMK__CRM_COMMON_HEALTH_INTERNAL__H

/* [previous][next][first][last][top][bottom][index][help] */