# GetNameSpaces

Gets a list of all of the existing namespaces on the target CIM Server..

Namespaces define a container within a CIM Server for Classes and Instances. There may be multiple namespaces in a single CIM Server. While Namespaces names are defined in a manner that makes them look hiearchial (/root/cimv2), in fact, they are simply a list of names in the Pegasus implementation. The CIM specifications leave the defintion of namespace relationships as an implementation issue and we chose to simply make them a flat name list. Thus root is a single namespace and root/cimv2 is a single namespace but there is no implied relationship between root and root/cimv2. There is no inheritance of characteristics or classes and no issues of containment.

However, the concept of namespaces is key to understanding CIM operations. All operations are executed against a namespace. You will note that the name of the namespace exists in the form screen for all operations. This is a required field for every CIM operation.

In fact, the only relationships that really exist across namespaces are those defined by associations.

Only one namespace is clearly defined and required by the CIM specificaitons, root. All other namespaces including cimv2 are merely recommendations or examples today.

Normally namespaces are defined and populated as part of the process of installing CIM classes. The capability exists to create and to delete namespaces.

These functions are provided in this demonstration simply as a tool to help you understand what namespaces are and how we access them.

There are today two different techniques for querying an manipulating namespaces.

### Original Namespace Manipulator

The original technique defined in the CIM Operations document V1 is based on the use of a pseudo class __Namespace and execution of operations on the instances of this pseudo class (enumerate instances, create instance, delete instance) to query namespaces and to create and delete namespaces. We call this a pseudo class because it does not really exist in the CIM schemas. It is implementation dependent and may be defined differently for each implementation.

In fact, since the properities of this class are implementation dependent there is really no interoperability in the manipulation of namespaces.

### New Namespace Manipulator

Effective with CIM 2.6, a new set of classes has been defined for the query of information about CIM Servers and the namespaces defined in those CIM servers.

TBD

Demonstration Prepared by the OpenGroup Manageability Work Group Pegasus Development Team

See (http://www.opengroup.org/management) for more information on Pegasus

Last Modified Friday, June 29, 2001 06:42:17 PM Copyright @ The Open Group 2001