# Class CIM_Provider
extends CIM_EnabledLogicalElement

A CIM Provider is an EnabledLogicalElement that instruments one or more aspects of the CIM Schema. A CIM_Provider operates at the request of the CIM_ObjectManager to perform operations on CIM objects. The properties CreationClassName, SystemCreationClassName and SystemName can be set to empty strings for a createInstance operation. In this case, the CIM Object Manager must interpret the properties with the local system information.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Provider

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A CIM Provider is an EnabledLogicalElement that instruments one or more aspects of the CIM Schema. A CIM_Provider operates at the request of the CIM_ObjectManager to perform operations on CIM objects. The properties CreationClassName, SystemCreationClassName and SystemName can be set to empty strings for a createInstance operation. In this case, the CIM Object Manager must interpret the properties with the local system information.
Experimental | boolean | true
UMLPackagePath | string | CIM::Interop
Version | string | 2.19.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
Handle | string |
Description | string | An implementation specific string that identifies the handle to the provider. This value will be used to load the provider. If the provider must be loaded as part of a library, this value must be null and an associated ProviderLibrary must be created.
Required | boolean | true
InstanceID | string |
Description | string | Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm: <OrgID>:<LocalID> Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority. (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness, <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>. <LocalID> is chosen by the organizational entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace. For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.
Key | boolean | true
Override | string | InstanceID
Interface | uint16 |
Description | string | Interface describes the interface that this Provider implements. Other - If the adapter does not fit into one of the other catagories in the list. If specified, the OtherInterfaceDescription property MUST be populated. CMPI - Common Manageability Programming Interface by The Open Group. JSR48 - WBEM Services Specification by The Java Community Process.
ModelCorrespondence | string | CIM_Provider.OtherInterfaceDescription
Required | boolean | true
ValueMap | string | 1, 2, 3
Values | string | Other, CMPI, JSR48
OtherInterfaceDescription | string |
Description | string | The type of Interface when "Other" is specified for the Interface property.
ModelCorrespondence | string | CIM_Provider.Interface
ClassName | string[] |
Description | string | The ClassName lists the class(es) for which the associated Provider supplies instances, associations or indications information.
Required | boolean | true
Namespaces | string[] |
Description | string | The Namespaces lists the namespaces that this provider supports the class names listed in the ClassName[].
Required | boolean | true

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Status | string | CIM_ManagedSystemElement
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement