pacemaker 2.1.8-2.1.8
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
location_internal.h
Go to the documentation of this file.
1/*
2 * Copyright 2004-2024 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_LOCATION_INTERNAL__H
11#define PCMK__CRM_COMMON_LOCATION_INTERNAL__H
12
13#include <glib.h> // GList
14
15#include <crm/common/nodes.h> // enum pe_discover_e
16#include <crm/common/resources.h> // enum rsc_role_e
17#include <crm/common/scheduler_types.h> // pcmk_resource_t
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
24typedef struct {
25 char *id; // XML ID of location constraint
26 pcmk_resource_t *rsc; // Resource with location preference
27 enum rsc_role_e role_filter; // Limit to instances with this role
28 enum pe_discover_e discover_mode; // How to probe resource on node
29 GList *nodes; // Affected nodes, with preference score
31
32#ifdef __cplusplus
33}
34#endif
35
36#endif // PCMK__CRM_COMMON_LOCATION_INTERNAL__H
Scheduler API for nodes.
pe_discover_e
Definition nodes.h:54
Scheduler API for resources.
rsc_role_e
Definition roles.h:34
Type aliases needed to define scheduler objects.
Location constraint object.
enum pe_discover_e discover_mode
enum rsc_role_e role_filter
pcmk_resource_t * rsc