Ice 3.9
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.
87 ["deprecated:This field is provided for schema compatibility. It is no longer used."]
88 bool registerProcess = false;
89
90 /// When `true`, the lifetime of this object adapter is the same of the server lifetime. This information is
91 /// used by the IceGrid node to figure out the server state: the server is active when all its "server lifetime"
92 /// adapters are active.
94
95 /// The descriptors of well-known objects.
97
98 /// The descriptors of allocatable objects.
100 }
101
102 /// A sequence of {@link AdapterDescriptor}.
103 ["java:type:java.util.LinkedList<AdapterDescriptor>"]
104 sequence<AdapterDescriptor> AdapterDescriptorSeq;
105
106 /// A Freeze database environment descriptor (deprecated, no longer used).
107 ["deprecated:This descriptor is provided for schema compatibility. It is no longer used."]
109 {
110 /// The name of the database environment.
111 string name;
112
113 /// The description of this database environment.
115
116 /// The home of the database environment.
117 string dbHome;
118
119 /// The configuration properties of the database environment.
120 ["matlab:identifier:propertyDescriptors"]
122 }
123
124 /// A sequence of {@link DbEnvDescriptor}.
125 ["deprecated:This descriptor is provided for schema compatibility. It is no longer used."]
126 sequence<DbEnvDescriptor> DbEnvDescriptorSeq;
127
128 /// Describes an Ice communicator.
130 {
131 /// The indirect object adapters.
133
134 /// The property set.
136
137 /// The database environments.
138 ["deprecated"]
140
141 /// The path of each log file.
143
144 /// A description of this descriptor.
146 }
147
148 /// Describes a distribution.
149 ["deprecated:This descriptor is provided for schema compatibility. It is no longer used."]
151 {
152 /// The proxy of the IcePatch2 server.
153 string icepatch;
154
155 /// The source directories.
156 ["java:type:java.util.LinkedList<String>"]
158 }
159
160 /// Describes an Ice server.
162 {
163 /// The server ID.
164 string id;
165
166 /// The path of the server executable.
167 string exe;
168
169 /// The Ice version used by this server. This is only required if backward compatibility with servers using old
170 /// Ice versions is needed (otherwise the registry assumes the server is using the same Ice version as the
171 /// registry itself). For example `"3.7.5"`.
173
174 /// The path to the server working directory.
175 string pwd;
176
177 /// The command line options to pass to the server executable.
178 ["java:type:java.util.LinkedList<String>"]
180
181 /// The server environment variables.
182 ["java:type:java.util.LinkedList<String>"]
184
185 /// The server activation mode. Possible values are `"on-demand"` and `"manual"`.
187
188 /// The activation timeout. It's an integer (in string format) that represents the number of seconds to wait for
189 /// activation.
191
192 /// The deactivation timeout. It's an integer (in string format) that represents the number of seconds to wait
193 /// for deactivation.
195
196 /// Specifies if the server depends on the application distribution.
197 ["deprecated"]
198 bool applicationDistrib = false;
199
200 /// The distribution descriptor.
201 ["deprecated"]
203
204 /// Specifies if the server is allocatable.
206
207 /// The user account used to run the server.
208 string user;
209 }
210
211 /// A sequence of {@link ServerDescriptor}.
212 ["java:type:java.util.LinkedList<ServerDescriptor>"]
213 sequence<ServerDescriptor> ServerDescriptorSeq;
214
215 /// Describes an IceBox service.
217 {
218 /// The service name.
219 string name;
220
221 /// The entry point of the IceBox service.
222 string entry;
223 }
224
225 /// A sequence of {@link ServiceDescriptor}.
226 ["java:type:java.util.LinkedList<ServiceDescriptor>"]
227 sequence<ServiceDescriptor> ServiceDescriptorSeq;
228
229 /// Describes a template instantiation that creates a server.
231 {
232 /// The template used by this instance. It's never empty.
233 ["cpp:identifier:templateName"]
234 string template;
235
236 /// The template parameter values.
238
239 /// The property set.
241
242 /// The services property sets.
243 /// It's only valid to set these property sets when the template is an IceBox server template.
245 }
246
247 /// A sequence of {@link ServerInstanceDescriptor}.
248 ["java:type:java.util.LinkedList<ServerInstanceDescriptor>"]
249 sequence<ServerInstanceDescriptor> ServerInstanceDescriptorSeq;
250
251 /// Describes a template for a server or an IceBox service.
253 {
254 /// The communicator.
256
257 /// The parameters required to instantiate the template.
258 ["java:type:java.util.LinkedList<String>"]
260
261 /// The parameters' default values.
263 }
264
265 /// A mapping of template identifier to template descriptor.
266 dictionary<string, TemplateDescriptor> TemplateDescriptorDict;
267
268 /// Describes an IceBox service.
270 {
271 /// The template used by this instance. It's empty when this instance does not use a template.
272 ["cpp:identifier:templateName"]
273 string template;
274
275 /// The template parameter values.
277
278 /// The service definition if the instance isn't a template instance (i.e.: if the template attribute is empty).
280
281 /// The property set.
283 }
284
285 /// A sequence of {@link ServiceInstanceDescriptor}.
286 ["java:type:java.util.LinkedList<ServiceInstanceDescriptor>"]
287 sequence<ServiceInstanceDescriptor> ServiceInstanceDescriptorSeq;
288
289 /// Describes an IceBox server.
291 {
292 /// The service instances.
294 }
295
296 /// Describes an IceGrid node.
298 {
299 /// The variables defined for the node.
300 ["java:type:java.util.TreeMap<String, String>"]
302
303 /// The server instances (template instances).
305
306 /// Servers that are not template instances.
308
309 /// Load factor of the node.
311
312 /// The description of this node.
314
315 /// Property set descriptors.
317 }
318
319 /// Mapping of node name to node descriptor.
320 dictionary<string, NodeDescriptor> NodeDescriptorDict;
321
322 /// The base class for load balancing policies.
324 {
325 /// The number of replicas that will be used to gather the endpoints of a replica group.
326 string nReplicas;
327 }
328
329 /// The load balancing policy that returns endpoints in a random order.
333
334 /// The load balancing policy that returns endpoints in order.
338
339 /// The load balancing policy that returns endpoints using round-robin.
343
344 /// The load balancing policy that returns the endpoints of the server(s) with the lowest load average.
346 {
347 /// The load sample to use for the load balancing. The allowed values for this attribute are "1", "5" and "15",
348 /// representing respectively the load average over the past minute, the past 5 minutes and the past 15 minutes.
350 }
351
352 /// Describes a replica group.
354 {
355 /// The replica group ID.
356 string id;
357
358 /// The load balancing policy.
360
361 /// Default options for proxies created for the replica group.
363
364 /// The descriptors for the well-known objects.
366
367 /// The description of this replica group.
369
370 /// The filter to use for this replica group.
371 string filter;
372 }
373
374 /// A sequence of {@link ReplicaGroupDescriptor}.
375 ["java:type:java.util.LinkedList<ReplicaGroupDescriptor>"]
376 sequence<ReplicaGroupDescriptor> ReplicaGroupDescriptorSeq;
377
378 /// Describes an application.
380 {
381 /// The application name.
382 string name;
383
384 /// The variables defined in the application descriptor.
385 ["java:type:java.util.TreeMap<String, String>"]
387
388 /// The replica groups.
390
391 /// The server templates.
393
394 /// The service templates.
396
397 /// The node descriptors.
399
400 /// The application distribution.
401 ["deprecated"]
403
404 /// The description of this application.
406
407 /// Property set descriptors.
409 }
410
411 /// A sequence of {@link ApplicationDescriptor}.
412 ["java:type:java.util.LinkedList<ApplicationDescriptor>"]
413 sequence<ApplicationDescriptor> ApplicationDescriptorSeq;
414
415 /// A "boxed" string.
417 {
418 /// The value of the boxed string.
419 string value;
420 }
421
422 /// Describes the updates to apply to a node in a deployed application.
424 {
425 /// The name of the node to update.
426 string name;
427
428 /// The updated description (or null if the description wasn't updated.)
430
431 /// The variables to update.
432 ["java:type:java.util.TreeMap<String, String>"]
434
435 /// The variables to remove.
437
438 /// The property sets to update.
440
441 /// The property sets to remove.
443
444 /// The server instances to update.
446
447 /// The servers which are not template instances to update.
449
450 /// The IDs of the servers to remove.
452
453 /// The updated load factor of the node (or null if the load factor was not updated).
455 }
456
457 /// A sequence of {@link NodeUpdateDescriptor}.
458 ["java:type:java.util.LinkedList<NodeUpdateDescriptor>"]
459 sequence<NodeUpdateDescriptor> NodeUpdateDescriptorSeq;
460
461 /// A "boxed" distribution descriptor.
462 ["deprecated"]
464 {
465 /// The value of the boxed distribution descriptor.
467 }
468
469 /// An application update descriptor to describe the updates to apply to a deployed application.
471 {
472 /// The name of the application to update.
473 string name;
474
475 /// The updated description (or null if the description wasn't updated).
477
478 /// The updated distribution application descriptor.
479 ["deprecated"]
481
482 /// The variables to update.
483 ["java:type:java.util.TreeMap<String, String>"]
485
486 /// The variables to remove.
488
489 /// The property sets to update.
491
492 /// The property sets to remove.
494
495 /// The replica groups to update.
497
498 /// The replica groups to remove.
500
501 /// The server templates to update.
503
504 /// The IDs of the server template to remove.
506
507 /// The service templates to update.
509
510 /// The IDs of the service template to remove.
512
513 /// The application nodes to update.
515
516 /// The nodes to remove.
518 }
519}
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.
DbEnvDescriptorSeq dbEnvs
The database environments.
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.
sequence< DbEnvDescriptor > DbEnvDescriptorSeq
A sequence of DbEnvDescriptor.
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.
string name
The name of the database environment.
string description
The description of this database environment.
PropertyDescriptorSeq properties
The configuration properties of the database environment.
string dbHome
The home of the database environment.
A Freeze database environment descriptor (deprecated, no longer used).
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