15typedef struct clone_variant_data_s {
20 int promoted_node_max;
31 xmlNode *xml_obj_child;
32} clone_variant_data_t;
34# define get_clone_variant_data(data, rsc) \
35 CRM_ASSERT(rsc != NULL); \
36 CRM_ASSERT(rsc->variant == pe_clone); \
37 data = (clone_variant_data_t *)rsc->variant_opaque;
39# elif PE__VARIANT_BUNDLE
49} pe__bundle_replica_t;
51enum pe__bundle_mount_flags {
52 pe__bundle_mount_none = 0x00,
55 pe__bundle_mount_subdir = 0x01
70enum pe__container_agent {
71 PE__CONTAINER_AGENT_UNKNOWN,
72 PE__CONTAINER_AGENT_DOCKER,
73 PE__CONTAINER_AGENT_RKT,
74 PE__CONTAINER_AGENT_PODMAN,
77#define PE__CONTAINER_AGENT_UNKNOWN_S "unknown"
78#define PE__CONTAINER_AGENT_DOCKER_S "docker"
79#define PE__CONTAINER_AGENT_RKT_S "rkt"
80#define PE__CONTAINER_AGENT_PODMAN_S "podman"
82typedef struct pe__bundle_variant_data_s {
85 int nreplicas_per_host;
92 char *container_network;
95 gchar *container_host_options;
96 char *container_command;
97 char *launcher_options;
98 const char *attribute_target;
106 enum pe__container_agent agent_type;
107} pe__bundle_variant_data_t;
109# define get_bundle_variant_data(data, rsc) \
110 CRM_ASSERT(rsc != NULL); \
111 CRM_ASSERT(rsc->variant == pe_container); \
112 CRM_ASSERT(rsc->variant_opaque != NULL); \
113 data = (pe__bundle_variant_data_t *)rsc->variant_opaque; \