Ice Reference Documentation
<<< Previous | Slice Documentation | Next >>>

# `IceGrid::Admin`

## Overview

    interface Admin

The IceGrid administrative interface.

| Allowing access to this interface is a security risk! Please see the IceGrid documentation for further information.

### Operation Index

`addApplication`

  Add an application to IceGrid.

`syncApplication`

  Synchronize a deployed application with the given application descriptor.

`updateApplication`

  Update a deployed application with the given update application descriptor.

`removeApplication`

  Remove an application from IceGrid.

`instantiateServer`

  Instantiate a server template from an application on the given node.

`patchApplication`

  Patch the given application data.

`getApplicationDescriptor`

  Get an application descriptor.

`getDefaultApplicationDescriptor`

  Get the default application descriptor.

`getAllApplicationNames`

  Get all the IceGrid applications currently registered.

`getServerInfo`

  Get the server information for the server with the given id.

`getServerState`

  Get a server's state.

`getServerPid`

  Get a server's system process id.

`enableServer`

  Enable or disable a server.

`isServerEnabled`

  Check if the server is enabled or disabled.

`startServer`

  Start a server and wait for its activation.

`stopServer`

  Stop a server.

`patchServer`

  Patch a server.

`sendSignal`

  Send signal to a server.

`writeMessage`

  Write message on server stdout or stderr.

`getAllServerIds`

  Get all the server ids registered with IceGrid.

`getAdapterInfo`

  Get the adapter information for the replica group or adapter with the given id.

`removeAdapter`

  Remove the adapter with the given id.

`getAllAdapterIds`

  Get all the adapter ids registered with IceGrid.

`addObject`

  Add an object to the object registry.

`updateObject`

  Update an object in the object registry.

`addObjectWithType`

  Add an object to the object registry and explicitly specify its type.

`removeObject`

  Remove an object from the object registry.

`getObjectInfo`

  Get the object info for the object with the given identity.

`getObjectInfosByType`

  Get the object info of all the registered objects with the given type.

`getAllObjectInfos`

  Get the object info of all the registered objects whose stringified identities match the given expression.

`pingNode`

  Ping an IceGrid node to see if it is active.

`getNodeLoad`

  Get the load averages of the node.

`getNodeInfo`

  Get the node information for the node with the given name.

`shutdownNode`

  Shutdown an IceGrid node.

`getNodeHostname`

  Get the hostname of this node.

`getAllNodeNames`

  Get all the IceGrid nodes currently registered.

`shutdown`

  Shut down the IceGrid registry.

`getSliceChecksums`

  Returns the checksums for the IceGrid Slice definitions.

## `addApplication`

    void addApplication(ApplicationDescriptor descriptor)
        throws
    	AccessDeniedException,
    	DeploymentException;

Add an application to IceGrid.

### Parameters

`descriptor`

  The application descriptor.

### Exceptions

`AccessDeniedException`

  Raised if the session doesn't hold the exclusive lock or if another session is holding the lock.

`DeploymentException`

  Raised if application deployment failed.

## `syncApplication`

    void syncApplication(ApplicationDescriptor descriptor)
        throws
    	AccessDeniedException,
    	DeploymentException,
    	ApplicationNotExistException;

Synchronize a deployed application with the given application descriptor. This operation will replace the current descriptor with this new descriptor.

### Parameters

`descriptor`

  The application descriptor.

### Exceptions

`AccessDeniedException`

  Raised if the session doesn't hold the exclusive lock or if another session is holding the lock.

`DeploymentException`

  Raised if application deployment failed.

`ApplicationNotExistException`

  Raised if the application doesn't exist.

## `updateApplication`

    void updateApplication(ApplicationUpdateDescriptor descriptor)
        throws
    	AccessDeniedException,
    	DeploymentException,
    	ApplicationNotExistException;

Update a deployed application with the given update application descriptor.

### Parameters

`descriptor`

  The update descriptor.

### Exceptions

`AccessDeniedException`

  Raised if the session doesn't hold the exclusive lock or if another session is holding the lock.

`DeploymentException`

  Raised if application deployment failed.

`ApplicationNotExistException`

  Raised if the application doesn't exist.

## `removeApplication`

    void removeApplication(string name)
        throws
    	AccessDeniedException,
    	ApplicationNotExistException;

Remove an application from IceGrid.

### Parameters

`name`

  The application name.

### Exceptions

`AccessDeniedException`

  Raised if the session doesn't hold the exclusive lock or if another session is holding the lock.

`ApplicationNotExistException`

  Raised if the application doesn't exist.

## `instantiateServer`

    void instantiateServer(string application,
        string node,
        ServerInstanceDescriptor desc)
        throws
    	AccessDeniedException,
    	ApplicationNotExistException,
    	DeploymentException;

Instantiate a server template from an application on the given node.

### Parameters

`application`

  The application name.

`node`

  The name of the node where the server will be deployed.

`desc`

  The descriptor of the server instance to deploy.

### Exceptions

`AccessDeniedException`

  Raised if the session doesn't hold the exclusive lock or if another session is holding the lock.

`DeploymentException`

  Raised if server instantiation failed.

`ApplicationNotExistException`

  Raised if the application doesn't exist.

## `patchApplication`

    [ "ami", "amd" ]
    void patchApplication(string name,
        bool shutdown)
        throws
    	ApplicationNotExistException,
    	PatchException;

Patch the given application data.

### Parameters

`name`

  The application name.

`shutdown`

  If true, the servers depending on the data to patch will be shutdown if necessary.

### Exceptions

`ApplicationNotExistException`

  Raised if the application doesn't exist.

`PatchException`

  Raised if the patch failed.

## `getApplicationDescriptor`

    ApplicationDescriptor getApplicationDescriptor(string name)
        throws
    	ApplicationNotExistException;

Get an application descriptor.

### Parameters

`name`

  The application name.

### Return Value

The application descriptor.

### Exceptions

`ApplicationNotExistException`

  Raised if the application doesn't exist.

## `getDefaultApplicationDescriptor`

    ApplicationDescriptor getDefaultApplicationDescriptor()
        throws
    	DeploymentException;

Get the default application descriptor.

### Exceptions

`DeploymentException`

  Raised if the default application descriptor can't be accessed or is invalid.

## `getAllApplicationNames`

    ::Ice::StringSeq getAllApplicationNames();

Get all the IceGrid applications currently registered.

### Return Value

The application names.

## `getServerInfo`

    ServerInfo getServerInfo(string id)
        throws
    	ServerNotExistException;

Get the server information for the server with the given id.

### Parameters

`id`

  The server id.

### Return Value

The server information.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

## `getServerState`

    ServerState getServerState(string id)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException;

Get a server's state.

### Parameters

`id`

  The server id.

### Return Value

The server state.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `getServerPid`

    int getServerPid(string id)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException;

Get a server's system process id. The process id is operating system dependent.

### Parameters

`id`

  The server id.

### Return Value

The server's process id.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `enableServer`

    [ "ami" ]
    void enableServer(string id,
        bool enabled)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException;

Enable or disable a server. A disabled server can't be started on demand or administratively. The enable state of the server is not persistent: if the node is shutdown and restarted, the server will be enabled by default.

### Parameters

`id`

  The server id.

`enabled`

  True to enable the server, false to disable it.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `isServerEnabled`

    bool isServerEnabled(string id)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException;

Check if the server is enabled or disabled.

### Parameters

`id`

  The server id.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `startServer`

    [ "ami" ]
    void startServer(string id)
        throws
    	ServerNotExistException,
    	ServerStartException,
    	NodeUnreachableException,
    	DeploymentException;

Start a server and wait for its activation.

### Parameters

`id`

  The server id.

### Return Value

True if the server was successfully started, false otherwise.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`ServerStartException`

  Raised if the server couldn't be started.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `stopServer`

    [ "ami" ]
    void stopServer(string id)
        throws
    	ServerNotExistException,
    	ServerStopException,
    	NodeUnreachableException,
    	DeploymentException;

Stop a server.

### Parameters

`id`

  The server id.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`ServerStopException`

  Raised if the server couldn't be stopped.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `patchServer`

    [ "ami", "amd" ]
    void patchServer(string id,
        bool shutdown)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException,
    	PatchException;

Patch a server.

### Parameters

`id`

  The server id.

`shutdown`

  If true, servers depending on the data to patch will be shutdown if necessary.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

`PatchException`

  Raised if the patch failed.

## `sendSignal`

    void sendSignal(string id,
        string signal)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException,
    	BadSignalException;

Send signal to a server.

### Parameters

`id`

  The server id.

`signal`

  The signal, for example SIGTERM or 15.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

`BadSignalException`

  Raised if the signal is not recognized by the target server.

## `writeMessage`

    void writeMessage(string id,
        string message,
        int fd)
        throws
    	ServerNotExistException,
    	NodeUnreachableException,
    	DeploymentException;

Write message on server stdout or stderr.

### Parameters

`id`

  The server id.

`message`

  The message.

`fd`

  1 for stdout, 2 for stderr.

### Exceptions

`ServerNotExistException`

  Raised if the server doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

`DeploymentException`

  Raised if the server couldn't be deployed on the node.

## `getAllServerIds`

    ::Ice::StringSeq getAllServerIds();

Get all the server ids registered with IceGrid.

### Return Value

The server ids.

## `getAdapterInfo`

    AdapterInfoSeq getAdapterInfo(string id)
        throws
    	AdapterNotExistException;

Get the adapter information for the replica group or adapter with the given id.

### Parameters

`adapterId`

  The adapter id.

### Return Value

A sequence of adapter information structures. If the given id refers to an adapter, this sequence will contain only one element. If the given id refers to a replica group, the sequence will contain the adapter information of each member of the replica group.

### Exceptions

`AdapterNotExistException`

  Raised if the adapter or replica group doesn't exist.

## `removeAdapter`

    [ "ami" ]
    void removeAdapter(string adapterId)
        throws
    	AdapterNotExistException,
    	DeploymentException;

Remove the adapter with the given id.

### Exceptions

`AdapterNotExistException`

  Raised if the adapter doesn't exist.

## `getAllAdapterIds`

    ::Ice::StringSeq getAllAdapterIds();

Get all the adapter ids registered with IceGrid.

### Return Value

The adapter ids.

## `addObject`

    void addObject(Object* obj)
        throws
    	ObjectExistsException,
    	DeploymentException;

Add an object to the object registry. IceGrid will get the object type by calling `ice_id` on the given proxy. The object must be reachable.

### Parameters

`obj`

  The object to be added to the registry.

### Exceptions

`ObjectExistsException`

  Raised if the object is already registered.

`DeploymentException`

  Raised if the object can't be added. This might be raised if the invocation on the proxy to get the object type failed.

## `updateObject`

    void updateObject(Object* obj)
        throws
    	ObjectNotRegisteredException,
    	DeploymentException;

Update an object in the object registry. Only objects added with this interface can be updated with this operation. Objects added with deployment descriptors should be updated with the deployment mechanism.

### Parameters

`obj`

  The object to be updated to the registry.

### Exceptions

`ObjectNotRegisteredException`

  Raised if the object isn't registered with the registry.

`DeploymentException`

  Raised if the object can't be updated. This might happen if the object was added with a deployment descriptor.

## `addObjectWithType`

    void addObjectWithType(Object* obj,
        string type)
        throws
    	ObjectExistsException;

Add an object to the object registry and explicitly specify its type.

### Parameters

`obj`

  The object to be added to the registry.

`type`

  The object type.

### Exceptions

`ObjectExistsException`

  Raised if the object is already registered.

## `removeObject`

    [ "ami" ]
    void removeObject(::Ice::Identity id)
        throws
    	ObjectNotRegisteredException,
    	DeploymentException;

Remove an object from the object registry. Only objects added with this interface can be removed with this operation. Objects added with deployment descriptors should be removed with the deployment mechanism.

### Parameters

`id`

  The identity of the object to be removed from the registry.

### Exceptions

`ObjectNotRegisteredException`

  Raised if the object isn't registered with the registry.

`DeploymentException`

  Raised if the object can't be removed. This might happen if the object was added with a deployment descriptor.

## `getObjectInfo`

    ObjectInfo getObjectInfo(::Ice::Identity id)
        throws
    	ObjectNotRegisteredException;

Get the object info for the object with the given identity.

### Parameters

`id`

  The identity of the object.

### Return Value

The object info.

### Exceptions

`ObjectNotRegisteredException`

  Raised if the object isn't registered with the registry.

## `getObjectInfosByType`

    ObjectInfoSeq getObjectInfosByType(string type);

Get the object info of all the registered objects with the given type.

### Parameters

`type`

  The type of the object.

### Return Value

The object infos.

## `getAllObjectInfos`

    ObjectInfoSeq getAllObjectInfos(string expr);

Get the object info of all the registered objects whose stringified identities match the given expression.

### Parameters

`expr`

  The expression to match against the stringified identities of registered objects. The expression may contain a trailing wildcard (`*`) character.

### Return Value

All the object infos with a stringified identity matching the given expression.

## `pingNode`

    bool pingNode(string name)
        throws
    	NodeNotExistException;

Ping an IceGrid node to see if it is active.

### Parameters

`name`

  The node name.

### Return Value

true if the node ping succeeded, false otherwise.

### Exceptions

`NodeNotExistException`

  Raised if the node doesn't exist.

## `getNodeLoad`

    [ "ami" ]
    LoadInfo getNodeLoad(string name)
        throws
    	NodeNotExistException,
    	NodeUnreachableException;

Get the load averages of the node.

### Parameters

`name`

  The node name.

### Return Value

The node load information.

### Exceptions

`NodeNotExistException`

  Raised if the node doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

## `getNodeInfo`

    NodeInfo getNodeInfo(string name)
        throws
    	NodeNotExistException,
    	NodeUnreachableException;

Get the node information for the node with the given name.

### Parameters

`name`

  The node name.

### Return Value

The node information.

### Exceptions

`NodeNotExistException`

  Raised if the node doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

## `shutdownNode`

    [ "ami" ]
    void shutdownNode(string name)
        throws
    	NodeNotExistException,
    	NodeUnreachableException;

Shutdown an IceGrid node.

### Parameters

`name`

  The node name.

### Exceptions

`NodeNotExistException`

  Raised if the node doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

## `getNodeHostname`

    string getNodeHostname(string name)
        throws
    	NodeNotExistException,
    	NodeUnreachableException;

Get the hostname of this node.

### Parameters

`name`

  The node name.

### Return Value

The node hostname.

### Exceptions

`NodeNotExistException`

  Raised if the node doesn't exist.

`NodeUnreachableException`

  Raised if the node could not be reached.

## `getAllNodeNames`

    ::Ice::StringSeq getAllNodeNames();

Get all the IceGrid nodes currently registered.

### Return Value

The node names.

## `shutdown`

    void shutdown();

Shut down the IceGrid registry.

## `getSliceChecksums`

    ::Ice::SliceChecksumDict getSliceChecksums();

Returns the checksums for the IceGrid Slice definitions.

### Return Value

A dictionary mapping Slice type ids to their checksums.

<<< Previous | Home | Next >>>
`IceGrid::AdaptiveLoadBalancingPolicy` | Up | `IceGrid::AdminSession`