diff --git a/etc/sysconfig/pacemaker.in b/etc/sysconfig/pacemaker.in
index 37ece9c85c..e4cc22a1df 100644
--- a/etc/sysconfig/pacemaker.in
+++ b/etc/sysconfig/pacemaker.in
@@ -1,385 +1,418 @@
 #
 # Pacemaker start-up configuration
 #
 # This file contains environment variables that affect Pacemaker behavior.
 # They are not options stored in the Cluster Information Base (CIB) because
 # they may be needed before the CIB is available.
 #
 
 
 ## Logging
 
 # PCMK_logfacility
 #
 # Enable logging via the system log or journal, using the specified log
 # facility. Messages sent here are of value to all Pacemaker administrators.
 # This can be disabled using "none", but that is not recommended. Allowed
 # values:
 #
 #  none
 #  daemon
 #  user
 #  local0
 #  local1
 #  local2
 #  local3
 #  local4
 #  local5
 #  local6
 #  local7
 #
 # Default: PCMK_logfacility="daemon"
 
 # PCMK_logpriority
 #
 # Unless system logging is disabled using PCMK_logfacility=none, messages of
 # the specified log severity and higher will be sent to the system log. The
 # default is appropriate for most installations. Allowed values:
 #
 #  emerg
 #  alert
 #  crit
 #  error
 #  warning
 #  notice
 #  info
 #  debug
 #
 # Default: PCMK_logpriority="notice"
 
 # PCMK_logfile
 #
 # Unless set to "none", more detailed log messages will be sent to the
 # specified file (in addition to the system log, if enabled). These messages
 # may have extended information, and will include messages of info severity.
 # This log is of more use to developers and advanced system administrators, and
 # when reporting problems.
 #
 # Default: PCMK_logfile="@CRM_LOG_DIR@/pacemaker.log"
 
 # PCMK_logfile_mode
 #
 # Pacemaker will set the permissions on the detail log to this value (see
 # chmod(1)).
 #
 # Default: PCMK_logfile_mode="0660"
 
 # PCMK_debug (Advanced Use Only)
 #
 # Whether to send debug severity messages to the detail log.
 # This may be set for all subsystems (yes or no) or for specific
 # (comma-separated) subsystems. Allowed subsystems are:
 #
 #  pacemakerd
 #  pacemaker-attrd
 #  pacemaker-based
 #  pacemaker-controld
 #  pacemaker-execd
 #  pacemaker-fenced
 #  pacemaker-schedulerd
 #
 # Default: PCMK_debug="no"
 # Example: PCMK_debug="pacemakerd,pacemaker-execd"
 
 # PCMK_stderr (Advanced Use Only)
 #
 # Whether to send daemon log messages to stderr. This would be useful only
 # during troubleshooting, when starting Pacemaker manually on the command line.
 #
 # Setting this option in this file is pointless, since this file is not read
 # when starting Pacemaker manually. However, it can be set directly as an
 # environment variable on the command line.
 #
 # Default: PCMK_stderr="no"
 
 # PCMK_trace_functions (Advanced Use Only)
 #
 # Send debug and trace severity messages from these (comma-separated)
 # source code functions to the detail log.
 #
 # Default: PCMK_trace_functions=""
 # Example: PCMK_trace_functions="unpack_colocation_set,pcmk__cmp_instance"
 
 # PCMK_trace_files (Advanced Use Only)
 #
 # Send debug and trace severity messages from all functions in these
 # (comma-separated) source file names to the detail log.
 #
 # Default: PCMK_trace_files=""
 # Example: PCMK_trace_files="remote.c,watchdog.c"
 
 # PCMK_trace_formats (Advanced Use Only)
 #
 # Send trace severity messages that are generated by these (comma-separated)
 # format strings in the source code to the detail log.
 #
 # Default: PCMK_trace_formats=""
 # Example: PCMK_trace_formats="TLS handshake failed: %s (%d)"
 
 # PCMK_trace_tags (Advanced Use Only)
 #
 # Send debug and trace severity messages related to these (comma-separated)
 # resource IDs to the detail log.
 #
 # Default: PCMK_trace_tags=""
 # Example: PCMK_trace_tags="client-ip,dbfs"
 
 # PCMK_blackbox (Advanced Use Only)
 #
 # Enable blackbox logging globally (yes or no) or by subsystem. A blackbox
 # contains a rolling buffer of all logs (of all severities). Blackboxes are
 # stored under @CRM_BLACKBOX_DIR@ by default, and their contents can
 # be viewed using the qb-blackbox(8) command.
 #
 # The blackbox recorder can be enabled at start using this variable, or at
 # runtime by sending a Pacemaker subsystem daemon process a SIGUSR1 or SIGTRAP
 # signal, and disabled by sending SIGUSR2 (see kill(1)). The blackbox will be
 # written after a crash, assertion failure, or SIGTRAP signal.
 #
 # Default: PCMK_blackbox="no"
 # Example: PCMK_blackbox="pacemaker-controld,pacemaker-fenced"
 
 # PCMK_trace_blackbox (Advanced Use Only)
 #
 # Write a blackbox whenever the message at the specified function and line is
 # logged. Multiple entries may be comma-separated.
 #
 # Default: PCMK_trace_blackbox=""
 # Example: PCMK_trace_blackbox="remote.c:144,remote.c:149"
 
 
 ## Option overrides
 
 # PCMK_node_start_state
 #
 # By default, the local host will join the cluster in an online or standby
 # state when Pacemaker first starts depending on whether it was previously put
 # into standby mode. If this variable is set to "standby" or "online", it will
 # force the local host to join in the specified state.
 #
 # Default: PCMK_node_start_state="default"
 
 # PCMK_node_action_limit
 #
 # If set, this overrides the node-action-limit cluster option for this node to
 # specify the maximum number of jobs that can be scheduled on this node (or 0
 # to use twice the number of CPU cores).
 #
 # Default: unset
 # Example: PCMK_node_action_limit="1"
 
 
 ## Crash Handling
 
 # PCMK_fail_fast
 #
 # By default, if a Pacemaker subsystem crashes, the main pacemakerd process
 # will attempt to restart it. If this variable is set to "yes", pacemakerd
 # will panic the local host instead.
 #
 # Default: PCMK_fail_fast="no"
 
 # PCMK_panic_action
 #
 # Pacemaker panics the local node under certain conditions (for example, losing
 # quorum when no-quorum-policy is "suicide", or being notified of the local
 # node's own fencing when fence-reaction is "panic"). This variable determines
 # the panic behavior. Allowed values:
 #
 # reboot   Immediately reboot the host (not a clean reboot)
 # off      Immediately kill power to the host (not a clean shutdown)
 # crash    Trigger a kernel crash if possible, otherwise like reboot
 # sync-reboot, sync-off, sync-crash
 # 	   "sync-" can be put in front of any of the above values to synchronize
 #          filesystems before panicking (making log messages more likely to be
 #          preserved, but with the risk that the host may be left active if the
 #          synchronization hangs)
 #
 # Default: PCMK_panic_action="reboot"
 
 
-## Pacemaker Remote
+## Pacemaker Remote and remote CIB administration
 
 # PCMK_authkey_location
 #
 # Use the contents of this file as the authorization key to use with Pacemaker
 # Remote connections. This file must be readable by Pacemaker daemons (that is,
 # it must allow read permissions to either the @CRM_DAEMON_USER@ user or the
 # @CRM_DAEMON_GROUP@ group), and its contents must be identical on all nodes.
 #
 # Default: PCMK_authkey_location="@PACEMAKER_CONFIG_DIR@/authkey"
 
 # PCMK_remote_address
 #
 # By default, if the Pacemaker Remote service is run on the local node, it will
 # listen for connections on all IP addresses. This may be set to one address to
 # listen on instead, as a resolvable hostname or as a numeric IPv4 or IPv6
 # address. When resolving names or listening on all addresses, IPv6 will be
 # preferred if available. When listening on an IPv6 address, IPv4 clients will
 # be supported via IPv4-mapped IPv6 addresses.
 #
 # Default: PCMK_remote_address=""
 # Example: PCMK_remote_address="192.0.2.1"
 
 # PCMK_remote_port
 #
 # Use this TCP port number for Pacemaker Remote node connections. This value
 # must be the same on all nodes.
 #
 # Default: PCMK_remote_port="3121"
 
+# PCMK_ca_file
+#
+# The location of a file containing trusted Certificate Authorities, used to
+# verify client or server certificates.  This file should be in PEM format.
+# If set, along with PCMK_key_file and PCMK_cert_file, X509 authentication
+# will be enabled for remote CIB connections.
+#
+# Default: PCMK_ca_file=""
+
+# PCMK_cert_file
+#
+# The location of a file containing the signed certificate for the server
+# (CIB manager) side of the connection, in PEM format.  If set, along with
+# PCMK_ca_file and PCMK_key_file, X509 authentication will be enabled for
+# remote CIB connections.
+#
+# Default: PCMK_cert_file=""
+
+# PCMK_crl_file
+#
+# The location of a Certificate Revocation List file, in PEM format.  This
+# setting is optional for X509 authentication.
+#
+# Default: PCMK_crl_file=""
+
+# PCMK_key_file
+#
+# The location of a file containing the private key for the matching PCMK_cert_file,
+# in PEM format.  If set, along with PCMK_ca_file and PCMK_cert_file, X509
+# authentication will be enabled for remote CIB connections.
+#
+# Default: PCMK_key_file=""
+
 # PCMK_remote_pid1 (Advanced Use Only)
 #
 # When a bundle resource's "run-command" option is left to default, Pacemaker
 # Remote runs as PID 1 in the bundle's containers. When it does so, it loads
 # environment variables from the container's
 # @PACEMAKER_CONFIG_DIR@/pcmk-init.env and performs the PID 1 responsibility of
 # reaping dead subprocesses.
 #
 # This option controls whether those actions are performed when Pacemaker
 # Remote is not running as PID 1. It is intended primarily for developer testing
 # but can be useful when "run-command" is set to a separate, custom PID 1
 # process that launches Pacemaker Remote.
 #
 # * If set to "full", Pacemaker Remote loads environment variables from
 #   @PACEMAKER_CONFIG_DIR@/pcmk-init.env and reaps dead subprocesses.
 # * If set to "vars", Pacemaker Remote loads environment variables from
 #   @PACEMAKER_CONFIG_DIR@/pcmk-init.env but does not reap dead subprocesses.
 # * If set to "default", Pacemaker Remote performs neither action.
 #
 # If Pacemaker Remote is running as PID 1, this option is ignored, and the
 # behavior is the same as for "full".
 #
 # Default: PCMK_remote_pid1="default"
 
 # PCMK_tls_priorities (Advanced Use Only)
 #
 # These GnuTLS cipher priorities will be used for TLS connections (whether for
 # Pacemaker Remote connections or remote CIB access, when enabled). See:
 #
 #   https://gnutls.org/manual/html_node/Priority-Strings.html
 #
 # Pacemaker will append ":+ANON-DH" for remote CIB access and ":+DHE-PSK:+PSK"
 # for Pacemaker Remote connections, as they are required for the respective
 # functionality.
 #
 # Default: PCMK_tls_priorities="@PCMK__GNUTLS_PRIORITIES@"
 # Example: PCMK_tls_priorities="SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2"
 
 # PCMK_dh_max_bits (Advanced Use Only)
 #
 # Set an upper bound on the bit length of the prime number generated for
 # Diffie-Hellman parameters needed by TLS connections. The default is no
 # maximum.
 #
 # The server (Pacemaker Remote daemon, or CIB manager configured to accept
 # remote clients) will use this value to provide a ceiling for the value
 # recommended by the GnuTLS library. The library will only accept a limited
 # number of specific values, which vary by library version, so setting these is
 # recommended only when required for compatibility with specific client
 # versions.
 #
 # Clients do not use PCMK_dh_max_bits.
 #
 # Default: PCMK_dh_max_bits="0" (no maximum)
 
 
 ## Inter-process Communication
 
 # PCMK_ipc_type (Advanced Use Only)
 #
 # Force use of a particular IPC method. Allowed values:
 #
 #  shared-mem
 #  socket
 #  posix
 #  sysv
 #
 # Default: PCMK_ipc_type="shared-mem"
 
 # PCMK_ipc_buffer (Advanced Use Only)
 #
 # Specify an IPC buffer size in bytes. This can be useful when connecting to
 # large clusters that result in messages exceeding the default size (which will
 # also result in log messages referencing this variable).
 #
 # Default: PCMK_ipc_buffer="131072"
 
 
 ## Cluster type
 
 # PCMK_cluster_type (Advanced Use Only)
 #
 # Specify the cluster layer to be used. If unset, Pacemaker will detect and use
 # a supported cluster layer, if available. Currently, "corosync" is the only
 # supported cluster layer. If multiple layers are supported in the future, this
 # will allow overriding Pacemaker's automatic detection to select a specific
 # one.
 #
 # Default: PCMK_cluster_type=""
 
 
 ## Developer Options
 
 # PCMK_schema_directory (Advanced Use Only)
 #
 # Specify an alternate location for RNG schemas and XSL transforms.
 #
 # Default: PCMK_schema_directory="@PCMK_SCHEMA_DIR@"
 
 # PCMK_remote_schema_directory (Advanced Use Only)
 #
 # Specify an alternate location on Pacemaker Remote nodes for storing newer
 # RNG schemas and XSL transforms fetched from the cluster.
 #
 # Default: PCMK_remote_schema_directory="@PCMK__REMOTE_SCHEMA_DIR@"
 
 # G_SLICE (Advanced Use Only)
 #
 # Affect the behavior of glib's memory allocator. Setting to "always-malloc"
 # when running under valgrind will help valgrind track malloc/free better;
 # setting to "debug-blocks" when not running under valgrind will perform
 # (somewhat expensive) memory checks.
 #
 # Default: G_SLICE=""
 # Example: G_SLICE="always-malloc"
 
 # MALLOC_PERTURB_ (Advanced Use Only)
 #
 # Setting this to a decimal byte value will make malloc() initialize newly
 # allocated memory and free() wipe it, to help catch uninitialized-memory and
 # use-after-free bugs.
 #
 # Default: MALLOC_PERTURB_=""
 # Example: MALLOC_PERTURB_="221"
 
 # MALLOC_CHECK_ (Advanced Use Only)
 #
 # Setting this to 3 will make malloc() and friends print to stderr and abort
 # for some (inexpensive) memory checks.
 #
 # Default: MALLOC_CHECK_=""
 # Example: MALLOC_CHECK_="3"
 
 # PCMK_valgrind_enabled (Advanced Use Only)
 #
 # Whether subsystem daemons should be run under valgrind. Allowed values are
 # the same as for PCMK_debug.
 #
 # Default: PCMK_valgrind_enabled="no"
 
 # PCMK_callgrind_enabled
 #
 # Whether subsystem daemons should be run under valgrind with the callgrind
 # tool enabled. Allowed values are the same as for PCMK_debug.
 #
 # Default: PCMK_callgrind_enabled="no"
 
 # VALGRIND_OPTS
 #
 # Pass these options to valgrind, when enabled (see valgrind(1)). "--vgdb=no"
 # is specified because pacemaker-execd can lower privileges when executing
 # commands, which would otherwise leave a bunch of unremovable files in /tmp.
 #
 # Default: VALGRIND_OPTS=""
 VALGRIND_OPTS="--leak-check=full --trace-children=no --vgdb=no --num-callers=25 --log-file=@PCMK__PERSISTENT_DATA_DIR@/valgrind-%p --suppressions=@datadir@/pacemaker/tests/valgrind-pcmk.suppressions --gen-suppressions=all"
diff --git a/include/crm/common/options_internal.h b/include/crm/common/options_internal.h
index 39441508f3..4ef15b4b8d 100644
--- a/include/crm/common/options_internal.h
+++ b/include/crm/common/options_internal.h
@@ -1,247 +1,251 @@
 /*
  * Copyright 2006-2024 the Pacemaker project contributors
  *
  * The version control history for this file may have further details.
  *
  * This source code is licensed under the GNU Lesser General Public License
  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
  */
 
 #ifndef PCMK__CRM_COMMON_OPTIONS_INTERNAL__H
 #define PCMK__CRM_COMMON_OPTIONS_INTERNAL__H
 
 #ifndef PCMK__CONFIG_H
 #define PCMK__CONFIG_H
 #include <config.h>   // _Noreturn
 #endif
 
 #include <glib.h>     // GHashTable
 #include <stdbool.h>  // bool
 
 #include <crm/common/strings.h>             // pcmk_parse_interval_spec()
 #include <crm/common/output_internal.h>     // pcmk__output_t
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 _Noreturn void pcmk__cli_help(char cmd);
 
 
 /*
  * Environment variable option handling
  */
 
 const char *pcmk__env_option(const char *option);
 void pcmk__set_env_option(const char *option, const char *value, bool compat);
 bool pcmk__env_option_enabled(const char *daemon, const char *option);
 
 
 /*
  * Cluster option handling
  */
 
 /*!
  * \internal
  * \enum pcmk__opt_flags
  * \brief Option flags
  */
 enum pcmk__opt_flags {
     pcmk__opt_none       = 0U,          //!< No additional information
 
     /*!
      * \brief In CIB manager metadata
      *
      * \deprecated This flag will be removed with CIB manager metadata
      */
     pcmk__opt_based      = (1U << 0),
 
     /*!
      * \brief In controller metadata
      *
      * \deprecated This flag will be removed with controller metadata
      */
     pcmk__opt_controld   = (1U << 1),
 
     /*!
      * \brief In scheduler metadata
      *
      * \deprecated This flag will be removed with scheduler metadata
      */
     pcmk__opt_schedulerd = (1U << 2),
 
     pcmk__opt_advanced   = (1U << 3),   //!< Advanced use only
     pcmk__opt_generated  = (1U << 4),   //!< Generated by Pacemaker
     pcmk__opt_deprecated = (1U << 5),   //!< Option is deprecated
     pcmk__opt_fencing    = (1U << 6),   //!< Common fencing resource parameter
     pcmk__opt_primitive  = (1U << 7),   //!< Primitive resource meta-attribute
 };
 
 typedef struct pcmk__cluster_option_s {
     const char *name;
     const char *alt_name;
     const char *type;
     const char *values;
     const char *default_value;
 
     bool (*is_valid)(const char *);
 
     uint32_t flags;                 //!< Group of <tt>enum pcmk__opt_flags</tt>
 
     const char *description_short;
     const char *description_long;
 
 } pcmk__cluster_option_t;
 
 const char *pcmk__cluster_option(GHashTable *options, const char *name);
 
 int pcmk__output_cluster_options(pcmk__output_t *out, const char *name,
                                  const char *desc_short, const char *desc_long,
                                  uint32_t filter, bool all);
 int pcmk__output_fencing_params(pcmk__output_t *out, const char *name,
                                 const char *desc_short, const char *desc_long,
                                 bool all);
 int pcmk__output_primitive_meta(pcmk__output_t *out, const char *name,
                                 const char *desc_short, const char *desc_long,
                                 bool all);
 
 int pcmk__daemon_metadata(pcmk__output_t *out, const char *name,
                           const char *short_desc, const char *long_desc,
                           enum pcmk__opt_flags filter);
 
 void pcmk__validate_cluster_options(GHashTable *options);
 
 bool pcmk__valid_interval_spec(const char *value);
 bool pcmk__valid_boolean(const char *value);
 bool pcmk__valid_int(const char *value);
 bool pcmk__valid_positive_int(const char *value);
 bool pcmk__valid_no_quorum_policy(const char *value);
 bool pcmk__valid_percentage(const char *value);
 bool pcmk__valid_placement_strategy(const char *value);
 
 // from watchdog.c
 long pcmk__get_sbd_watchdog_timeout(void);
 bool pcmk__get_sbd_sync_resource_startup(void);
 long pcmk__auto_stonith_watchdog_timeout(void);
 bool pcmk__valid_stonith_watchdog_timeout(const char *value);
 
 // Constants for environment variable names
 #define PCMK__ENV_AUTHKEY_LOCATION          "authkey_location"
 #define PCMK__ENV_BLACKBOX                  "blackbox"
+#define PCMK__ENV_CA_FILE                   "ca_file"
 #define PCMK__ENV_CALLGRIND_ENABLED         "callgrind_enabled"
+#define PCMK__ENV_CERT_FILE                 "cert_file"
 #define PCMK__ENV_CLUSTER_TYPE              "cluster_type"
+#define PCMK__ENV_CRL_FILE                  "crl_file"
 #define PCMK__ENV_DEBUG                     "debug"
 #define PCMK__ENV_DH_MAX_BITS               "dh_max_bits"
 #define PCMK__ENV_FAIL_FAST                 "fail_fast"
 #define PCMK__ENV_IPC_BUFFER                "ipc_buffer"
 #define PCMK__ENV_IPC_TYPE                  "ipc_type"
+#define PCMK__ENV_KEY_FILE                  "key_file"
 #define PCMK__ENV_LOGFACILITY               "logfacility"
 #define PCMK__ENV_LOGFILE                   "logfile"
 #define PCMK__ENV_LOGFILE_MODE              "logfile_mode"
 #define PCMK__ENV_LOGPRIORITY               "logpriority"
 #define PCMK__ENV_NODE_ACTION_LIMIT         "node_action_limit"
 #define PCMK__ENV_NODE_START_STATE          "node_start_state"
 #define PCMK__ENV_PANIC_ACTION              "panic_action"
 #define PCMK__ENV_REMOTE_ADDRESS            "remote_address"
 #define PCMK__ENV_REMOTE_SCHEMA_DIRECTORY   "remote_schema_directory"
 #define PCMK__ENV_REMOTE_PID1               "remote_pid1"
 #define PCMK__ENV_REMOTE_PORT               "remote_port"
 #define PCMK__ENV_RESPAWNED                 "respawned"
 #define PCMK__ENV_SCHEMA_DIRECTORY          "schema_directory"
 #define PCMK__ENV_SERVICE                   "service"
 #define PCMK__ENV_STDERR                    "stderr"
 #define PCMK__ENV_TLS_PRIORITIES            "tls_priorities"
 #define PCMK__ENV_TRACE_BLACKBOX            "trace_blackbox"
 #define PCMK__ENV_TRACE_FILES               "trace_files"
 #define PCMK__ENV_TRACE_FORMATS             "trace_formats"
 #define PCMK__ENV_TRACE_FUNCTIONS           "trace_functions"
 #define PCMK__ENV_TRACE_TAGS                "trace_tags"
 #define PCMK__ENV_VALGRIND_ENABLED          "valgrind_enabled"
 
 // Constants for meta-attribute names
 #define PCMK__META_CLONE                    "clone"
 #define PCMK__META_CONTAINER                "container"
 #define PCMK__META_DIGESTS_ALL              "digests-all"
 #define PCMK__META_DIGESTS_SECURE           "digests-secure"
 #define PCMK__META_INTERNAL_RSC             "internal_rsc"
 #define PCMK__META_MIGRATE_SOURCE           "migrate_source"
 #define PCMK__META_MIGRATE_TARGET           "migrate_target"
 #define PCMK__META_ON_NODE                  "on_node"
 #define PCMK__META_ON_NODE_UUID             "on_node_uuid"
 #define PCMK__META_OP_NO_WAIT               "op_no_wait"
 #define PCMK__META_OP_TARGET_RC             "op_target_rc"
 #define PCMK__META_PHYSICAL_HOST            "physical-host"
 #define PCMK__META_STONITH_ACTION           "stonith_action"
 
 /* @TODO Plug these in. Currently, they're never set. These are op attrs for use
  * with https://projects.clusterlabs.org/T382.
  */
 #define PCMK__META_CLEAR_FAILURE_OP         "clear_failure_op"
 #define PCMK__META_CLEAR_FAILURE_INTERVAL   "clear_failure_interval"
 
 // @COMPAT Deprecated alias for PCMK__META_PROMOTED_MAX since 2.0.0
 #define PCMK__META_PROMOTED_MAX_LEGACY      "master-max"
 
 // @COMPAT Deprecated alias for PCMK__META_PROMOTED_NODE_MAX since 2.0.0
 #define PCMK__META_PROMOTED_NODE_MAX_LEGACY "master-node-max"
 
 // Constants for enumerated values
 #define PCMK__VALUE_ATTRD                   "attrd"
 #define PCMK__VALUE_BOLD                    "bold"
 #define PCMK__VALUE_BROADCAST               "broadcast"
 #define PCMK__VALUE_CIB                     "cib"
 #define PCMK__VALUE_CIB_DIFF_NOTIFY         "cib_diff_notify"
 #define PCMK__VALUE_CIB_NOTIFY              "cib_notify"
 #define PCMK__VALUE_CIB_POST_NOTIFY         "cib_post_notify"
 #define PCMK__VALUE_CIB_PRE_NOTIFY          "cib_pre_notify"
 #define PCMK__VALUE_CIB_UPDATE_CONFIRMATION "cib_update_confirmation"
 #define PCMK__VALUE_CLUSTER                 "cluster"
 #define PCMK__VALUE_CRMD                    "crmd"
 #define PCMK__VALUE_EN                      "en"
 #define PCMK__VALUE_EPOCH                   "epoch"
 #define PCMK__VALUE_HEALTH_RED              "health_red"
 #define PCMK__VALUE_HEALTH_YELLOW           "health_yellow"
 #define PCMK__VALUE_INIT                    "init"
 #define PCMK__VALUE_LOCAL                   "local"
 #define PCMK__VALUE_LOST                    "lost"
 #define PCMK__VALUE_LRMD                    "lrmd"
 #define PCMK__VALUE_MAINT                   "maint"
 #define PCMK__VALUE_OUTPUT                  "output"
 #define PCMK__VALUE_PASSWORD                "password"
 #define PCMK__VALUE_PRIMITIVE               "primitive"
 #define PCMK__VALUE_REFRESH                 "refresh"
 #define PCMK__VALUE_REQUEST                 "request"
 #define PCMK__VALUE_RESPONSE                "response"
 #define PCMK__VALUE_RSC_FAILED              "rsc-failed"
 #define PCMK__VALUE_RSC_FAILURE_IGNORED     "rsc-failure-ignored"
 #define PCMK__VALUE_RSC_MANAGED             "rsc-managed"
 #define PCMK__VALUE_RSC_MULTIPLE            "rsc-multiple"
 #define PCMK__VALUE_RSC_OK                  "rsc-ok"
 #define PCMK__VALUE_RUNNING                 "running"
 #define PCMK__VALUE_SCHEDULER               "scheduler"
 #define PCMK__VALUE_SHUTDOWN_COMPLETE       "shutdown_complete"
 #define PCMK__VALUE_SHUTTING_DOWN           "shutting_down"
 #define PCMK__VALUE_ST_ASYNC_TIMEOUT_VALUE  "st-async-timeout-value"
 #define PCMK__VALUE_ST_NOTIFY               "st_notify"
 #define PCMK__VALUE_ST_NOTIFY_DISCONNECT    "st_notify_disconnect"
 #define PCMK__VALUE_ST_NOTIFY_FENCE         "st_notify_fence"
 #define PCMK__VALUE_ST_NOTIFY_HISTORY       "st_notify_history"
 #define PCMK__VALUE_ST_NOTIFY_HISTORY_SYNCED    "st_notify_history_synced"
 #define PCMK__VALUE_STARTING_DAEMONS        "starting_daemons"
 #define PCMK__VALUE_STONITH_NG              "stonith-ng"
 #define PCMK__VALUE_WAIT_FOR_PING           "wait_for_ping"
 #define PCMK__VALUE_WARNING                 "warning"
 
 /* @COMPAT Deprecated since 2.1.7 (used with PCMK__XA_ORDERING attribute of
  * resource sets)
  */
 #define PCMK__VALUE_GROUP                   "group"
 
 // @COMPAT Drop when daemon metadata commands are dropped
 #define PCMK__VALUE_TIME                    "time"
 
 #ifdef __cplusplus
 }
 #endif
 
 #endif // PCMK__OPTIONS_INTERNAL__H