-} s_sg_platf_cabinet_cbarg_t;
-
-typedef struct s_sg_platf_storage_cbarg* sg_platf_storage_cbarg_t;
-typedef struct s_sg_platf_storage_cbarg {
- const char* id;
- const char* type_id;
- const char* content;
- xbt_dict_t properties;
- const char* attach;
-} s_sg_platf_storage_cbarg_t;
-
-typedef struct s_sg_platf_storage_type_cbarg* sg_platf_storage_type_cbarg_t;
-typedef struct s_sg_platf_storage_type_cbarg {
- const char* id;
- const char* model;
- const char* content;
- xbt_dict_t properties;
- std::map<std::string, std::string>* model_properties;
- sg_size_t size;
-} s_sg_platf_storage_type_cbarg_t;
-
-typedef struct s_sg_platf_mount_cbarg* sg_platf_mount_cbarg_t;
-typedef struct s_sg_platf_mount_cbarg {
- const char* storageId;
- const char* name;
-} s_sg_platf_mount_cbarg_t;
-
-typedef struct s_sg_platf_prop_cbarg *sg_platf_prop_cbarg_t;
-typedef struct s_sg_platf_prop_cbarg {
- const char *id;
- const char *value;
-} s_sg_platf_prop_cbarg_t;
-
-typedef struct s_sg_platf_trace_cbarg *sg_platf_trace_cbarg_t;
-typedef struct s_sg_platf_trace_cbarg {
- const char *id;
- const char *file;
+};
+
+class ClusterZoneCreationArgs {
+public:
+ std::vector<HostLinkCreationArgs> host_links;
+ std::vector<CabinetCreationArgs> cabinets;
+ std::unique_ptr<LinkCreationArgs> backbone;
+};
+
+class DiskCreationArgs {
+public:
+ std::string id;
+ std::unordered_map<std::string, std::string> properties;
+ double read_bw;
+ double write_bw;
+};
+
+class ProfileCreationArgs {
+public:
+ std::string id;
+ std::string file;