// Copyright (c) 2009 DMTF.  All rights reserved.
   [Version ( "2.22.0" ), 
    UMLPackagePath ( "CIM::System::BIOS" ), 
    Description ( 
       "A class derived from ManagedElement that provides "
       "instrumentation of BIOS configuration data or Attributes of a "
       "managed computer system or device. These attributes are "
       "surfaced in the form of BIOSAttribute instances. The "
       "CIM_BIOSAttribute object may be used to represent both "
       "configurable and static BIOS attributes." )]
class CIM_BIOSAttribute : 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 &apos;preferred&apos; algorithm: "
          "<OrgID>:<LocalID>Where <OrgID> and <LocalID> are "
          "separated by a colon &apos;:&apos;, 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 (&apos;:&apos;). When using this algorithm, the "
          "first colon to appear in InstanceID MUST appear between "
          "<OrgID> and <LocalID>. <LocalID> is chosen by the "
          "business entity and SHOULD not be re-used to identify "
          "different underlying (real-world) elements. If the above "
          "&apos;preferred&apos; algorithm is not used, the "
          "defining entity MUST assure that the resultant "
          "InstanceID is not re-used across any InstanceIDs "
          "produced by this or other providers for this instance\'s "
          "NameSpace. For DMTF defined instances, the "
          "&apos;preferred&apos; algorithm MUST be used with the "
          "<OrgID> set to &apos;CIM&apos;." )]
   string InstanceID;

      [Required, Description ( 
          "A string identifying the structured element name for a "
          "BIOS attribute using the format \"<OrgID>:<identifier>\" "
          "in which <OrgID>, does contain a colon (\":\"). The "
          "value of <OrgID> is a copyrighted, trademarked or "
          "otherwise unique name that is owned by the entity "
          "defining the <identifier>, or is a registered ID that is "
          "assigned to the entity by a recognized global authority. "
          "For DMTF defined identifiers, the <OrgID> is set to "
          "\'DMTF\' and the <identifier> is specified in the BIOS "
          "Attribute Registry." )]
   string AttributeName;

      [Required, Description ( 
          "An array of strings representing the current value or "
          "values of the BIOS Attribute." )]
   string CurrentValue[];

      [Description ( 
          "An array of strings representing the default value or "
          "values of the BIOS Attribute." )]
   string DefaultValue[];

      [Description ( 
          "An array of strings representing a pending Attribute "
          "value that will not take affect until some point in the "
          "future. This would typically be used to represent "
          "Attributes that could not be changed until a system "
          "reset. When a BIOS attribute has no pending changes, "
          "PendingValue SHALL be NULL. PendingValue SHALL have a "
          "value of at least one element from the "
          "CIM_BIOSEnumeration.PossibleValues array when the an "
          "instance of the central class represents an enumeration." )]
   string PendingValue[];

      [Description ( 
          "This property specifies that the Attribute represented "
          "makes up an ordered selection list with elements in the "
          "CurrentValue array. The element zero shall be first or "
          "least numbered element and incrementally increase to the "
          "end of the array. The least or first element may "
          "represent the highest priority in the ordered list." ), 
       ModelCorrespondence { "CIM_BIOSAttribute.CurrentValue" }]
   boolean IsOrderedList;

      [Description ( 
          "This property specifies if the underlying system BIOS or "
          "BIOSService will not allow the Attribute to be modified "
          "through calls tothe methods "
          "CIM_BIOSService.SetBIOSAttribute or "
          "CIM_BIOSService.SetBIOSDefaults. This does not mean the "
          "Attribute can not be modified through other means. Only "
          "that the CIM interfaceis not capable of making a change" )]
   boolean IsReadOnly;


};
