11 # define PE_VARIANT__H 15 typedef struct clone_variant_data_s {
20 int promoted_node_max;
26 bool added_promotion_scores;
27 bool added_promoted_constraints;
34 xmlNode *xml_obj_child;
35 } clone_variant_data_t;
37 # define get_clone_variant_data(data, rsc) \ 38 CRM_ASSERT(rsc != NULL); \ 39 CRM_ASSERT(rsc->variant == pe_clone); \ 40 data = (clone_variant_data_t *)rsc->variant_opaque; 42 # elif PE__VARIANT_BUNDLE 52 } pe__bundle_replica_t;
54 enum pe__bundle_mount_flags {
55 pe__bundle_mount_none = 0x00,
58 pe__bundle_mount_subdir = 0x01
73 enum pe__container_agent {
74 PE__CONTAINER_AGENT_UNKNOWN,
75 PE__CONTAINER_AGENT_DOCKER,
76 PE__CONTAINER_AGENT_RKT,
77 PE__CONTAINER_AGENT_PODMAN,
80 #define PE__CONTAINER_AGENT_UNKNOWN_S "unknown" 81 #define PE__CONTAINER_AGENT_DOCKER_S "docker" 82 #define PE__CONTAINER_AGENT_RKT_S "rkt" 83 #define PE__CONTAINER_AGENT_PODMAN_S "podman" 85 typedef struct pe__bundle_variant_data_s {
88 int nreplicas_per_host;
95 char *container_network;
98 char *container_host_options;
99 char *container_command;
100 char *launcher_options;
101 const char *attribute_target;
109 enum pe__container_agent agent_type;
110 } pe__bundle_variant_data_t;
112 # define get_bundle_variant_data(data, rsc) \ 113 CRM_ASSERT(rsc != NULL); \ 114 CRM_ASSERT(rsc->variant == pe_container); \ 115 CRM_ASSERT(rsc->variant_opaque != NULL); \ 116 data = (pe__bundle_variant_data_t *)rsc->variant_opaque; \ 120 typedef struct group_variant_data_s {
128 gboolean child_starting;
129 gboolean child_stopping;
131 } group_variant_data_t;
133 # define get_group_variant_data(data, rsc) \ 134 CRM_ASSERT(rsc != NULL); \ 135 CRM_ASSERT(rsc->variant == pe_group); \ 136 CRM_ASSERT(rsc->variant_opaque != NULL); \ 137 data = (group_variant_data_t *)rsc->variant_opaque; \ 139 # elif VARIANT_NATIVE 141 typedef struct native_variant_data_s {
143 } native_variant_data_t;
145 # define get_native_variant_data(data, rsc) \ 146 CRM_ASSERT(rsc != NULL); \ 147 CRM_ASSERT(rsc->variant == pe_native); \ 148 CRM_ASSERT(rsc->variant_opaque != NULL); \ 149 data = (native_variant_data_t *)rsc->variant_opaque;