# Class CIM_DiagnosticService
extends CIM_Service

The CIM_DiagnosticService class provides the ability to start a service that functions to participate in a problem determination process. Specific diagnostic services SHOULD be defined by subclassing this class. Examples of a diagnostic service are tests, information retrievers, exercisers, and ports to external executives.

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_DiagnosticService

## Direct Known Subclasses

CIM_DiagnosticTest

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Abstract | boolean | true
Deprecated | string | CIM_DiagnosticService.RunDiagnosticService
Description | string | The CIM_DiagnosticService class provides the ability to start a service that functions to participate in a problem determination process. Specific diagnostic services SHOULD be defined by subclassing this class. Examples of a diagnostic service are tests, information retrievers, exercisers, and ports to external executives.
UMLPackagePath | string | CIM::System::Diagnostics
Version | string | 2.45.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
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
InstanceID | string | CIM_ManagedElement
LoSID | string | CIM_Service
LoSOrgID | string | CIM_Service
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### RunDiagnostic (uint32)

#### Method Qualifiers (RunDiagnostic)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_DiagnosticService.RunDiagnosticService
Description | string | This method is being deprecated as part of the change to have Diagnostic Settings derive from CIM_SettingData instead of CIM_Setting. The RunDiagnostic method is invoked to commence execution of a diagnostic program on a specific managed element. The input parameters specify this managed element and the settings that SHALL be applied to the diagnostic and the resultant job. The method returns a reference to the ConcreteJob instance created. Prior to invoking this method, clients SHALL examine the appropriate capabilities and create valid DiagnosticSetting and JobSettingData instances to apply as input parameters. Since settings may be changed without warning, the RunDiagnostic method SHOULD immediately evaluate and capture the attributes of DiagnsoticSetting in an instance of DiagnosticSettingRecord. This information is useful for post-mortem analysis of diagnostic results. A job SHALL be instantiated as a means for monitoring the diagnostic as it runs and to provide useful accounting and status information once the diagnostic has completed. The "Busy" return code indicates that the method cannot be invoked "at this time". It is not an error condition, but signals that the provider is doing something else and cannot respond.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000..0x7FFF, 0x8000..
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Busy, DMTF Reserved, Method Reserved, Vendor Specific

#### Method Parameters (RunDiagnostic)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
DiagSetting | REF CIM_DiagnosticSetting
Description | string | Specifies the desired settings that SHOULD be applied to the Diagnostic. If null, the Diagnostic's defaults MAY be used.
Job | REF CIM_ConcreteJob
Description | string | Returns a reference to the resulting Job.
IN | boolean | false
OUT | boolean | true
JobSetting | REF CIM_JobSettingData
Description | string | Specifies the desired settings that SHALL be applied to the resulting Job. If null, the job's defaults MAY be used.
ManagedElement | REF CIM_ManagedElement
Description | string | Specifies the element upon which the DiagnosticService SHOULD be run.

#### RunDiagnosticService (uint32)

#### Method Qualifiers (RunDiagnosticService)

Name | Data Type | Value
--- | --- | ---
Description | string | The RunDiagnosticService method is invoked to commence execution of a diagnostic program on a specific managed element. The input parameters specify this managed element and the settings to be applied to the diagnostic and the resultant job. The method returns a reference to the ConcreteJob instance created. Prior to invoking this method, clients examine defaults and appropriate capabilities and create valid DiagnosticSettingData and JobSettingData instances to apply as input parameters. The RunDiagnosticService method SHALL evaluate and capture the attributes of DiagnosticSettingData in an instance of DiagnosticSettingDataRecord for use in post-mortem analysis of diagnostic results. A job SHALL be instantiated as a means for monitoring the diagnostic as it runs and to provide useful accounting and status information once the diagnostic has completed. The "Busy" return code indicates that the method cannot be invoked "at this time". It is not an error condition, but signals that the provider is doing something else and cannot respond.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000..0x7FFF, 0x8000..
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Busy, DMTF Reserved, Method Reserved, Vendor Specific

#### Method Parameters (RunDiagnosticService)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
DiagnosticSettings | string
Description | string | A string containing an encoding of the DiagnosticSettingData instance to be applied to the diagnostic. If null, the diagnostic's defaults are used.
EmbeddedInstance | string | CIM_DiagnosticSettingData
JobSettings | string
Description | string | A string containing an encoding of the JobSettingData instance to be applied to the resulting job. If null, the job's defaults are used.
EmbeddedInstance | string | CIM_JobSettingData
Job | REF CIM_ConcreteJob
Description | string | Returns a reference to the resulting Job.
IN | boolean | false
OUT | boolean | true
ManagedElement | REF CIM_ManagedElement
Description | string | Specifies the element upon which the DiagnosticService SHOULD be run.

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
ChangeAffectedElementsAssignedSequence | uint32 | CIM_Service
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service