//----------------------------------------------------------------------------
//
// Copyright (c) Intel Corporation, 2003 - 2012 All Rights Reserved.
//
// File: CIM_ManagedSystemElement.cs
//
// Contents: CIM_ManagedSystemElement is the base class for the System Element hierarchy. Any distinguishable component of a System is a candidate for inclusion in this class. Examples of system components include:
// - software components such as application servers, databases, and applications
// - operating system components such as files, processes, and threads
// - device components such as disk drives, controllers, processors, and printers
// - physical components such as chips and cards.
// This file was automatically generated from CIM_ManagedSystemElement.mof
//
//----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Globalization;
using System.Xml.Serialization;
using System.IO;
using Intel.Manageability.WSManagement;
using Intel.Manageability.Cim.Untyped;
namespace Intel.Manageability.Cim.Typed
{
///
///CIM_ManagedSystemElement is the base class for the System Element hierarchy. Any distinguishable component of a System is a candidate for inclusion in this class. Examples of system components include:
///- software components such as application servers, databases, and applications
///- operating system components such as files, processes, and threads
///- device components such as disk drives, controllers, processors, and printers
///- physical components such as chips and cards.
///
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ManagedSystemElement")]
[System.Xml.Serialization.XmlRootAttribute("CIM_ManagedSystemElement", Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ManagedSystemElement", IsNullable=false)]
public class CIM_ManagedSystemElement : CIM_ManagedElement
{
///
/// Default constructor.
///
public CIM_ManagedSystemElement() :base()
{
}
///
/// Constructor that recieves an xml string for deserialization.
///
/// xml string to deserialize
public CIM_ManagedSystemElement(string xml): base((IWSManClient)null)
{
this.Deserialize(xml);
}
///
/// Constructor which recieves a Ws-Management client object.
///
/// Ws-Management client
public CIM_ManagedSystemElement(IWSManClient client): base(client)
{
}
///
/// Remove CommunicationStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveCommunicationStatus()
{
RemoveField("CommunicationStatus");
}
///
/// Is true if the field CommunicationStatus exists in the current object,
/// otherwise is false.
///
public virtual bool CommunicationStatusExist
{
get
{
return ContainsField("CommunicationStatus");
}
}
///
/// Optional, CommunicationStatus indicates the ability of the instrumentation to communicate with the underlying ManagedElement. CommunicationStatus consists of one of the following values: Unknown, None, Communication OK, Lost Communication, or No Contact.
/// A Null return indicates the implementation (provider) does not implement this property.
/// "Unknown" indicates the implementation is in general capable of returning this property, but is unable to do so at this time.
/// "Not Available" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property).
/// "Communication OK " indicates communication is established with the element, but does not convey any quality of service.
/// "No Contact" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.
/// "Lost Communication" indicates that the Managed Element is known to exist and has been contacted successfully in the past, but is currently unreachable.
///
[CimField(false, false)]
public virtual ushort CommunicationStatus
{
get
{
return ushort.Parse(this["CommunicationStatus"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("CommunicationStatus",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove DetailedStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveDetailedStatus()
{
RemoveField("DetailedStatus");
}
///
/// Is true if the field DetailedStatus exists in the current object,
/// otherwise is false.
///
public virtual bool DetailedStatusExist
{
get
{
return ContainsField("DetailedStatus");
}
}
///
/// Optional, DetailedStatus compliments PrimaryStatus with additional status detail. It consists of one of the following values: Not Available, No Additional Information, Stressed, Predictive Failure, Error, Non-Recoverable Error, SupportingEntityInError. Detailed status is used to expand upon the PrimaryStatus of the element.
/// A Null return indicates the implementation (provider) does not implement this property.
/// "Not Available" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property).
/// "No Additional Information" indicates that the element is functioning normally as indicated by PrimaryStatus = "OK".
/// "Stressed" indicates that the element is functioning, but needs attention. Examples of "Stressed" states are overload, overheated, and so on.
/// "Predictive Failure" indicates that an element is functioning normally but a failure is predicted in the near future.
/// "Non-Recoverable Error " indicates that this element is in an error condition that requires human intervention.
/// "Supporting Entity in Error" indicates that this element might be "OK" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems.
///
[CimField(false, false)]
public virtual ushort DetailedStatus
{
get
{
return ushort.Parse(this["DetailedStatus"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("DetailedStatus",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove HealthState field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveHealthState()
{
RemoveField("HealthState");
}
///
/// Is true if the field HealthState exists in the current object,
/// otherwise is false.
///
public virtual bool HealthStateExist
{
get
{
return ContainsField("HealthState");
}
}
///
/// Optional, Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its subcomponents. The possible values are 0 to 30, where 5 means the element is entirely healthy and 30 means the element is completely non-functional. The following continuum is defined:
/// "Non-recoverable Error" (30) - The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost.
/// "Critical Failure" (25) - The element is non-functional and recovery might not be possible.
/// "Major Failure" (20) - The element is failing. It is possible that some or all of the functionality of this component is degraded or not working.
/// "Minor Failure" (15) - All functionality is available but some might be degraded.
/// "Degraded/Warning" (10) - The element is in working order and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors.
/// "OK" (5) - The element is fully functional and is operating within normal operational parameters and without error.
/// "Unknown" (0) - The implementation cannot report on HealthState at this time.
/// DMTF has reserved the unused portion of the continuum for additional HealthStates in the future.
///
[CimField(false, false)]
public virtual ushort HealthState
{
get
{
return ushort.Parse(this["HealthState"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("HealthState",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove InstallDate field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveInstallDate()
{
RemoveField("InstallDate");
}
///
/// Is true if the field InstallDate exists in the current object,
/// otherwise is false.
///
public virtual bool InstallDateExist
{
get
{
return ContainsField("InstallDate");
}
}
///
/// Optional, A datetime value that indicates when the object was installed. Lack of a value does not indicate that the object is not installed.
///
[CimField(false, false)]
public virtual CimDateTime InstallDate
{
get
{
return CimDateTime.Parse(this["InstallDate"][0]);
}
set
{
this.SetOrAddField("InstallDate",value.ToString());
}
}
///
/// Remove Name field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveName()
{
RemoveField("Name");
}
///
/// Is true if the field Name exists in the current object,
/// otherwise is false.
///
public virtual bool NameExist
{
get
{
return ContainsField("Name");
}
}
///
/// Optional, The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.
///
[CimField(false, false)]
public virtual string Name
{
get
{
return this.GetField("Name")[0];
}
set
{
this.SetOrAddField("Name",value);
}
}
///
/// Remove OperatingStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveOperatingStatus()
{
RemoveField("OperatingStatus");
}
///
/// Is true if the field OperatingStatus exists in the current object,
/// otherwise is false.
///
public virtual bool OperatingStatusExist
{
get
{
return ContainsField("OperatingStatus");
}
}
///
/// Optional, OperatingStatus provides a current status value for the operational condition of the element and can be used for providing more detail with respect to the value of EnabledState. It can also provide the transitional states when an element is transitioning from one state to another, such as when an element is transitioning between EnabledState and RequestedState, as well as other transitional conditions.
/// OperatingStatus consists of one of the following values: Unknown, Not Available, In Service, Starting, Stopping, Stopped, Aborted, Dormant, Completed, Migrating, Emmigrating, Immigrating, Snapshotting. Shutting Down, In Test
/// A Null return indicates the implementation (provider) does not implement this property.
/// "Unknown" indicates the implementation is in general capable of returning this property, but is unable to do so at this time.
/// "None" indicates that the implementation (provider) is capable of returning a value for this property, but not ever for this particular piece of hardware/software or the property is intentionally not used because it adds no meaningful information (as in the case of a property that is intended to add additional info to another property).
/// "Servicing" describes an element being configured, maintained, cleaned, or otherwise administered.
/// "Starting" describes an element being initialized.
/// "Stopping" describes an element being brought to an orderly stop.
/// "Stopped" and "Aborted" are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the element might need to be updated.
/// "Dormant" indicates that the element is inactive or quiesced.
/// "Completed" indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded in the PrimaryStatus so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error).
/// "Migrating" element is being moved between host elements.
/// "Immigrating" element is being moved to new host element.
/// "Emigrating" element is being moved away from host element.
/// "Shutting Down" describes an element being brought to an abrupt stop.
/// "In Test" element is performing test functions.
/// "Transitioning" describes an element that is between states, that is, it is not fully available in either its previous state or its next state. This value should be used if other values indicating a transition to a specific state are not applicable.
/// "In Service" describes an element that is in service and operational.
///
[CimField(false, false)]
public virtual ushort OperatingStatus
{
get
{
return ushort.Parse(this["OperatingStatus"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("OperatingStatus",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove OperationalStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveOperationalStatus()
{
RemoveField("OperationalStatus");
}
///
/// Is true if the field OperationalStatus exists in the current object,
/// otherwise is false.
///
public virtual bool OperationalStatusExist
{
get
{
return ContainsField("OperationalStatus");
}
}
///
/// Optional, Indicates the current statuses of the element. Various operational statuses are defined. Many of the enumeration's values are self-explanatory. However, a few are not and are described here in more detail.
/// "Stressed" indicates that the element is functioning, but needs attention. Examples of "Stressed" states are overload, overheated, and so on.
/// "Predictive Failure" indicates that an element is functioning nominally but predicting a failure in the near future.
/// "In Service" describes an element being configured, maintained, cleaned, or otherwise administered.
/// "No Contact" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.
/// "Lost Communication" indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable.
/// "Stopped" and "Aborted" are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the element might need to be updated.
/// "Dormant" indicates that the element is inactive or quiesced.
/// "Supporting Entity in Error" indicates that this element might be "OK" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems.
/// "Completed" indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error).
/// "Power Mode" indicates that the element has additional power model information contained in the Associated PowerManagementService association.
/// "Relocating" indicates the element is being relocated.
/// OperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today's environment to the future. This change was not made earlier because it required the deprecated qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly recommended that providers or instrumentation provide both the Status and OperationalStatus properties. Further, the first value of OperationalStatus should contain the primary status for the element. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.
///
[CimField(false, false)]
public virtual ushort[] OperationalStatus
{
get
{
return CimTypesUtils.StringArrayToArray(this["OperationalStatus"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("OperationalStatus", arr);
}
}
///
/// Remove PrimaryStatus field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemovePrimaryStatus()
{
RemoveField("PrimaryStatus");
}
///
/// Is true if the field PrimaryStatus exists in the current object,
/// otherwise is false.
///
public virtual bool PrimaryStatusExist
{
get
{
return ContainsField("PrimaryStatus");
}
}
///
/// Optional, PrimaryStatus provides a high level status value, intended to align with Red-Yellow-Green type representation of status. It should be used in conjunction with DetailedStatus to provide high level and detailed health status of the ManagedElement and its subcomponents.
/// PrimaryStatus consists of one of the following values: Unknown, OK, Degraded or Error. "Unknown" indicates the implementation is in general capable of returning this property, but is unable to do so at this time.
/// "OK" indicates the ManagedElement is functioning normally.
/// "Degraded" indicates the ManagedElement is functioning below normal.
/// "Error" indicates the ManagedElement is in an Error condition.
///
[CimField(false, false)]
public virtual ushort PrimaryStatus
{
get
{
return ushort.Parse(this["PrimaryStatus"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("PrimaryStatus",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove Status field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveStatus()
{
RemoveField("Status");
}
///
/// Is true if the field Status exists in the current object,
/// otherwise is false.
///
public virtual bool StatusExist
{
get
{
return ContainsField("Status");
}
}
///
/// Optional, A string indicating the current status of the object. Various operational and non-operational statuses are defined. This property is deprecated in lieu of OperationalStatus, which includes the same semantics in its enumeration. This change is made for 3 reasons:
/// 1) Status is more correctly defined as an array. This definition overcomes the limitation of describing status using a single value, when it is really a multi-valued property (for example, an element might be OK AND Stopped.
/// 2) A MaxLen of 10 is too restrictive and leads to unclear enumerated values.
/// 3) The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property and did not want to modify their code. Therefore, Status was grandfathered into the Schema. Use of the deprecated qualifier allows the maintenance of the existing property, but also permits an improved definition using OperationalStatus.
///
[CimField(false, false)]
public virtual string Status
{
get
{
return this.GetField("Status")[0];
}
set
{
this.SetOrAddField("Status",value);
}
}
///
/// Remove StatusDescriptions field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveStatusDescriptions()
{
RemoveField("StatusDescriptions");
}
///
/// Is true if the field StatusDescriptions exists in the current object,
/// otherwise is false.
///
public virtual bool StatusDescriptionsExist
{
get
{
return ContainsField("StatusDescriptions");
}
}
///
/// Optional, Strings describing the various OperationalStatus array values. For example, if "Stopping" is the value assigned to OperationalStatus, then this property may contain an explanation as to why an object is being stopped. Note that entries in this array are correlated with those at the same array index in OperationalStatus.
///
[CimField(false, false)]
public virtual string[] StatusDescriptions
{
get
{
return CimTypesUtils.StringArrayToArray(this["StatusDescriptions"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("StatusDescriptions", arr);
}
}
///
/// Enumerate instances of CIM_ManagedSystemElement class at an endpoint.
///
/// WS-Management client
/// Keys for selecting the instances
/// Collection of CIM_ManagedSystemElement objects
public static new Collection Enumerate(IWSManClient client, CimBase.CimKeys cimKeys)
{
List ret = CimBase.Enumerate(client, cimKeys);
return new Collection(ret);
}
///
/// Enumerate instances of CIM_ManagedSystemElement class at an endpoint.
///
/// WS-Management client
/// Collection of CIM_ManagedSystemElement objects
public static new Collection Enumerate(IWSManClient client)
{
List ret = CimBase.Enumerate(client);
return new Collection(ret);
}
///
/// Delete the instance of CIM_ManagedSystemElement if it is singular.
/// Note: This method will succeed only if a single instance of the class exists.
///
/// WS-Management client
public static new void Delete(IWSManClient client)
{
CimBase.Delete(client);
}
///
/// Represents the keys of the CIM_ManagedSystemElement class.
///
public new class CimKeys : CIM_ManagedElement.CimKeys
{
}
}
}