// Copyright (c) 2008 DMTF.  All rights reserved.
   [Version ( "2.22.0" ), 
    UMLPackagePath ( "CIM::Interop" ), 
    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, Override ( "InstanceID" ), 
       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", 
          "20", "21", ".." }, 
       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", //20
          "OGF", 
          "The Green Grid", "DMTF Reserved" }, 
       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 ( 
          "The name of this registered profile. Since multiple "
          "versions can exist for the same RegisteredName, the "
          "combination of RegisteredName, RegisteredOrganization, "
          "and RegisteredVersion MUST uniquely identify the "
          "registered profile 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[];


};
