Ice 3.8
Slice API Reference
Loading...
Searching...
No Matches
Descriptor.ice
1// Copyright (c) ZeroC, Inc.
2
3#pragma once
4
5[["cpp:dll-export:ICEGRID_API"]]
6[["cpp:doxygen:include:IceGrid/IceGrid.h"]]
7[["cpp:header-ext:h"]]
8
9[["cpp:include:IceGrid/Config.h"]]
10
11[["js:module:@zeroc/ice"]]
12
13#include "Ice/BuiltinSequences.ice"
14#include "Ice/Identity.ice"
15
16["java:identifier:com.zeroc.IceGrid"]
17module IceGrid
18{
19 /// A mapping of string to string.
20 dictionary<string, string> StringStringDict;
21
22 /// Describes an Ice property.
24 {
25 /// The name of the property.
26 string name;
27
28 /// The value of the property.
29 string value;
30 }
31
32 /// A sequence of {@link PropertyDescriptor}.
33 ["java:type:java.util.LinkedList<PropertyDescriptor>"]
34 sequence<PropertyDescriptor> PropertyDescriptorSeq;
35
36 /// A property set descriptor.
38 {
39 /// References to named property sets.
41
42 /// The property set properties.
43 ["matlab:identifier:propertyDescriptors"]
45 }
46
47 /// A mapping of property set name to property set descriptor.
48 dictionary<string, PropertySetDescriptor> PropertySetDescriptorDict;
49
50 /// Describes a well-known Ice object.
52 {
53 /// The identity of the object.
55
56 /// The object type.
57 string type;
58
59 /// The proxy options to use when creating a proxy for this well-known object. If empty, the proxy is created
60 /// with the proxy options specified on the object adapter or replica group.
62 }
63
64 /// A sequence of {@link ObjectDescriptor}.
65 ["java:type:java.util.LinkedList<ObjectDescriptor>"]
66 sequence<ObjectDescriptor> ObjectDescriptorSeq;
67
68 /// Describes an indirect object adapter.
70 {
71 /// The object adapter name.
72 string name;
73
74 /// A description of this object adapter.
76
77 /// The adapter ID.
78 string id;
79
80 /// The replica group ID. It's empty when the adapter is not part of a replica group.
82
83 /// The adapter priority. Only relevant when the adapter is in a replica group.
84 string priority;
85
86 /// When `true`, the object adapter registers a process object.
88
89 /// When `true`, the lifetime of this object adapter is the same of the server lifetime. This information is
90 /// used by the IceGrid node to figure out the server state: the server is active when all its "server lifetime"
91 /// adapters are active.
93
94 /// The descriptors of well-known objects.
96
97 /// The descriptors of allocatable objects
99 }
100
101 /// A sequence of {@link AdapterDescriptor}.
102 ["java:type:java.util.LinkedList<AdapterDescriptor>"]
103 sequence<AdapterDescriptor> AdapterDescriptorSeq;
104
105 /// Describes an Ice communicator.
107 {
108 /// The indirect object adapters.
110
111 /// The property set.
113
114 /// The path of each log file.
116
117 /// A description of this descriptor.
119 }
120
121 /// Describes a distribution.
122 ["deprecated:This descriptor is provided for schema compatibility. It is no longer used as of Ice 3.8."]
124 {
125 /// The proxy of the IcePatch2 server.
126 string icepatch;
127
128 /// The source directories.
129 ["java:type:java.util.LinkedList<String>"]
131 }
132
133 /// Describes an Ice server.
135 {
136 /// The server ID.
137 string id;
138
139 /// The path of the server executable.
140 string exe;
141
142 /// The Ice version used by this server. This is only required if backward compatibility with servers using old
143 /// Ice versions is needed (otherwise the registry assumes the server is using the same Ice version as the
144 /// registry itself). For example `"3.7.5"`.
146
147 /// The path to the server working directory.
148 string pwd;
149
150 /// The command line options to pass to the server executable.
151 ["java:type:java.util.LinkedList<String>"]
153
154 /// The server environment variables.
155 ["java:type:java.util.LinkedList<String>"]
157
158 /// The server activation mode. Possible values are `"on-demand"` and `"manual"`.
160
161 /// The activation timeout. It's an integer (in string format) that represents the number of seconds to wait for
162 /// activation.
164
165 /// The deactivation timeout. It's an integer (in string format) that represents the number of seconds to wait
166 /// for deactivation.
168
169 /// Specifies if the server depends on the application distribution.
170 ["deprecated"]
171 bool applicationDistrib = false;
172
173 /// The distribution descriptor.
174 ["deprecated"]
176
177 /// Specifies if the server is allocatable.
179
180 /// The user account used to run the server.
181 string user;
182 }
183
184 /// A sequence of {@link ServerDescriptor}.
185 ["java:type:java.util.LinkedList<ServerDescriptor>"]
186 sequence<ServerDescriptor> ServerDescriptorSeq;
187
188 /// Describes an IceBox service.
190 {
191 /// The service name.
192 string name;
193
194 /// The entry point of the IceBox service.
195 string entry;
196 }
197
198 /// A sequence of {@link ServiceDescriptor}.
199 ["java:type:java.util.LinkedList<ServiceDescriptor>"]
200 sequence<ServiceDescriptor> ServiceDescriptorSeq;
201
202 /// Describes a template instantiation that creates a server.
204 {
205 /// The template used by this instance. It's never empty.
206 ["cpp:identifier:templateName"]
207 string template;
208
209 /// The template parameter values.
211
212 /// The property set.
214
215 /// The services property sets.
216 /// It's only valid to set these property sets when the template is an IceBox server template.
218 }
219
220 /// A sequence of {@link ServerInstanceDescriptor}.
221 ["java:type:java.util.LinkedList<ServerInstanceDescriptor>"]
222 sequence<ServerInstanceDescriptor> ServerInstanceDescriptorSeq;
223
224 /// Describes a template for a server or an IceBox service.
226 {
227 /// The communicator.
229
230 /// The parameters required to instantiate the template.
231 ["java:type:java.util.LinkedList<String>"]
233
234 /// The parameters' default values.
236 }
237
238 /// A mapping of template identifier to template descriptor.
239 dictionary<string, TemplateDescriptor> TemplateDescriptorDict;
240
241 /// Describes an IceBox service.
243 {
244 /// The template used by this instance. It's empty when this instance does not use a template.
245 ["cpp:identifier:templateName"]
246 string template;
247
248 /// The template parameter values.
250
251 /// The service definition if the instance isn't a template instance (i.e.: if the template attribute is empty).
253
254 /// The property set.
256 }
257
258 /// A sequence of {@link ServiceInstanceDescriptor}.
259 ["java:type:java.util.LinkedList<ServiceInstanceDescriptor>"]
260 sequence<ServiceInstanceDescriptor> ServiceInstanceDescriptorSeq;
261
262 /// Describes an IceBox server.
264 {
265 /// The service instances.
267 }
268
269 /// Describes an IceGrid node.
271 {
272 /// The variables defined for the node.
273 ["java:type:java.util.TreeMap<String, String>"]
275
276 /// The server instances (template instances).
278
279 /// Servers that are not template instances.
281
282 /// Load factor of the node.
284
285 /// The description of this node.
287
288 /// Property set descriptors.
290 }
291
292 /// Mapping of node name to node descriptor.
293 dictionary<string, NodeDescriptor> NodeDescriptorDict;
294
295 /// The base class for load balancing policies.
297 {
298 /// The number of replicas that will be used to gather the endpoints of a replica group.
299 string nReplicas;
300 }
301
302 /// The load balancing policy that returns endpoints in a random order.
306
307 /// The load balancing policy that returns endpoints in order.
311
312 /// The load balancing policy that returns endpoints using round-robin.
316
317 /// The load balancing policy that returns the endpoints of the server(s) with the lowest load average.
319 {
320 /// The load sample to use for the load balancing. The allowed values for this attribute are "1", "5" and "15",
321 /// representing respectively the load average over the past minute, the past 5 minutes and the past 15 minutes.
323 }
324
325 /// Describes a replica group.
327 {
328 /// The replica group ID.
329 string id;
330
331 /// The load balancing policy.
333
334 /// Default options for proxies created for the replica group.
336
337 /// The descriptors for the well-known objects.
339
340 /// The description of this replica group.
342
343 /// The filter to use for this replica group.
344 string filter;
345 }
346
347 /// A sequence of {@link ReplicaGroupDescriptor}.
348 ["java:type:java.util.LinkedList<ReplicaGroupDescriptor>"]
349 sequence<ReplicaGroupDescriptor> ReplicaGroupDescriptorSeq;
350
351 /// Describes an application.
353 {
354 /// The application name.
355 string name;
356
357 /// The variables defined in the application descriptor.
358 ["java:type:java.util.TreeMap<String, String>"]
360
361 /// The replica groups.
363
364 /// The server templates.
366
367 /// The service templates.
369
370 /// The node descriptors.
372
373 /// The application distribution.
374 ["deprecated"]
376
377 /// The description of this application.
379
380 /// Property set descriptors.
382 }
383
384 /// A sequence of {@link ApplicationDescriptor}.
385 ["java:type:java.util.LinkedList<ApplicationDescriptor>"]
386 sequence<ApplicationDescriptor> ApplicationDescriptorSeq;
387
388 /// A "boxed" string.
390 {
391 /// The value of the boxed string.
392 string value;
393 }
394
395 /// Describes the updates to apply to a node in a deployed application.
397 {
398 /// The name of the node to update.
399 string name;
400
401 /// The updated description (or null if the description wasn't updated.)
403
404 /// The variables to update.
405 ["java:type:java.util.TreeMap<String, String>"]
407
408 /// The variables to remove.
410
411 /// The property sets to update.
413
414 /// The property sets to remove.
416
417 /// The server instances to update.
419
420 /// The servers which are not template instances to update.
422
423 /// The IDs of the servers to remove.
425
426 /// The updated load factor of the node (or null if the load factor was not updated).
428 }
429
430 /// A sequence of {@link NodeUpdateDescriptor}.
431 ["java:type:java.util.LinkedList<NodeUpdateDescriptor>"]
432 sequence<NodeUpdateDescriptor> NodeUpdateDescriptorSeq;
433
434 /// A "boxed" distribution descriptor.
435 ["deprecated"]
437 {
438 /// The value of the boxed distribution descriptor.
440 }
441
442 /// An application update descriptor to describe the updates to apply to a deployed application.
444 {
445 /// The name of the application to update.
446 string name;
447
448 /// The updated description (or null if the description wasn't updated).
450
451 /// The updated distribution application descriptor.
452 ["deprecated"]
454
455 /// The variables to update.
456 ["java:type:java.util.TreeMap<String, String>"]
458
459 /// The variables to remove.
461
462 /// The property sets to update.
464
465 /// The property sets to remove.
467
468 /// The replica groups to update.
470
471 /// The replica groups to remove.
473
474 /// The server templates to update.
476
477 /// The IDs of the server template to remove.
479
480 /// The service templates to update.
482
483 /// The IDs of the service template to remove.
485
486 /// The application nodes to update.
488
489 /// The nodes to remove.
491 }
492}
string loadSample
The load sample to use for the load balancing.
The load balancing policy that returns the endpoints of the server(s) with the lowest load average.
DistributionDescriptor value
The value of the boxed distribution descriptor.
A "boxed" distribution descriptor.
string value
The value of the boxed string.
A "boxed" string.
string description
A description of this descriptor.
PropertySetDescriptor propertySet
The property set.
AdapterDescriptorSeq adapters
The indirect object adapters.
Ice::StringSeq logs
The path of each log file.
Describes an Ice communicator.
ServiceInstanceDescriptorSeq services
The service instances.
Describes an IceBox server.
string nReplicas
The number of replicas that will be used to gather the endpoints of a replica group.
The base class for load balancing policies.
The load balancing policy that returns endpoints in order.
The load balancing policy that returns endpoints in a random order.
The load balancing policy that returns endpoints using round-robin.
bool allocatable
Specifies if the server is allocatable.
string activationTimeout
The activation timeout.
string iceVersion
The Ice version used by this server.
string exe
The path of the server executable.
Ice::StringSeq envs
The server environment variables.
DistributionDescriptor distrib
The distribution descriptor.
bool applicationDistrib
Specifies if the server depends on the application distribution.
string user
The user account used to run the server.
string deactivationTimeout
The deactivation timeout.
string pwd
The path to the server working directory.
string id
The server ID.
Ice::StringSeq options
The command line options to pass to the server executable.
string activation
The server activation mode. Possible values are "on-demand" and "manual".
Describes an Ice server.
string entry
The entry point of the IceBox service.
string name
The service name.
Describes an IceBox service.
dictionary< string, PropertySetDescriptor > PropertySetDescriptorDict
A mapping of property set name to property set descriptor.
dictionary< string, TemplateDescriptor > TemplateDescriptorDict
A mapping of template identifier to template descriptor.
sequence< ServerInstanceDescriptor > ServerInstanceDescriptorSeq
A sequence of ServerInstanceDescriptor.
sequence< ServiceInstanceDescriptor > ServiceInstanceDescriptorSeq
A sequence of ServiceInstanceDescriptor.
dictionary< string, NodeDescriptor > NodeDescriptorDict
Mapping of node name to node descriptor.
sequence< NodeUpdateDescriptor > NodeUpdateDescriptorSeq
A sequence of NodeUpdateDescriptor.
sequence< ReplicaGroupDescriptor > ReplicaGroupDescriptorSeq
A sequence of ReplicaGroupDescriptor.
sequence< ApplicationDescriptor > ApplicationDescriptorSeq
A sequence of ApplicationDescriptor.
sequence< ServiceDescriptor > ServiceDescriptorSeq
A sequence of ServiceDescriptor.
sequence< ServerDescriptor > ServerDescriptorSeq
A sequence of ServerDescriptor.
sequence< ObjectDescriptor > ObjectDescriptorSeq
A sequence of ObjectDescriptor.
sequence< PropertyDescriptor > PropertyDescriptorSeq
A sequence of PropertyDescriptor.
sequence< AdapterDescriptor > AdapterDescriptorSeq
A sequence of AdapterDescriptor.
dictionary< string, string > StringStringDict
A mapping of string to string.
Deploy and manage Ice servers.
Definition Admin.ice:21
sequence< string > StringSeq
A sequence of strings.
string description
A description of this object adapter.
ObjectDescriptorSeq objects
The descriptors of well-known objects.
string priority
The adapter priority. Only relevant when the adapter is in a replica group.
string replicaGroupId
The replica group ID. It's empty when the adapter is not part of a replica group.
bool serverLifetime
When true, the lifetime of this object adapter is the same of the server lifetime.
string name
The object adapter name.
ObjectDescriptorSeq allocatables
The descriptors of allocatable objects.
bool registerProcess
When true, the object adapter registers a process object.
string id
The adapter ID.
Describes an indirect object adapter.
string description
The description of this application.
TemplateDescriptorDict serverTemplates
The server templates.
NodeDescriptorDict nodes
The node descriptors.
DistributionDescriptor distrib
The application distribution.
StringStringDict variables
The variables defined in the application descriptor.
TemplateDescriptorDict serviceTemplates
The service templates.
string name
The application name.
ReplicaGroupDescriptorSeq replicaGroups
The replica groups.
PropertySetDescriptorDict propertySets
Property set descriptors.
Describes an application.
Ice::StringSeq removeReplicaGroups
The replica groups to remove.
PropertySetDescriptorDict propertySets
The property sets to update.
NodeUpdateDescriptorSeq nodes
The application nodes to update.
string name
The name of the application to update.
Ice::StringSeq removeServerTemplates
The IDs of the server template to remove.
ReplicaGroupDescriptorSeq replicaGroups
The replica groups to update.
BoxedString description
The updated description (or null if the description wasn't updated).
StringStringDict variables
The variables to update.
TemplateDescriptorDict serverTemplates
The server templates to update.
Ice::StringSeq removeServiceTemplates
The IDs of the service template to remove.
BoxedDistributionDescriptor distrib
The updated distribution application descriptor.
TemplateDescriptorDict serviceTemplates
The service templates to update.
Ice::StringSeq removeNodes
The nodes to remove.
Ice::StringSeq removeVariables
The variables to remove.
Ice::StringSeq removePropertySets
The property sets to remove.
An application update descriptor to describe the updates to apply to a deployed application.
Ice::StringSeq directories
The source directories.
string icepatch
The proxy of the IcePatch2 server.
Describes a distribution.
string description
The description of this node.
StringStringDict variables
The variables defined for the node.
ServerDescriptorSeq servers
Servers that are not template instances.
PropertySetDescriptorDict propertySets
Property set descriptors.
ServerInstanceDescriptorSeq serverInstances
The server instances (template instances).
string loadFactor
Load factor of the node.
Describes an IceGrid node.
Ice::StringSeq removePropertySets
The property sets to remove.
Ice::StringSeq removeVariables
The variables to remove.
string name
The name of the node to update.
BoxedString loadFactor
The updated load factor of the node (or null if the load factor was not updated).
PropertySetDescriptorDict propertySets
The property sets to update.
ServerDescriptorSeq servers
The servers which are not template instances to update.
ServerInstanceDescriptorSeq serverInstances
The server instances to update.
Ice::StringSeq removeServers
The IDs of the servers to remove.
BoxedString description
The updated description (or null if the description wasn't updated.)
StringStringDict variables
The variables to update.
Describes the updates to apply to a node in a deployed application.
Ice::Identity id
The identity of the object.
string proxyOptions
The proxy options to use when creating a proxy for this well-known object.
string type
The object type.
Describes a well-known Ice object.
string value
The value of the property.
string name
The name of the property.
Describes an Ice property.
PropertyDescriptorSeq properties
The property set properties.
Ice::StringSeq references
References to named property sets.
A property set descriptor.
string id
The replica group ID.
string filter
The filter to use for this replica group.
ObjectDescriptorSeq objects
The descriptors for the well-known objects.
string proxyOptions
Default options for proxies created for the replica group.
string description
The description of this replica group.
LoadBalancingPolicy loadBalancing
The load balancing policy.
Describes a replica group.
StringStringDict parameterValues
The template parameter values.
PropertySetDescriptorDict servicePropertySets
The services property sets.
PropertySetDescriptor propertySet
The property set.
Describes a template instantiation that creates a server.
StringStringDict parameterValues
The template parameter values.
ServiceDescriptor descriptor
The service definition if the instance isn't a template instance (i.e.: if the template attribute is ...
PropertySetDescriptor propertySet
The property set.
Describes an IceBox service.
StringStringDict parameterDefaults
The parameters' default values.
CommunicatorDescriptor descriptor
The communicator.
Ice::StringSeq parameters
The parameters required to instantiate the template.
Describes a template for a server or an IceBox service.
Represents the identity of an Ice object.
Definition Identity.ice:26