// Copyright (c) 2009 DMTF.  All rights reserved.
   [Version ( "2.23.0" ), 
    UMLPackagePath ( "CIM::Core::OpaqueManagementData" ), 
    Description ( 
       "CIM_OpaqueManagementDataCapabilities describes the "
       "capabilities of CIM_OpaqueManagementDataService." )]
class CIM_OpaqueManagementDataCapabilities : CIM_EnabledLogicalElementCapabilities {

      [Description ( 
          "The maximum number of bytes of opaque management data "
          "storage managed by the associated "
          "CIM_OpaqueManagementDataService, and hence the maximum "
          "value of the AvailableStorage property in the associated "
          "CIM_OpaqueManagementDataService." ), 
       ModelCorrespondence { 
          "CIM_OpaqueManagementDataService.AvailableStorage" }, 
       PUnit ( "byte" )]
   uint64 MaxAvailableStorage;

      [Description ( 
          "MaxReadLength indicates the maximum value that the "
          "service supports in the Length parameter of the "
          "ReadOpaqueManagementData method. Larger extents can be "
          "read by successively invoking ReadOpaqueManagementData "
          "on chunks of the data and reassembling them in the "
          "management client. When this is done, the "
          "LockOpaqueManagementData method should be used to "
          "prevent modification of the data by other clients "
          "between successive reads." ), 
       PUnit ( "byte" )]
   uint64 MaxReadLength;

      [Description ( 
          "MaxWriteLength indicates the maximum value that the "
          "service supports in the Length parameter of the "
          "WriteOpaqueManagementData method. Larger extents can be "
          "written by successively invoking "
          "WriteOpaqueManagementData on chunks of the data and "
          "reassembling them in the management client. When this is "
          "done, the LockOpaqueManagementData method should be used "
          "to prevent modification of the data by other clients "
          "between successive writes." ), 
       PUnit ( "byte" )]
   uint64 MaxWriteLength;

      [Description ( 
          "This property lists the URI schemes supported by "
          "OpaqueManagementDataService.ExportOpaqueManagementDataToURI()."
           ), 
       ValueMap { "2", "3", "4", "5", "6", "7", "8", "..", 
          "0x8000..0xFFFF" }, 
       Values { "data", "file", "ftp", "http", "https", "nfs", 
          "tftp", "DMTF Reserved", "Vendor Specific" }]
   uint16 SupportedExportURISchemes[];

      [Description ( 
          "This property lists the URI schemes supported by "
          "OpaqueManagementDataService.ImportOpaqueManagementDataFromURI()."
           ), 
       ValueMap { "2", "3", "4", "5", "6", "7", "8", "..", 
          "0x8000..0xFFFF" }, 
       Values { "data", "file", "ftp", "http", "https", "nfs", 
          "tftp", "DMTF Reserved", "Vendor Specific" }]
   uint16 SupportedImportURISchemes[];

      [Description ( 
          "This property advertises the methods that are supported "
          "by the service." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "..", 
          "0x80.." }, 
       Values { "Other", "Create", "Read", "ExportToURI", "Write", 
          "ImportFromURI", "Lock", "ReassignOwnership", 
          "AssignAccess", "DMTF Reserved", "Vendor Specific" }]
   uint16 SupportedMethods[];

      [Description ( 
          "TruncationSupported indicates whether the associated "
          "CIM_OpaqueManagementDataService allows a client to "
          "truncate the data in a CIM_OpaqueManagementData instance "
          "by reducing the value of its DataSize property.\n"
          "If TruncationSupported = true, then the Service shall "
          "support reduction of the value of CIM_OpaqueManagementData.DataSize\n"
          ".If TruncationSupported = false or is null, then the "
          "Service shall not support reduction of the value of "
          "CIM_OpaqueManagementData.DataSize" )]
   boolean TruncationSupported = false;

      [Description ( 
          "MaxInstancesSupported shall indicate the maximum number "
          "of opaque management data instances that may exist "
          "within the scope of the CIM_OpaqueManagementDataService "
          "and managed by the associated instance of the "
          "CIM_OpaqueManagementDataService. A value of zero shall "
          "indicate that the maximum number of instances is unknown "
          "or that the maximum number of instances is not enforced." )]
   uint16 MaxInstancesSupported = 0;


};
