# Delete NameSpace CIM Operation

The `DeleteNameSpace` method deletes an existing namespace in the Pegasus repository.

NameSpace Defines the root namespace where the __Namespace class is defined. (DO NOT CHANGE)

NameSpace String that defines the namespace to be deleted

## Return Results

If successful, the specified Namespace MUST have been removed by the CIM Server. If unsuccessful, one of the following status codes MUST be returned by this method, where the first applicable error in the list (starting with the first element of the list, and working down) is the error returned. Any additional method-specific interpretation of the error in is given in parentheses.

<UL
- CIM_ERR_ACCESS_DENIED
- CIM_ERR_NOT_SUPPORTED
- CIM_ERR_INVALID_NAMESPACE
- CIM_ERR_INVALID_PARAMETER (including missing, duplicate, unrecognized or otherwise incorrect parameters)
- CIM_ERR_INVALID_CLASS (the CIM Class does not exist in the specified namespace)
- CIM_ERR_NOT_FOUND (the CIM Class does exist, but the requested CIM Instance does not exist in the specified namespace)
- CIM_ERR_FAILED (some other unspecified error occurred)

  ## ADDITIONAL Description of Fields

  Delete Namespace is not an intrinsic CIM operation today. In accordance with the current CIM operations over HTTP specification, the deleteion of namespaces is executed instances of the class __Namespace. This class is defined with a single property, the name property which is the key. Deletion of an instance of of this class causes the namespace to be deleted. If the namespace does not exist, the delete namespace returns the error CIM_ERR_NOT_FOUND.

  In the Pegasus implementation, namespace manipulation is managed through a special provider __Namespace that is registered for the __Namespace class and returns creates and deletes namespaces as well as returning instances of __Namespace corresponding to the current set of namespaces.

  The documentation does not clarify any special behavior on the namespace deletion function. The Pegasus implementation will insure that a namespace is empty before it can be deleted. If a namespace contains classes Pegasus will refuse the deletetion command with the error CIM_ERR_NOT_FOUND

  The use of the __Namespace class to delete namespaces is considered implementation dependent and was never completely defined in the CIM Operations over HTTP Documents. In addition, the __Namespace class itself was never defined. In the next version of CIM Operations over HTTP, the technique will be changed to allow for intrinsic methods that permit both creation and deletion of namespaces.

  ## C++ Pegasus API

  The following is the CIM operation that is used to create a new namespace.

          virtual void deleteInstance(
      		const String& nameSpace
          };

  Demonstration Prepared by the OpenGroup Manageability Work Group Pegasus Development Team

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

  Last Modified Monday, March 26, 2001 03:06:48 PM Copyright @ The Open Group 2001