pacemaker  3.0.0-d8340737c4
Scalable High-Availability cluster resource manager
pcmki_fence.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019-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 #ifndef PCMK__PCMKI_PCMKI_FENCE__H
10 #define PCMK__PCMKI_PCMKI_FENCE__H
11 
12 #include <crm/stonith-ng.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
26 };
27 
53 int pcmk__request_fencing(stonith_t *st, const char *target, const char *action,
54  const char *name, unsigned int timeout,
55  unsigned int tolerance, int delay, char **reason);
56 
77 int pcmk__fence_history(pcmk__output_t *out, stonith_t *st, const char *target,
78  unsigned int timeout, int verbose, bool broadcast,
79  bool cleanup);
80 
97 int pcmk__fence_installed(pcmk__output_t *out, stonith_t *st, unsigned int timeout);
98 
115 int pcmk__fence_last(pcmk__output_t *out, const char *target, bool as_nodeid);
116 
135  const char *device_id, unsigned int timeout);
136 
154 int pcmk__fence_metadata(pcmk__output_t *out, stonith_t *st, const char *agent,
155  unsigned int timeout);
156 
175  const char *target, unsigned int timeout);
176 
196  int fence_level, GList *devices);
197 
216  int fence_level);
217 
237 int pcmk__fence_validate(pcmk__output_t *out, stonith_t *st, const char *agent,
238  const char *id, GHashTable *params, unsigned int timeout);
239 
249 int
251  enum pcmk__fence_history fence_history);
252 
253 #ifdef __cplusplus
254 }
255 #endif
256 
257 #endif // PCMK__PCMKI_PCMKI_FENCE__H
int pcmk__fence_last(pcmk__output_t *out, const char *target, bool as_nodeid)
When was a device last fenced?
Definition: pcmk_fence.c:398
const char * name
Definition: cib.c:26
int pcmk__fence_unregister_level(stonith_t *st, const char *target, int fence_level)
Unregister a fencing level for specific node, node regex, or attribute.
Definition: pcmk_fence.c:593
pcmk__fence_history
Control how much of the fencing history is output.
Definition: pcmki_fence.h:22
int pcmk__fence_registered(pcmk__output_t *out, stonith_t *st, const char *target, unsigned int timeout)
List registered fence devices.
Definition: pcmk_fence.c:517
const char * action
Definition: pcmk_fence.c:32
Formatted output for pacemaker tools.
stonith_t * st
Definition: pcmk_fence.c:30
unsigned int tolerance
Definition: pcmk_fence.c:35
int pcmk__fence_list_targets(pcmk__output_t *out, stonith_t *st, const char *device_id, unsigned int timeout)
List nodes that can be fenced.
Definition: pcmk_fence.c:434
int pcmk__request_fencing(stonith_t *st, const char *target, const char *action, const char *name, unsigned int timeout, unsigned int tolerance, int delay, char **reason)
Ask the cluster to perform fencing.
Definition: pcmk_fence.c:195
const char * target
Definition: pcmk_fence.c:31
int pcmk__fence_validate(pcmk__output_t *out, stonith_t *st, const char *agent, const char *id, GHashTable *params, unsigned int timeout)
Validate a fence device configuration.
Definition: pcmk_fence.c:619
int delay
Definition: pcmk_fence.c:36
int pcmk__fence_installed(pcmk__output_t *out, stonith_t *st, unsigned int timeout)
List all installed fence agents.
Definition: pcmk_fence.c:354
Fencing aka. STONITH.
This structure contains everything that makes up a single output formatter.
int pcmk__get_fencing_history(stonith_t *st, stonith_history_t **stonith_history, enum pcmk__fence_history fence_history)
Fetch fencing history, optionally reducing it.
Definition: pcmk_fence.c:654
int pcmk__fence_register_level(stonith_t *st, const char *target, int fence_level, GList *devices)
Register a fencing level for a specific node, node regex, or attribute.
Definition: pcmk_fence.c:565
unsigned int timeout
Definition: pcmk_fence.c:34
int pcmk__fence_metadata(pcmk__output_t *out, stonith_t *st, const char *agent, unsigned int timeout)
Get metadata for a fence agent.
Definition: pcmk_fence.c:480