// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::Database::Storage" ), 
    Description ( 
       "This class defines the attributes that affect the growth of a "
       "DatabaseSegment. The attributes are tied to the "
       "DatabaseSegment through an ElementSettingData association. \n"
       "This class can also be used to specify the default settings "
       "for all DatabaseSegment instances that are created within a "
       "CommonDatabase through an ElementSettingData association to "
       "the CommonDatabase. Processes that create new instances of "
       "DatabaseSegment and the associated setting data should check "
       "for a DatabaseSegmentSettingData instance that is associated "
       "with the CommonDatabase and should create a new instance of "
       "DatabaseSegmentSettingData that is specific to the "
       "DatabaseSegment only if the default settings need to be "
       "overridden or frozen for the specific DatabaseSegment "
       "instance." )]
class CIM_DatabaseSegmentSettingData : CIM_ScopedSettingData {

      [Write, Description ( 
          "The size, in bytes, of the first extent to be allocated "
          "when a database segment is created." ), 
       Units ( "Bytes" ), 
       PUnit ( "byte" )]
   uint64 InitialExtentSize;

      [Write, Description ( 
          "The total number of extents to be allocated when the "
          "database segment is created. This setting allows for a "
          "large initial segment allocation at creation time, even "
          "if contiguous space is not available." )]
   uint64 MinimumExtents;

      [Write, Description ( 
          "The upper limit on the number of extents that can be "
          "allocated for the segment." )]
   uint64 MaximumExtents;

      [Write, Description ( 
          "The size, in bytes, to be allocated for the next "
          "incremental extent for the segment. A NextExtentSize of "
          "0 indicates that the size of incremental extents will be "
          "determined based on the value of PercentIncrease." ), 
       Units ( "Bytes" ), 
       MinValue ( 0 ), 
       ModelCorrespondence { 
          "CIM_DatabaseSegmentSettingData.PercentIncrease" }, 
       PUnit ( "byte" )]
   uint64 NextExtentSize;

      [Write, Description ( 
          "The percentage by which the next incremental extent will "
          "grow over the previously allocated size of all extents "
          "for the segment. A PercentIncrease of 0 indicates that "
          "all incremental extents will be the same size, as "
          "specified by NextExtentSize. This value is ignored and "
          "should be set to 0 if NextExtentSize has a value other "
          "than 0." ), 
       MinValue ( 0 ), 
       ModelCorrespondence { 
          "CIM_DatabaseSegmentSettingData.NextExtentSize" }]
   uint16 PercentIncrease;

      [Write, Description ( 
          "A freelist is a list of the free blocks that are "
          "associated with a database segment. The freelist is used "
          "to determine which segments are eligible for accepting "
          "data when a new insert or update request is processed. "
          "The NumberOfFreeLists setting identifies the number of "
          "freelists that are defined for the database segment. "
          "This value is typically set to the expected number of "
          "concurrent inserts for the segment." )]
   uint32 NumberOfFreeLists;


};
