summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/ciao/Deployment.idl
blob: def2bbf2624fadfa48321133d25f1cbafd6f083a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// $Id$
#include "Deployment_Data.idl"

module Deployment {

  exception ResourceNotAvailable {
    string name;
    string resourceType;
    string propertyName;
    string elementName;
    string resourceName;
  };

  exception PlanError {
    string name;
    string reason;
  };

  exception InvalidProperty {
    string name;
    string reason;
  };

  exception StopError {
    string name;
    string reason;
  };

  exception NameExists {
  };

  exception PackageError {
    string source;
    string reason;
  };

  exception NoSuchName {
  };

  exception LastConfiguration {
  };

  exception InvalidReference {
  };

  interface ApplicationManager {
    Application startLaunch (in Properties configProperty, out Connections providedReference, in boolean start)
      raises (ResourceNotAvailable, StartError, InvalidProperty);
    void destroyApplication (in Application app)
      raises (StopError);
  };

  typedef sequence < Application > Applications;

  interface DomainApplicationManager
  {
    DeploymentPlan getPlan ();
    void startLaunch (in Properties configProperty, in boolean start)
      raises (ResourceNotAvailable, StartError, InvalidProperty);
    void finishLaunch (in boolean start)
      raises (StartError, InvalidConnection);
    void start ()
      raises (StartError);
    void destroyApplication ()
      raises (StopError);
  };

  typedef sequence < DomainApplicationManager > DomainApplicationManagers;

  interface ExecutionManager {
    DomainApplicationManager preparePlan (in DeploymentPlan plan, in boolean commitResources)
      raises (ResourceNotAvailable, PlanError, StartError);
    DomainApplicationManagers getManagers ();
    void destroyManager (in DomainApplicationManager manager)
      raises (StopError);
  };

  interface TargetManager {
    Domain getAllResources ();
    Domain getAvailableResources ();
    void commitResources (in DeploymentPlan plan)
      raises (ResourceNotAvailable, PlanError);
    void releaseResources (in DeploymentPlan argname);
    void updateDomain (in ::CORBA::StringSeq elements, in Domain domainSubset, in DomainUpdateKind updateKind);
  };

  interface Logger {
  };

  interface NodeApplicationManager :
      ApplicationManager
  {
  };

  interface NodeManager {
    void joinDomain (in Domain ciao_domain, in TargetManager manager, in Logger log);
    void leaveDomain ();
    NodeApplicationManager preparePlan (in DeploymentPlan plan)
      raises (StartError, PlanError);
    void destroyManager (in NodeApplicationManager appManager)
      raises (StopError);
  };

  interface RepositoryManager {
    void installPackage (in string installationName, in string location)
      raises (NameExists, PackageError);
    void createPackage (in string installationName, in PackageConfiguration package, in string baseLocation, in boolean replace)
      raises (NameExists, PackageError);
    PackageConfiguration findPackageByName (in string name)
      raises (NoSuchName);
    PackageConfiguration findPackageByUUID (in string UUID)
      raises (NoSuchName);
    ::CORBA::StringSeq findNamesByType (in string type);
    ::CORBA::StringSeq getAllNames ();
    ::CORBA::StringSeq getAllTypes ();
    void deletePackage (in string installationName)
      raises (NoSuchName);
  };

};