Salome HOME
Draft
[modules/kernel.git] / idl / SALOME_ContainerManager.idl
1 #ifndef _SALOME_CONTAINERMANAGER_IDL_
2 #define _SALOME_CONTAINERMANAGER_IDL_
3
4 #include "SALOME_Component.idl"
5
6 /*!
7     Type to describe properties of wanted resource.
8 */
9 struct MachineParameters {
10   string container_name;
11   string hostname;
12   string OS;
13   long mem_mb;
14   long cpu_clock;
15   long nb_proc_per_node;
16   long nb_node;
17 };
18
19 /*!
20     Type to transmit list of machines.
21 */
22   typedef sequence<string> MachineList;
23
24 module Engines
25 {
26 /*! \brief Interface of the %containerManager
27     This interface is used for interaction with the unique instance of ContainerManager
28 */
29   interface ContainerManager
30   {
31     Container FindOrStartContainer( in string containerName, in MachineList possibleComputers);
32     string FindBest(in MachineList possibleComputers);
33     MachineList GetResourcesFitting( in MachineParameters params, in string componentName );
34     void ShutdownContainers();
35   } ;
36 };
37   
38 #endif