root/include/crm/common/agents.h

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

INCLUDED FROM


   1 /*
   2  * Copyright 2017-2021 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_AGENTS__H
  11 #  define PCMK__CRM_COMMON_AGENTS__H
  12 
  13 #ifdef __cplusplus
  14 extern "C" {
  15 #endif
  16 
  17 /**
  18  * \file
  19  * \brief API related to resource agents
  20  * \ingroup core
  21  */
  22 
  23 #include <stdint.h>       // uint32_t
  24 #include <stdbool.h>
  25 
  26 /* Special stonith-class agent parameters interpreted directly by Pacemaker
  27  * (not including the pcmk_ACTION_{action,retries,timeout} parameters)
  28  */
  29 #define PCMK_STONITH_ACTION_LIMIT       "pcmk_action_limit"
  30 #define PCMK_STONITH_DELAY_BASE         "pcmk_delay_base"
  31 #define PCMK_STONITH_DELAY_MAX          "pcmk_delay_max"
  32 #define PCMK_STONITH_HOST_ARGUMENT      "pcmk_host_argument"
  33 #define PCMK_STONITH_HOST_CHECK         "pcmk_host_check"
  34 #define PCMK_STONITH_HOST_LIST          "pcmk_host_list"
  35 #define PCMK_STONITH_HOST_MAP           "pcmk_host_map"
  36 #define PCMK_STONITH_PROVIDES           "provides"
  37 #define PCMK_STONITH_STONITH_TIMEOUT    "stonith-timeout"
  38 
  39 // OCF Resource Agent API standard version that this Pacemaker supports
  40 #define PCMK_OCF_MAJOR_VERSION "1"
  41 #define PCMK_OCF_MINOR_VERSION "1"
  42 #define PCMK_OCF_VERSION       PCMK_OCF_MAJOR_VERSION "." PCMK_OCF_MINOR_VERSION
  43 
  44 // Capabilities supported by a resource agent standard
  45 enum pcmk_ra_caps {
  46     pcmk_ra_cap_none         = 0,
  47     pcmk_ra_cap_provider     = (1 << 0), // Requires provider
  48     pcmk_ra_cap_status       = (1 << 1), // Supports status instead of monitor
  49     pcmk_ra_cap_params       = (1 << 2), // Supports parameters
  50     pcmk_ra_cap_unique       = (1 << 3), // Supports unique clones
  51     pcmk_ra_cap_promotable   = (1 << 4), // Supports promotable clones
  52     pcmk_ra_cap_stdin        = (1 << 5), // Reads from standard input
  53     pcmk_ra_cap_fence_params = (1 << 6), // Supports pcmk_monitor_timeout, etc.
  54 };
  55 
  56 uint32_t pcmk_get_ra_caps(const char *standard);
  57 char *crm_generate_ra_key(const char *standard, const char *provider,
  58                           const char *type);
  59 int crm_parse_agent_spec(const char *spec, char **standard, char **provider,
  60                          char **type);
  61 bool pcmk_stonith_param(const char *param);
  62 
  63 #if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
  64 #include <crm/common/agents_compat.h>
  65 #endif
  66 
  67 #ifdef __cplusplus
  68 }
  69 #endif
  70 
  71 #endif // PCMK__CRM_COMMON_AGENTS__H

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