// Copyright (c) 2012 DMTF.  All rights reserved.
   [Version ( "2.35.0" ), 
    UMLPackagePath ( "CIM::User::StorageHardwareID" ), 
    Description ( 
       "CIM_StorageHardwareID is a hardware ID that serves as an "
       "authorization subject. Example are host controller IDs that "
       "serve as authorization subjects in disk array LUN Masking." )]
class CIM_StorageHardwareID : CIM_Identity {

      [Required, Description ( "The hardware worldwide unique ID." ), 
       MaxLen ( 256 ), 
       ModelCorrespondence { "CIM_StorageHardwareID.IDType" }]
   string StorageID;

      [Required, Description ( 
          "The type of the ID property. iSCSI IDs may use one of "
          "three iSCSI formats - iqn, eui, or naa. This three "
          "letter format is the name prefix; so a single iSCSI type "
          "is provided here, the prefix can be used to further "
          "refine the format." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "Other", "PortWWN", "NodeWWN", "Hostname", 
          "iSCSI Name", "SwitchWWN", "SAS Address" }, 
       ModelCorrespondence { "CIM_StorageHardwareID.StorageID" }]
   uint16 IDType;

      [Description ( "The ID type when IDType is \"Other\"." )]
   string OtherIDType;


};
