1 /* 2 * Copyright 2004-2023 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_ROLES__H 11 # define PCMK__CRM_COMMON_ROLES__H 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 /*! 18 * \file 19 * \brief Scheduler API for resource roles 20 * \ingroup core 21 */ 22 23 /*! 24 * Possible roles that a resource can be in 25 * (order matters; values can be compared with less than and greater than) 26 */ 27 enum rsc_role_e { 28 pcmk_role_unknown = 0, //!< Resource role is unknown 29 pcmk_role_stopped = 1, //!< Stopped 30 pcmk_role_started = 2, //!< Started 31 pcmk_role_unpromoted = 3, //!< Unpromoted 32 pcmk_role_promoted = 4, //!< Promoted 33 34 #if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1) 35 //! \deprecated Use pcmk_role_unknown instead 36 RSC_ROLE_UNKNOWN = pcmk_role_unknown, 37 38 //! \deprecated Use pcmk_role_stopped instead 39 RSC_ROLE_STOPPED = pcmk_role_stopped, 40 41 //! \deprecated Use pcmk_role_started instead 42 RSC_ROLE_STARTED = pcmk_role_started, 43 44 //! \deprecated Use pcmk_role_unpromoted instead 45 RSC_ROLE_UNPROMOTED = pcmk_role_unpromoted, 46 47 //! \deprecated Use pcmk_role_unpromoted instead 48 RSC_ROLE_SLAVE = pcmk_role_unpromoted, 49 50 //! \deprecated Use pcmk_role_promoted instead 51 RSC_ROLE_PROMOTED = pcmk_role_promoted, 52 53 //! \deprecated Use pcmk_role_promoted instead 54 RSC_ROLE_MASTER = pcmk_role_promoted, 55 #endif 56 }; 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif // PCMK__CRM_COMMON_ROLES__H