// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::Database::Storage" ), 
    Description ( 
       "A database segment is a logical storage entity that is "
       "composed of one or more storage extents, each of which can "
       "have one or more database blocks. Database segments have "
       "various types depending on their purpose. Note that the order "
       "of extents within a DatabaseSegment should be represented in "
       "the BasedOn dependency of CIM_StorageExtent using the "
       "BasedOn.OrderIndex attribute." )]
class CIM_DatabaseSegment : CIM_StorageExtent {

      [Override ( "Purpose" ), 
       Description ( 
          "The purpose of this segment within the context of the "
          "database. A value of \"Data\" indicates that this "
          "segment contains data for database area. A value of "
          "\"Data Partition\" indicates that this segment contains "
          "a portion of a partitioned data area. A value of \"Data "
          "Cluster\" indicates that this segment contains a portion "
          "of a clustered database area. A value of \"Index\" "
          "indicates that this segment contains index information. "
          "A value of \"Index Partition\" indicates that this "
          "segment contains a portion of a partitioned index. A "
          "value of \"LOB\" indicates that this segment is used to "
          "hold large objects such as Binary Large Object (BLOB) or "
          "Character Large Object (CLOB) entities. A value of \"LOB "
          "Index\" indicates that this segment is used to hold "
          "index information relevant to a \"LOB\" segment. A value "
          "of \"Undo\" indicates that this segment contains undo or "
          "rollback information that might be used to reverse "
          "operations that are applied to a database. A value of "
          "\"Snapshot\" indicates that this segment is used to "
          "represent a portion of the database at a previous "
          "point-in-time. A value of \"Temp\" indicates that this "
          "segment is used as temporary space for database "
          "operations. A value of \"Other\" indicates that the "
          "segment is used for something other than any of the "
          "listed purposes and requires further description in the "
          "OtherPurpose attribute. Using a value of \"Other\" would "
          "generally indicate a need to extend the model to include "
          "an additional purpose." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
          "11" }, 
       Values { "Other", "Data", "Data Partition", "Data Cluster", 
          "Index", "Index Partition", "LOB", "LOB Index", "Undo", 
          "Snapshot", "Temp" }, 
       ModelCorrespondence { "CIM_DatabaseSegment.OtherPurpose" }]
   string Purpose;

      [Description ( 
          "The purpose of this segment when the Purpose attribute "
          "has a value of \"Other\". This attribute should be null "
          "in all other cases." ), 
       ModelCorrespondence { "CIM_DatabaseSegment.Purpose" }]
   string OtherPurpose;


};
