This source file includes following definitions.
- pcmk__validate_health_strategy
- pcmk__parse_health_strategy
1
2
3
4
5
6
7
8
9
10 #include <crm_internal.h>
11
12
13
14
15
16
17
18
19
20 bool
21 pcmk__validate_health_strategy(const char *value)
22 {
23 return pcmk__strcase_any_of(value,
24 PCMK_VALUE_NONE,
25 PCMK_VALUE_CUSTOM,
26 PCMK_VALUE_ONLY_GREEN,
27 PCMK_VALUE_PROGRESSIVE,
28 PCMK_VALUE_MIGRATE_ON_RED,
29 NULL);
30 }
31
32
33
34
35
36
37
38
39
40 enum pcmk__health_strategy
41 pcmk__parse_health_strategy(const char *value)
42 {
43 if (pcmk__str_eq(value, PCMK_VALUE_NONE,
44 pcmk__str_null_matches|pcmk__str_casei)) {
45 return pcmk__health_strategy_none;
46 }
47 if (pcmk__str_eq(value, PCMK_VALUE_MIGRATE_ON_RED, pcmk__str_casei)) {
48 return pcmk__health_strategy_no_red;
49 }
50 if (pcmk__str_eq(value, PCMK_VALUE_ONLY_GREEN, pcmk__str_casei)) {
51 return pcmk__health_strategy_only_green;
52 }
53 if (pcmk__str_eq(value, PCMK_VALUE_PROGRESSIVE, pcmk__str_casei)) {
54 return pcmk__health_strategy_progressive;
55 }
56 if (pcmk__str_eq(value, PCMK_VALUE_CUSTOM, pcmk__str_casei)) {
57 return pcmk__health_strategy_custom;
58 } else {
59 pcmk__config_err("Using default of \"" PCMK_VALUE_NONE "\" for "
60 PCMK_OPT_NODE_HEALTH_STRATEGY
61 " because '%s' is not a valid value",
62 value);
63 return pcmk__health_strategy_none;
64 }
65 }