(file) Return to CIM_Interop28.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim28

File: [Pegasus] / pegasus / Schemas / CIMPrelim28 / Attic / CIM_Interop28.mof (download)
Revision: 1.2, Thu Feb 24 20:47:28 2005 UTC (19 years, 3 months ago) by a.dunfey
Branch: MAIN
CVS Tags: TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP348_SCMO-merged_out_from_trunk, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, TASK-PEP311_WSMan-root, TASK-PEP311_WSMan-branch, RELEASE_2_5_0-RC1, HPUX_TEST, HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
PEP#: 215
TITLE: Remove old schemas

DESCRIPTION:

Removing old, unneeded schema files from the repository:

CIM 2.7
CIM 2.7.1 Preliminary
CIM 2.8 Preliminary
CIM 2.9 Preliminary

// ===================================================================
// Title:       Interoperability MOF Specification
// Filename:    CIM_Interop28.mof
// Version:     2.8
// Status:      Preliminary
// Date:        August 18, 2003
// ===================================================================
// Copyright 2001-2003 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given.
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
// ===================================================================
// Description: The object classes below are listed in an order that
//              avoids forward references. Required objects, defined
//              by other working groups, are omitted.
// ==================================================================
// 03 Aug 2003  - Version 2.8 Preliminary
//       CR1143 - add missing support for CIM 2.8 in the Interop28.mof
//       CR1128 - Introduce HostedDependency into the hierarchy.
//       CR1070 - Bring forward experimental classes
//       CR1000 - RegisteredProfile Model
//       CR0955 - Change property names in ProviderCapabilities
//       CR0923 - Add ID to Object Manager
//       CR0909 - Add the definition of CIM_Error class (+ to compile
//                without a key, Exception AND Indication qualifiers
//                needed)
// 
// 17 Mar 2003 - Version 2.7 Final
//       CR981 - Remove Experimental Qualifier
//               Note: Leave Provider Registration classes Experimental
//       in V2.8
//       CR957 - Add missing enumeration for ClassInfo
//       CR956 - Properties in CIM_ObjectManagerCommunicationMechanism
//               should be arrays.
//       CR954 - Correct Model Correspondence
//       CR953 - Add Write to SystemIdentification.IdentificationData
//       CR926 - Add ObjectManagerCommunicationMechanism.Version
//       CR890 - Correct the CommMechanismForAdapter association
// ==================================================================

#pragma Locale ("en_US")

// ==================================================================
// Compile prerequisite:  Core and Event MOFs
// ==================================================================


// ==================================================================
// WBEMService
// ==================================================================
   [Abstract, Version ("2.6.0"), Description (
       "An abstract class for WBEM services such as the ObjectManager "
       "(CIM Server), Providers, protocol adapters, or other pluggable "
       "components.  A type of CIM_Service that provides associated "
       "capabilities and details about the communication capabilities, "
       "namespaces, etc.  for a specific WBEMService.") ]
class CIM_WBEMService : CIM_Service {
};


// ==================================================================
// ObjectManager
// ==================================================================
   [Version ("2.7.1000"), Description (
       "A type of CIM_Service that defines the capabilities of the CIM "
       "Server in which this ObjectManager class resides.  Details "
       "related to communicating with the ObjectManager, and the "
       "Manager's basic capabilities, are stored in instances of the "
       "associated CommunicationMechanism class available through the "
       "CommMechanismForManager association.  It is assumed that Basic "
       "Read operations must be supported by all ObjectManager's in "
       "order to retrieve any additional detail.") ]
class CIM_ObjectManager : CIM_WBEMService {

      [Write, Description (
          "The GatherStatisticalData property is used to control the "
          "gathering of statistical data made accessible through the "
          "CIM_CIMOMStatisticalData objects.  If set to true, the data "
          "is gathered and can be accessed.  If false, the "
          "CIM_CIMOMStatisticalData instance MAY exist but MUST show "
          "zero values for the counter properties.") ]
   boolean GatherStatisticalData = true;

      [Override ("Name"), Description (
          "The Name property is used to uniquely identify a CIM "
          "Server.  The CIM Server MUST ensure that this value is "
          "globally unique.  In order to ensure uniqueness, this value "
          "SHOULD be constructed in the following manner.  <Vendor "
          "ID>:<Unique ID>\n"
          "<Vendor ID> MUST include a copyrighted, trademarked or "
          "otherwise unique name that is owned by the business entity "
          "or a registered ID that is assigned to the business entity "
          "that is defining the Name.  (This is similar to the <Schema "
          "Name>_<Class Name> structure of Schema class names.) The "
          "purpose of <Vendor ID> is to ensure that <ID> is truly "
          "unique across multiple vendor implementations.  If such a "
          "name is not used, the defining entity MUST assure that the "
          "<ID> portion of the Instance ID is unique when compared "
          "with other instance providers.  For DMTF defined instances, "
          "the <Vendor ID> is 'CIM'.\n"
          "<Unique ID> MUST include a vendor specified unique identifier.\n"
          "Note: Name is semantically the same as InstanceID.  In the "
          "next major version of the CIM Schema, Name will be renamed "
          "to InstanceID and become the only key of this class.") ]
   String Name;

      [Override ("ElementName"), Description (
          "The ElmentName property is used as a name of the CIM Server "
          "for human interfaces.  For example, \"ACME CIM Server\").  "
          "This property is required to support the SLP discovery "
          "mechanism.  In the next major release this property MAY "
          "include the required qualifier.") ]
   String ElementName;

      [Override ("Description"), Description (
          "The description property is used as a description of the "
          "CIM Server for human interfaces.  For example, \" ACME CIM "
          "Server version 2.2\").  This property is required to "
          "support the SLP discovery mechanism.  In the next major "
          "release this property MAY include the required qualifier.") ]
   String Description;
};


// ==================================================================
// ObjectManagerCommunicationMechanism
// ==================================================================
   [Version ("2.7.0"), Description (
       "The class, ObjectManagerCommunicationMechanism, describes "
       "access to an ObjectManager.  It describes a protocol and data "
       "encoding that can be used for communication.  When all "
       "instances of this class are enumerated for an ObjectManager "
       "(using the CommMechanismForManager association), all possible "
       "protocol and encoding schemes will be known.  Also, specific "
       "capabilities (for example, basic read or query) that are "
       "supported in the protocol/encoding are described - using the "
       "ProfilesSupported property.") ]
class CIM_ObjectManagerCommunicationMechanism : CIM_ServiceAccessPoint {

      [Required, Description (
          "CommunicationMechanism describes an encoding and protocol "
          "which can be used to communicate with the ObjectManager.  "
          "At this time, only one encoding and protocol are "
          "standardized by the DMTF - \"CIM-XML\".  If this is "
          "supported by an ObjectManager, the specified string should "
          "be indicated.  Other 'standard' strings may be defined.  In "
          "addition, a vendor specific encoding/protocol string may be "
          "used."), 
       ValueMap {"0", "1", "2"}, 
       Values {"Unknown", "Other", "CIM-XML"} ]
   uint16 CommunicationMechanism;

      [Description (
          "A free-form string providing a description of the supported "
          "protocols when 1, \"Other\", is specified in the "
          "CommunicationMechanism."), 
       ModelCorrespondence { 
          "CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism"} ]
   string OtherCommunicationMechanismDescription;

      [Required, Description (
          "Enumerated array describing the types of operations "
          "supported by the ObjectManager, using this "
          "encoding/protocol.  The enumeration is based on the "
          "Functional Profiles defined for conformance in the DMTF "
          "document, Specification for CIM Operations over HTTP."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, 
       Values {"Unknown", "Other", "Basic Read", "Basic Write",
           "Schema Manipulation", "Instance Manipulation",
           "Association Traversal", "Query Execution",
           "Qualifier Declaration", "Indications"} ]
   uint16 FunctionalProfilesSupported[];

      [Description (
          "Free-form strings providing descriptions of the supported "
          "operations of the object manager.  Entries in the array are "
          "correlated with those in the ProfilesSupported array.  An "
          "entry in this Descriptions array MUST be provided when 1, "
          "\"Other\", is specified in the ProfilesSupported array."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism." 
          "FunctionalProfilesSupported"} ]
   string FunctionalProfileDescriptions[];

      [Required, Description (
          "Boolean indicating whether the ObjectManager supports "
          "multiple operation requests (TRUE) or only simple requests "
          "(FALSE).") ]
   boolean MultipleOperationsSupported;

      [Required, Description (
          "Enumerated array describing the types of authentication "
          "supported by the ObjectManager, using the "
          "encoding/protocol.  specified in the property, "
          "CommunicationMEchanism.  The defined values represent the "
          "authentication defined in the DMTF document, Specification "
          "for CIM Operations over HTTP."), 
       ValueMap {"0", "1", "2", "3", "4"}, 
       Values {"Unknown", "Other", "None", "Basic", "Digest"}, 
       ArrayType ("Indexed"), 
       ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism." 
          "AuthenticationMechanismDescriptions"} ]
   uint16 AuthenticationMechanismsSupported[];

      [Description (
          "Free-form strings providing descriptions of the supported "
          "mechanisms.  Entries in this array are correlated with "
          "those in the AuthenticationMechanismsSupported array.  An "
          "entry in this Descriptions array MUST be provided when 1, "
          "\"Other\", is specified in "
          "AuthenticationMechanismsSupported."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence { "CIM_ObjectManagerCommunicationMechanism." 
          "AuthenticationMechanismsSupported"} ]
   string AuthenticationMechanismDescriptions[];

      [Required, Description (
          "Provides the protocol version for this service access "
          "point.  Version information MUST be in the form of M.N, "
          "where M is a numeric that describes the Major version and N "
          "is a numeric that describes the minor version.") ]
   string Version;
};


// ==================================================================
// CIMXMLCommunicationMechanism
// ==================================================================
   [Version ("2.6.0"), Description (
       "This class specializes ObjectManagerCommunicationMechanism, "
       "adding properties specific to the CIM-XML protocol (XML "
       "encoding and CIM Operations).") ]
class CIM_CIMXMLCommunicationMechanism : CIM_ObjectManagerCommunicationMechanism {

      [Required, Override ("CommunicationMechanism") ]
   uint16 CommunicationMechanism = 2;

      [Required, Override ("Version"), Description (
          "Enumeration describing the CIM-XML protocol version "
          "supported by the ObjectManager."), 
       ValueMap {"1.0", "1.1", "1.2"} ]
   string Version;

      [Deprecated {"CIM_CIMXMLCommunicationMechanism.Version"},
       Required, Description (
          "Enumeration describing the CIM-XML protocol version "
          "supported by the ObjectManager.  It is deprecated in lieu "
          "of a more general, inherited property (Version)."), 
       ValueMap {"0", "1"}, 
       Values {"Unknown", "1.0"} ]
   uint16 CIMXMLProtocolVersion;

      [Required, Description (
          "Describes whether the CIM Server is strictly validating "
          "(validates the XML document against the DTD) or not "
          "(loosely validating).") ]
   boolean CIMValidated;
};


// ==================================================================
// CommMechanismForManager
// ==================================================================
   [Association, Version ("2.6.0"), Description (
       "CommMechanismForManager is an association between an "
       "ObjectManager and an ObjectManagerCommunicationMechanism "
       "class.  The latter describes a possible encoding/protocol/ set "
       "of operations for accessing the referenced ObjectManager.") ]
class CIM_CommMechanismForManager : CIM_ServiceAccessBySAP {

      [Override ("Antecedent"), Min (1), Max (1), Description (
          "The specific ObjectManager whose communication mechanism is "
          "described.") ]
   CIM_ObjectManager REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The encoding/protocol/set of operations that may be used to "
          "communicate with the referenced ObjectManager.") ]
   CIM_ObjectManagerCommunicationMechanism REF Dependent;
};


// ==================================================================
// ProtocolAdapter
// ==================================================================
   [Version ("2.7.0"), Description (
       "A ProtocolAdapter is a Service of the CIM Object Manager.  It "
       "is responsible for accepting incoming requests on a particular "
       "protocol, and translating and forwarding the request to the "
       "CIM Object Manager.  It is also responsible for translating "
       "and sending the response from the CIM Object Manager.") ]
class CIM_ProtocolAdapter : CIM_WBEMService {

      [Override ("Name"), Description (
          "A human-readable name that uniquely identifies the Protocol "
          "Adapter within a system.") ]
   string Name;

      [Required, Description (
          "An implementation specific string that identifies the "
          "handle to the ProtocolAdapter.") ]
   string Handle;

      [Required, Description (
          "ProtocolAdapterType enumerates the kind of Protocol "
          "Adapter."), 
       ValueMap {"1", "2", "3"}, 
       Values {"Other", "Client", "Provider"}, 
       ModelCorrespondence { 
          "CIM_ProtocolAdapter.OtherProtocolAdapterType"} ]
   uint16 ProtocolAdapterType;

      [Description (
          "The type(s) of ProtocolAdapter when \"Other\" is included "
          "in ProtocolAdapterType property."), 
       ModelCorrespondence { "CIM_ProtocolAdapter.ProtocolAdapterType"} ]
   string OtherProtocolAdapterType;
};


// ==================================================================
// CommMechanismForAdapter
// ==================================================================
   [Association, Version ("2.7.0"), Description (
       "CommMechanismForAdapter is an association between an "
       "ObjectManager's communication mechanism and a ProtocolAdapter "
       "that supports that mechanism to translate requests and "
       "responses for the Object Manager.") ]
class CIM_CommMechanismForAdapter : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The specific ProtocolAdapter whose communication mechanism "
          "with the CIM Object Manager is described.") ]
   CIM_ProtocolAdapter REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The encoding/protocol/set of operations that may be used to "
          "communicate between the Object Manager and the referenced "
          "ProtocolAdapter.") ]
   CIM_ObjectManagerCommunicationMechanism REF Dependent;
};


// ==================================================================
// Namespace
// ==================================================================
   [Version ("2.7.1000"), Description (
       "Namespace provides a domain (in other words, a container), in "
       "which the instances [of a class] are guaranteed to be unique "
       "per the KEY qualifier definitions.  It is named relative to "
       "the CIM_ObjectManager implementation that provides such a "
       "domain.") ]
class CIM_Namespace : CIM_ManagedElement {

      [Key, Propagated ("CIM_ObjectManager.SystemCreationClassName"), 
       Description (
          "The scoping System's CreationClassName."), 
       MaxLen (256) ]
   string SystemCreationClassName;

      [Key, Propagated ("CIM_ObjectManager.SystemName"), Description (
          "The scoping System's Name."), 
       MaxLen (256) ]
   string SystemName;

      [Key, Propagated ("CIM_ObjectManager.CreationClassName"), 
       Description (
          "The scoping ObjectManager's CreationClassName."), 
       MaxLen (256) ]
   string ObjectManagerCreationClassName;

      [Key, Propagated ("CIM_ObjectManager.Name"), Description (
          "The scoping ObjectManager's Name."), 
       MaxLen (256) ]
   string ObjectManagerName;

      [Key, Description (
          "CreationClassName indicates the name of the class or the "
          "subclass used in the creation of an instance.  When used "
          "with the other key properties of this class, this property "
          "allows all instances of this class and its subclasses to be "
          "uniquely identified."), 
       MaxLen (256) ]
   string CreationClassName;

      [Key, Description (
          "A string to uniquely identify the Namespace within the "
          "ObjectManager."), 
       MaxLen (256) ]
   string Name;

      [Required, Write, Description (
          "Enumeration indicating the organization/schema of the "
          "Namespace's objects.  For example, they may be instances of "
          "classes of a specific CIM version."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "200", "201", "202"}, 
       Values {"Unknown", "Other", "CIM 1.0", "CIM 2.0", "CIM 2.1",
          "CIM 2.2", "CIM 2.3", "CIM 2.4", "CIM 2.5", "CIM 2.6",
           "CIM 2.7", "CIM 2.8", "DMI Recast", "SNMP Recast",
           "CMIP Recast"}, 
       ModelCorrespondence {"CIM_Namespace.DescriptionOfClassInfo"} ]
   uint16 ClassInfo;

      [Write, Description (
          "A string providing more detail (beyond the general "
          "classification in ClassInfo) for the object hierarchy of "
          "the Namespace."), 
       ModelCorrespondence {"CIM_Namespace.ClassInfo"} ]
   string DescriptionOfClassInfo;
};


// ==================================================================
// SystemIdentification
// ==================================================================
   [Version ("2.7.0"), Description (
       "A Namespace may represent data for one or many systems, that "
       "are local, remote (different than the system on which the "
       "ObjectManager is running) or aggregated.  The System "
       "Identification class provides enough data to identify the "
       "system(s) represented in the Namespace.  It is weak to the "
       "Namespace.") ]
class CIM_SystemIdentification : CIM_ManagedElement {

      [Key, Propagated ("CIM_Namespace.SystemCreationClassName"), 
       Description (
          "The scoping System's CreationClassName."), 
       MaxLen (256) ]
   string SystemCreationClassName;

      [Key, Propagated ("CIM_Namespace.SystemName"), Description (
          "The scoping System's Name."), 
       MaxLen (256) ]
   string SystemName;

      [Key, Propagated ("CIM_Namespace.ObjectManagerCreationClassName"), 
       Description (
          "The scoping ObjectManager's CreationClassName."), 
       MaxLen (256) ]
   string ObjectManagerCreationClassName;

      [Key, Propagated ("CIM_Namespace.ObjectManagerName"), 
       Description (
          "The scoping ObjectManager's Name."), 
       MaxLen (256) ]
   string ObjectManagerName;

      [Key, Propagated ("CIM_Namespace.CreationClassName"), 
       Description (
          "The scoping Namespace's CreationClassName."), 
       MaxLen (256) ]
   string NamespaceCreationClassName;

      [Key, Propagated ("CIM_Namespace.Name"), Description (
          "The scoping Namespace's Name."), 
       MaxLen (256) ]
   string NamespaceName;

      [Key, Description (
          "CreationClassName indicates the name of the class or the "
          "subclass used in the creation of an instance.  When used "
          "with the other key properties of this class, this property "
          "allows all instances of this class and its subclasses to be "
          "uniquely identified."), 
       MaxLen (256) ]
   string CreationClassName;

      [Key, Description (
          "A string uniquely identifying the name of the system "
          "represented in the Namespace."), 
       MaxLen (256) ]
   string Name;

      [Required, Write, Description (
          "Enumeration indicating the format of the system "
          "identification and/or addressing information."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11"}, 
       Values {"Unknown", "Other", "Short DNS Name",
           "Fully qualified DNS Name", "Windows Domain Name",
           "NetWare Server Name", "Unix Hostname",
           "Globally Unique System Identifier", "IP Address",
           "Modem Dialup String", "MAC Address", "IPMI Address" }, 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_SystemIdentification.IdentificationData",
          "CIM_SystemIdentification.FormatDescriptions"} ]
   uint16 IdentificationFormats[];

      [Write, Description (
          "Strings further describing the format of the system "
          "identification information."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_SystemIdentification.IdentificationFormats",
          "CIM_SystemIdentification.IdentificationData"} ]
   string FormatDescriptions[];

      [Write, Description (
          "Strings containing the system identification information.  "
          "The format is described by the corresponding array item in "
          "IdentificationFormats."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_SystemIdentification.IdentificationFormats",
          "CIM_SystemIdentification.FormatDescriptions"} ]
   string IdentificationData[];
};


// ==================================================================
// NamespaceInManager
// ==================================================================
   [Association, Version ("2.7.0"), Description (
       "NamespaceInManager is an association describing the Namespaces "
       "hosted by a CIM ObjectManager.") ]
class CIM_NamespaceInManager : CIM_HostedDependency {

      [Override ("Antecedent"), Min (1), Max (1), Description (
          "The ObjectManager containing a Namespace.") ]
   CIM_ObjectManager REF Antecedent;

      [Override ("Dependent"), Weak, Description (
          "The Namespace in an ObjectManager.") ]
   CIM_Namespace REF Dependent;
};


// ==================================================================
// SystemInNamespace
// ==================================================================
   [Association, Version ("2.6.0"), Description (
       "SystemInNamespace is an association that allows enumeration of "
       "the system(s) represented in a Namespace.") ]
class CIM_SystemInNamespace {

      [Key, Min (1), Max (1), Description (
          "The Namespace containing management objects from one or "
          "more systems.") ]
   CIM_Namespace REF ManagedNamespace;

      [Key, Weak, Description (
          "Identification information for systems in the Namespace.") ]
   CIM_SystemIdentification REF Identification;

      [Required, Write, Description (
          "A list of enumerated values providing a high level "
          "description of the data contained and allowed in the "
          "Namespace.  Additional clarification is provided in the "
          "DescriptionOfContainedData array."), 
       ValueMap {"0", "1", "2", "3", "4"}, 
       Values {"Unknown", "Other", "Local System Data",
           "Data Aggregated from Multiple Systems", "Proxied Data"}, 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_SystemInNamespace.DescriptionOfContainedData"} ]
   uint16 ScopeOfContainedData[];

      [Write, Description (
          "An array of free-form strings providing more detailed "
          "explanations for the data/objects contained in the "
          "Namespace, as described by the ContainedData array.  Note, "
          "each entry of this array is related to the entry in the "
          "ContainedData array that is located at the same index."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_SystemInNamespace.ScopeOfContainedData"} ]
   string DescriptionOfContainedData[];
};


// ==================================================================
// IdentificationOfManagedSystem
// ==================================================================
   [Association, Version ("2.6.0"), Description (
       "IdentificationOfManagedSystem is an association that links the "
       "SystemIdentification object to the CIM_System(s) that are "
       "being identified and represented in the Namespace.") ]
class CIM_IdentificationOfManagedSystem : CIM_Dependency {

      [Override ("Antecedent"), Max (1), Description (
          "The System which is identified.") ]
   CIM_System REF Antecedent;

      [Override ("Dependent"), Max (1), Description (
          "The SystemIdentification information.") ]
   CIM_SystemIdentification REF Dependent;
};


// ==================================================================
// CIMOMStatisticalData
// ==================================================================
   [Version ("2.7.0"), Description (
       "CIM_CIMOMStatisticalData provides statistical data about the "
       "performance of the CIM Object Manager.  Each object of this "
       "class provides elapsed time and size data for a particular "
       "type of CIM operation.  All operations of that type, "
       "regardless of the CIM operations protocol being used, are "
       "accumulated in one object and covers the CIM operations issued "
       "by all clients of the Object Manager scoping the instance.  "
       "Batched CIM operations are accumulated into a separate "
       "operation type for \"Batched\".  The counters in this class "
       "SHOULD be implemented such that they always increment and "
       "naturally wrap around when their numerical limit is exceeded.  "
       "A client that calculates the difference of two snapshots of a "
       "counter at the beginning and end of a measurement interval "
       "should get the correct result, even if there was a wrap-around "
       "in between obtaining the two snapshots.  (Two or more wrap "
       "arounds will result in wrong data being calculated.) The "
       "gathering of the data can be controlled through the property, "
       "CIM_ObjectManager.GatherStatisticalData.  The time interval to "
       "which the statistical data applies, ends at the current time "
       "and therefore includes the most current CIM operations.  The "
       "interval starts when the statistical data gathering was last "
       "turned on for the Object Manager.") ]
class CIM_CIMOMStatisticalData : CIM_StatisticalData {

      [Override ("InstanceID"), Description (
          "The InstanceID property opaquely identifies a unique "
          "instance of CIMOMStatisticalData and MUST be unique within "
          "a namespace.  In order to ensure uniqueness, the value of "
          "InstanceID MUST be constructed in the following manner:\n"
          " CIM<ID>\n"
          "The <ID> MUST include a CIM Object Manager specified unique "
          "identifier.") ]
   string InstanceID;

      [Required, Description (
          "The OperationType property identifies the type of CIM "
          "operation for which data is reported in this instance.  "
          "Batched CIM operations (consisting of multiple simple CIM "
          "operations) are reported against the \"Batched\" type "
          "only."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
          "20", "21", "22", "23", "24", "25", "26" }, 
       Values {"Unknown", "Other", "Batched", "GetClass",
          "GetInstance", "DeleteClass", "DeleteInstance",
          "CreateClass", "CreateInstance", "ModifyClass", 
       // 10  
       "ModifyInstance", "EnumerateClasses", "EnumerateClassNames",
          "EnumerateInstances", "EnumerateInstanceNames", "ExecQuery",
          "Associators", "AssociatorNames", "References",
          "ReferenceNames", 
       // 20  
       "GetProperty", "SetProperty", "GetQualifier", "SetQualifier",
          "DeleteQualifier", "EnumerateQualifiers",
          "IndicationDelivery" }, 
       ModelCorrespondence { 
          "CIM_CIMOMStatisticalData.OtherOperationType"} ]
   uint16 OperationType;

      [Description (
          "The OtherOperationType property identifies the operation if "
          "the OperationType property has a value of 1 (\"Other\").  "
          "For all other values of OperationType, the property is "
          "NULL."), 
       MaxLen (64), 
       ModelCorrespondence { "CIM_CIMOMStatisticalData.OperationType"} ]
   string OtherOperationType;

      [Required, Description (
          "The NumberOfOperations property contains the number of CIM "
          "operations of the specified type.  This property can be "
          "used to calculate average values per CIM operation."), 
       Counter ]
   uint64 NumberOfOperations;

      [Required, Description (
          "The CimomElapsedTime property contains the elapsed time "
          "spent in the CIM Object Manager for this operation type, "
          "not counting the elapsed time spent in providers and the "
          "underlying instrumentation.  The measurement points for "
          "this property SHOULD be at the transport layer interface on "
          "the network side, and at the provider interface on the "
          "instrumentation side of the CIM Object Manager."), 
       Counter ]
   datetime CimomElapsedTime;

      [Required, Description (
          "The ProviderElapsedTime property contains the elapsed time "
          "spent in all providers involved with this operation type, "
          "including the underlying instrumentation.  The measurement "
          "point for this property SHOULD be from the provider "
          "interface of the CIM Object Manager."), 
       Counter ]
   datetime ProviderElapsedTime;

      [Description (
          "The RequestSize property contains the size of the operation "
          "requests sent to the CIM Object Manager.  Any overhead of "
          "protocols above the transport protocol SHOULD be included "
          "in the count.  For example, for the HTTP protocol, the size "
          "would include the size of the HTTP payload and the size of "
          "the HTTP headers."), 
       Units ("Bytes"), Counter ]
   uint64 RequestSize;

      [Description (
          "The ResponseSize property contains the size of the "
          "operation responses sent back from the CIM Object Manager.  "
          "Any overhead of protocols above the transport protocol "
          "SHOULD be included in the count.  For example, for the HTTP "
          "protocol, the size would include the size of the HTTP "
          "payload and the size of the HTTP headers."), 
       Units ("Bytes"), Counter ]
   uint64 ResponseSize;
};


// ====================================================================
// CIM_Error
// ====================================================================
   [Indication, Experimental, Exception, Version ("2.7.1000"), 
    Description (
       "CIM_Error is a specialized class that contains information "
       "about the severity, cause, recommended actions and other data "
       "related to the failure of a CIM Operation.  Instances of this "
       "type MAY be included as part of the response to a CIM Operation.\n"
       "\n"
       "CIM_Errors like CIM_Indications do not persist, and therefore "
       "do not have keys.  Currently, this is only allowed by defining "
       "a concrete class with the Indication qualifier.  Until the CIM "
       "Specification is modified to allow other concrete classes "
       "without keys, the CIM_Error class MUST be qualified by both "
       "Indication and Exception.  After this, the Indication "
       "qualifier can be removed.") ]
class CIM_Error {

      [Description (
          "Primary classification of the error.  The following values "
          "are defined:\n"
          "2 - Communications Error.  Errors of this type are "
          "principally associated with the procedures and/or processes "
          "required to convey information from one point to another.\n"
          "3 - Quality of Service Error.  Errors of this type are "
          "principally associated with failures that result in reduced "
          "functionality or performance.\n"
          "4 - Software Error.  Error of this type are principally "
          "associated with a software or processing fault.\n"
          "5 - Hardware Error.  Errors of this type are principally "
          "associated with an equipment or hardware failure.\n"
          "6 - Environmental Error.  Errors of this type are "
          "principally associated with a failure condition relating "
          "the to facility, or other environmental considerations.\n"
          "7 - Security Error.  Errors of this type are associated "
          "with security violations, detection of viruses, and similar issues.\n"
          "8 - Oversubscription Error.  Errors of this type are "
          "principally associated with the failure to allocate "
          "sufficient resources to complete the operation.\n"
          "9 - Unavailable Resource Error.  Errors of this type are "
          "principally associated with the failure to access a "
          "required resource.\n"
          "10 -Unsupported Operation Error.  Errors of this type are "
          "principally associated with requests that are not supported.\n"
          ""), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10"}, 
       Values {"Unknown", "Other", "Communications Error",
           "Quality of Service Error", "Software Error",
           "Hardware Error", "Environmental Error", "Security Error",
          "Oversubscription Error", "Unavailable Resource Error",
          "Unsupported Operation Error"} ]
   uint16 ErrorType;

      [Description (
          "A free-form string describing the ErrorType when 1, "
          "\"Other\", is specified as the ErrorType."), 
       ModelCorrespondence {"CIM_Error.ErrorType"} ]
   string OtherErrorType;

      [Required, Description (
          "A string that uniquely identifies the entity that owns the "
          "definition of the MessageFormatString used in this "
          "instance.  OwningEntity MUST include a copyrighted, "
          "trademarked or otherwise unique name that is owned by the "
          "business entity or standards body defining the format.") ]
   string OwningEntity;

      [Required, Description (
          "A numerical status code that uniquely identifies the the "
          "MessageFormatString within the scope of the OwningEntity.") ]
   uint64 MessageID;

      [Required, Description (
          "A format string that describes the message.  This includes "
          "the description of the static text of the message as well "
          "as the location of any dynamic context.  The dynamic "
          "content of a message is contained in the MessageArgument "
          "array.  A MessageFormatString MUST be a valid CIM string "
          "constant.  The location of dynamic content with the "
          "MessageFormatString is designated using the printf style "
          "format sequence \"%s\".  Additional printf sequences MAY be "
          "supported, however \"%s\" is the only format sequence that "
          "MUST be supported.") ]
   string MessageFormatString;

      [Description (
          "An array containing the dynamic content of the message.") ]
   string MessageArguments [];

      [Required, Description (
          "An enumerated value that describes the severity of the "
          "error from the notifier's point of view:\n"
          "2 - Low should be used for noncritical issues such as "
          "invalid parameters, incorrect usage, unsupported functionality.\n"
          "3 - Medium should be used to indicate action is needed, but "
          "the situation is not serious at this time.\n"
          "4 - High should be used to indicate action is needed NOW.\n"
          "5 - Fatal should be used to indicate a loss of data or "
          "unrecoverable system or service failure.\n"
          ""), 
       ValueMap {"0", "2", "3", "4", "5"}, 
       Values {"Unknown", "Low", "Medium", "High", "Fatal"} ]
   uint16 PerceivedSeverity;

      [Required, Description (
          "An enumerated value that describes the probable cause of "
          "the error."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
          "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
          "30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
          "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
          "50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
          "60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
          "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
          "80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
          "90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
          "100", "101", "102", "103", "104", "105", "106", "107",
          "108", "109", "110", "111", "112", "113", "114", "115",
          "116", "117", "118", "119", "120", "121", "122", "123",
          "124", "125", "126", "127", "128", "129", "130"}, 
       Values {"Unknown", "Other", "Adapter/Card Error",
           "Application Subsystem Failure", "Bandwidth Reduced",
          "Connection Establishment Error",
           "Communications Protocol Error",
           "Communications Subsystem Failure",
          "Configuration/Customization Error", "Congestion",
           "Corrupt Data", "CPU Cycles Limit Exceeded",
           "Dataset/Modem Error", "Degraded Signal",
           "DTE-DCE Interface Error", "Enclosure Door Open",
           "Equipment Malfunction", "Excessive Vibration",
           "File Format Error", "Fire Detected", "Flood Detected",
          "Framing Error", "HVAC Problem", "Humidity Unacceptable",
          "I/O Device Error", "Input Device Error", "LAN Error",
          "Non-Toxic Leak Detected", "Local Node Transmission Error",
          "Loss of Frame", "Loss of Signal", 
       //31 
       "Material Supply Exhausted", "Multiplexer Problem",
           "Out of Memory", "Output Device Error",
           "Performance Degraded", "Power Problem",
           "Pressure Unacceptable",
           "Processor Problem (Internal Machine Error)",
           "Pump Failure", "Queue Size Exceeded", "Receive Failure",
          "Receiver Failure", "Remote Node Transmission Error",
          "Resource at or Nearing Capacity", "Response Time Excessive",
          "Retransmission Rate Excessive", "Software Error",
           "Software Program Abnormally Terminated",
           "Software Program Error (Incorrect Results)",
           "Storage Capacity Problem", "Temperature Unacceptable",
          "Threshold Crossed", "Timing Problem", "Toxic Leak Detected",
          "Transmit Failure", "Transmitter Failure",
           "Underlying Resource Unavailable", "Version Mismatch",
          "Previous Alert Cleared", 
       //60 
       "Login Attempts Failed", "Software Virus Detected",
           "Hardware Security Breached", "Denial of Service Detected",
          "Security Credential Mismatch", "Unauthorized Access",
           "Alarm Received", "Loss of Pointer", "Payload Mismatch",
          "Transmission Error", "Excessive Error Rate",
           "Trace Problem", "Element Unavailable", "Element Missing",
          "Loss of Multi Frame", "Broadcast Channel Failure",
           "Invalid Message Received", "Routing Failure",
           "Backplane Failure", "Identifier Duplication",
           "Protection Path Failure", "Sync Loss or Mismatch",
          "Terminal Problem", "Real Time Clock Failure",
           "Antenna Failure", "Battery Charging Failure",
           "Disk Failure", "Frequency Hopping Failure",
           "Loss of Redundancy", "Power Supply Failure",
           "Signal Quality Problem", 
       //91 
       "Battery Discharging", "Battery Failure",
           "Commercial Power Problem", "Fan Failure", "Engine Failure",
          "Sensor Failure", "Fuse Failure", "Generator Failure",
           "Low Battery", "Low Fuel", "Low Water", "Explosive Gas",
          "High Winds", "Ice Buildup", "Smoke", "Memory Mismatch",
           "Out of CPU Cycles", "Software Environment Problem",
          "Software Download Failure", "Element Reinitialized",
          "Timeout", "Logging Problems", "Leak Detected",
           "Protection Mechanism Failure", 
       //115 
       "Protecting Resource Failure", "Database Inconsistency",
          "Authentication Failure", "Breach of Confidentiality",
           "Cable Tamper", "Delayed Information",
           "Duplicate Information", "Information Missing",
           "Information Modification", "Information Out of Sequence",
          "Key Expired", "Non-Repudiation Failure",
           "Out of Hours Activity", "Out of Service",
           "Procedural Error", "Unexpected Information"}, 
       MappingStrings {"Recommendation.ITU|X733.Probable cause",
          "Recommendation.ITU|M3100.probableCause",
          "ITU-IANA-ALARM-TC"}, 
       ModelCorrespondence {"CIM_Error.ProbableCauseDescription"} ]
   uint16 ProbableCause;

      [Description (
          "A free-form string describing the probable cause of the "
          "error."), 
       ModelCorrespondence {"CIM_Error.ProbableCause"} ]
   string ProbableCauseDescription;

      [Description (
          "A free-form string describing recommended actions to take "
          "to resolve the error.") ]
   string RecommendedActions[];

      [Description (
          "The identifying information of the entity generating the "
          "error.") ]
   string ErrorSource;
};


// ==================================================================
// RegisteredProfile
// ==================================================================
   [Experimental, Version ("2.7.1000"), Description (
       "A RegisteredProfile describes a set of CIM Schema classes with "
       "required properties and/or methods, necessary to manage a "
       "real-world entity or to support a usage scenario, in an "
       "interoperable fashion.  RegisteredProfiles can be defined by "
       "the DMTF or other standards organizations.  Note that this "
       "class should not be confused with CIM_Profile, which collects "
       "SettingData instances, to be applied as a 'configuration "
       "profile' for an element.\n"
       "A RegisteredProfile is a named 'standard' for CIM-based "
       "management of a particular System, subsystem, Service or other "
       "entity, for a specified set of uses.  It is a complete, "
       "standalone definition, as opposed to the subclass "
       "RegisteredSubProfile, which requires a scoping profile for context.\n"
       "The uses for a RegisteredProfile or SubProfile MUST be "
       "specified in the document that defines the profile.  Examples "
       "of Profiles are to manage various aspects of an Operating "
       "System, Storage Array, or Database.  The name of the profile "
       "is defined and scoped by its authoring organization.") ]
class CIM_RegisteredProfile : CIM_ManagedElement {

      [Key, Description (
          "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:\n"
          " <OrgID>:<LocalID>\n"
          "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>.\n"
          "<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.\n"
          "For DMTF defined instances, the 'preferred' algorithm MUST "
          "be used with the <OrgID> set to 'CIM'.") ]
   string InstanceID;

      [Required, Description (
          "The organization that defines this profile."), 
       ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
          "11", "12", "13", "14", "15", "16", "17", "18", "19"}, 
       Values {"Other", "DMTF", "CompTIA",
           "Consortium for Service Innovation", "FAST", "GGF", "INTAP",
          "itSMF", "NAC", 
       //10 
       "Northwest Energy Efficiency Alliance", "SNIA", "TM Forum",
           "The Open Group", "ANSI", "IEEE", "IETF", "INCITS", "ISO",
          "W3C"}, 
       ModelCorrespondence { 
          "CIM_RegisteredProfile.OtherRegisteredOrganization"} ]
   uint16 RegisteredOrganization;

      [Description (
          "A free-form string providing a description of the "
          "organization when 1, \"Other\", is specified for the "
          "RegisteredOrganization."), 
       MaxLen (256), 
       ModelCorrespondence { 
          "CIM_RegisteredProfile.RegisteredOrganization"} ]
   string OtherRegisteredOrganization;

      [Required, Description (
          "A string to identify this RegisteredProfile.  It is the "
          "responsibility of the defining organization to ensure that "
          "the profile's name is unique within the scope of the "
          "organization."), 
       MaxLen (256) ]
   string RegisteredName;

      [Required, Description (
          "The version of this profile.  The string representing the "
          "version MUST be in the form:\n"
          "M + \".\" + N + \".\" + U\n"
          " Where:\n"
          "M - The major version (in numeric form) describing the "
          "profile's creation or last modification.\n"
          "N - The minor version (in numeric form) describing the "
          "profile's creation or last modification.\n"
          "U - The update (e.g.  errata, patch, ..., in numeric form) "
          "describing the profile's creation or last modification.") ]
   string RegisteredVersion;

      [Required, Description (
          "This property signifies the advertisement for the profile "
          "information.  It is used by the advertising services of the "
          "WBEM infrastructure to determine what should be advertised, "
          "via what mechanisms.  The property is an array so that the "
          "profile MAY be advertised using several mechanisms.  Note: "
          "If this property is null/uninitialized, this is equivalent "
          "to specifying the value 2, \"Not Advertised\"."), 
       ValueMap {"1", "2", "3"}, 
       Values {"Other", "Not Advertised", "SLP"}, 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_RegisteredProfile.AdvertiseTypeDescriptions"} ]
   uint16 AdvertiseTypes[];

      [Description (
          "A free-form string providing additional information related "
          "to the AdvertiseType.  A description MUST be provided when "
          "the AdvertiseType is 1, \"Other\".  An entry in this array "
          "corresponds to the entry in the AdvertiseTypes array at the "
          "same index.  It is not expected that additional "
          "descriptions are needed if the Type is set to \"Not "
          "Advertised\" or \"SLP\".  However, as the SLP template "
          "expands, or as other advertisement mechanisms are defined, "
          "support for additional descriptions may be needed.  This "
          "array is defined to support this."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence {"CIM_RegisteredProfile.AdvertiseTypes"} ]
   string AdvertiseTypeDescriptions[];
};


// ==================================================================
// RegisteredSubProfile
// ==================================================================
   [Experimental, Version ("2.7.1000"), Description (
       "A RegisteredSubProfile subclasses RegisteredProfile to "
       "indicate that a scoping profile is required to provide "
       "context.  The latter is specified by the mandatory "
       "association, SubProfileRequiresProfile.") ]
class CIM_RegisteredSubProfile : CIM_RegisteredProfile {
};


// ==================================================================
// ReferencedProfile
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "A profile that is referenced by another RegisteredProfile.") ]
class CIM_ReferencedProfile : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The RegisteredProfile that is referenced by the Dependent "
          "Profile.") ]
   CIM_RegisteredProfile REF Antecedent;

      [Override ("Dependent"), Description (
          "A RegisteredProfile that references other profiles.") ]
   CIM_RegisteredProfile REF Dependent;
};


// ==================================================================
// SubProfileRequiresProfile
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "A subprofile requires another RegisteredProfile for context.  "
       "This association mandates the scoping relationship between a "
       "subprofile and its scoping profile.") ]
class CIM_SubProfileRequiresProfile : CIM_ReferencedProfile {

      [Override ("Antecedent"), Min (1), Description (
          "The RegisteredProfile that is referenced/required by the "
          "subprofile.") ]
   CIM_RegisteredProfile REF Antecedent;

      [Override ("Dependent"), Description (
          "A RegisteredSubProfile that requires a scoping profile, for "
          "context.") ]
   CIM_RegisteredSubProfile REF Dependent;
};


// ==================================================================
// ElementConformsToProfile
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "The CIM_ElementConformsToProfile association defines the "
       "RegisteredProfiles to which the referenced ManagedElement is "
       "conformant.  Note: This association may apply to any Managed "
       "Element.  Typical usage will apply it to a higher level "
       "instance, such as a System, NameSpace, or Service.  When "
       "applied to a higher level instance, all constituent parts MUST "
       "behave appropriately in support of the ManagedElement's "
       "conformance to the named RegisteredProfile.") ]
class CIM_ElementConformsToProfile {

      [Key, Description (
          "The RegisteredProfile to which the ManagedElement "
          "conforms.") ]
   CIM_RegisteredProfile REF ConformantStandard;

      [Key, Description (
          "The ManagedElement that conforms to the RegisteredProfile.") ]
   CIM_ManagedElement REF ManagedElement;
};


// ==================================================================
// Provider
// ==================================================================
   [Experimental, Version ("2.7.1000"), Description (
       "A CIM Provider is a type of CIM_WBEMService 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 CreationClasName, "
       "SystemCreationClassName and SystemName can be set to empty "
       "strings.  In this case, the CIM Object Manager must interpret "
       "the properties with the local system information.") ]
class CIM_Provider : CIM_WBEMService {

      [Override ("Name"), Description (
          "A human-readable name that uniquely identifies the provider "
          "within a system.") ]
   string Name;

      [Required, Description (
          "An implementation specific string that identifies the "
          "handle to the provider.") ]
   string Handle;
};


// ==================================================================
// ProviderCapabilities
// ==================================================================
   [Experimental, Version ("2.7.1000"), Description (
       "This class defines the capabilities of the associated "
       "provider.") ]
class CIM_ProviderCapabilities : CIM_Capabilities {

      [Required, Description (
          "The ClassName lists the class for which the associated "
          "Provider supplies instances, associations or indications "
          "information.  The ClassInNamespace association provides "
          "namespace information for the listed class name.") ]
   string ClassName;

      [Description (
          "ProviderType enumerates the kind of provider capabilities "
          "defined for the associated Provider."), 
       ValueMap {"1", "2", "3", "4", "5"}, 
       Values {"Other", "Instance", "Association", "Indication",
          "Method"}, 
       ArrayType ("Indexed"), 
       ModelCorrespondence { 
          "CIM_ProviderCapabilities.OtherProviderType"} ]
   uint16 ProviderTypes[];

      [Description (
          "Type(s) of provider capability when \"Other\" is included "
          "in ProviderType property array."), 
       ArrayType ("Indexed"), 
       ModelCorrespondence {"CIM_ProviderCapabilities.ProviderType"} ]
   string OtherProviderTypes[];

      [Description (
          "SupportedProperties lists the properties supported by this "
          "provider.  If this array is NULL, the provider MUST support "
          "all of the properties defined in the class.  If the "
          "provider does not support all of the properties, the "
          "properties supported MUST be included in the array.  The "
          "array entry format is \"PropertyName\".") ]
   string SupportedProperties[];

      [Description (
          "SupportedMethods lists the methods supported by this "
          "provider.  If this array is NULL, the provider MUST support "
          "all the methods defined in the class.  If the provider does "
          "not support all the methods, the methods supported MUST be "
          "included in the array.  The array entry format is "
          "\"MethodName\".") ]
   string SupportedMethods[];
};


// ==================================================================
// ProviderModule
// ==================================================================
   [Experimental, Version ("2.7.1000"), Description (
       "A ProviderModule consists of one or more Provider Services.  "
       "It can be enabled/disabled - which affects the component "
       "Services.") ]
class CIM_ProviderModule : CIM_EnabledLogicalElement {

      [Key, Override ("Name"), Description (
          "A human-readable name that uniquely identifies the Provider "
          "Module.  Name is chosen as one of the keys for "
          "correspondence with the keys/identity of the component "
          "Provider Services.") ]
   string Name;

      [Required, Description (
          "An implementation specific string that identifies the "
          "handle of the provider.") ]
   string Handle;
};


// ==================================================================
// ProviderInModule
// ==================================================================
   [Association, Experimental, Aggregation, Composition,
    Version ("2.7.1000"), Description (
       "An association describing the Providers that are contained in "
       "a ProviderModule.") ]
class CIM_ProviderInModule : CIM_Component {

      [Aggregate, Override ("GroupComponent"), Max (1), Description (
          "The CIM ProviderModule.") ]
   CIM_ProviderModule REF GroupComponent;

      [Override ("PartComponent"), Description (
          "The CIM Providers.") ]
   CIM_Provider REF PartComponent;
};


// ==================================================================
// ProviderElementCapabilities
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "ProviderElementCapabilities is an association describing the "
       "Capabilities that are supported by a Provider.") ]
class CIM_ProviderElementCapabilities : CIM_ElementCapabilities {

      [Override ("ManagedElement"), Min (1), Max (1), Description (
          "The CIM Provider.") ]
   CIM_Provider REF ManagedElement;

      [Override ("Capabilities"), Description (
          "The CIM Provider's Capabilities.") ]
   CIM_ProviderCapabilities REF Capabilities;
};


// ==================================================================
// ObjectManagerIsProvider
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "This aassociation indicates that the referenced ObjectManager "
       "acts as a Provider for the CIM classes listed in the "
       "associated ProviderCapabilities.") ]
class CIM_ObjectManagerIsProvider : CIM_LogicalIdentity {

      [Override ("SystemElement"), Max (1), Description (
          "SystemElement represents one aspect of the Logical "
          "Element.") ]
   CIM_ObjectManager ref SystemElement;

      [Override ("SameElement"), Description (
          "SameElement represents an alternate aspect of the System "
          "entity.") ]
   CIM_Provider ref SameElement;
};


// ==================================================================
// FiltersSupported
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "FiltersSupported is an association describing the CIM "
       "IndicationFilters that are supported by a Provider.") ]
class CIM_FiltersSupported : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The CIM IndicationFilter supported for the CIM classes "
          "listed in ClassNames array property of the referenced "
          "ProviderCapabilities instance.") ]
   CIM_IndicationFilter REF Antecedent;

      [Override ("Dependent"), Description (
          "The CIM Provider Capabilities.") ]
   CIM_ProviderCapabilities REF Dependent;
};


// ==================================================================
// ClassSupportForNamespace
// ==================================================================
   [Association, Experimental, Version ("2.7.1000"), Description (
       "ClassSupportForNamespace is an association describing the "
       "target Namespace for the instances of the class listed in the "
       "referenced ProviderCapabilities.ClassName property.") ]
class CIM_ClassSupportForNamespace : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The Namespace in which the class instances are defined.") ]
   CIM_Namespace REF Antecedent;

      [Override ("Dependent"), Description (
          "The ProviderCapabilities instance supporting the class "
          "instances.") ]
   CIM_ProviderCapabilities REF Dependent;
};


// ==================================================================
// end of file
// ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2