// Copyright (c) 2013 DMTF.  All rights reserved.
   [Experimental, Version ( "2.43.0" ), 
    UMLPackagePath ( "CIM::System::FileServices" ), 
    Description ( 
       "The ExportedFileShareSetting describes the attribute values "
       "that were set when a FileShare was created for a LogicalFile "
       "by a FileExportService. These settings may be associated with "
       "the created Share via the ElementSettingData association; or, "
       "associated with an ExportedFileShareCapabilities element via "
       "SettingAssociatedToCapabilities; or, used as an "
       "EmbeddedInstanceparameter in a method (for instance, as a "
       "Goal). If the setting is associated with a FileShare, it "
       "cannot have undefined or NULL properties. If it is associated "
       "with an ExportedFileShareCapabilities, a NULL property "
       "indicates that the property is not supported or that the value "
       "is a vendor-specific context-dependent default that may not be "
       "changed. The FileSharingProtocol and ProtocolVersions "
       "properties cannot have a default value. If this Setting is "
       "associated with a ExportedFileShareCapabilities element via "
       "SettingAssociatedToCapabilities, the corresponding "
       "FileSharingProtocol and ProtocolVersions properties must "
       "match." )]
class CIM_ExportedFileShareSetting : CIM_SettingData {

      [Description ( 
          "An enumerated integer indicating the filesharing "
          "protocol that this share can support. This property must "
          "exist and have a value. The version of the protocol must "
          "be specified in the corresponding ProtocolVersions "
          "property." ), 
       ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." }, 
       Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP", 
          "FTP", "DMTF Reserved", "Vendor Defined" }, 
       Read, ModelCorrespondence { 
          "CIM_ExportedFileShareCapabilities.FileSharingProtocol", 
          "CIM_ImportedFileShareSetting.FileSharingProtocol", 
          "CIM_ExportedFileShareSetting.ProtocolVersions" }]
   uint16 FileSharingProtocol;

      [Description ( 
          "An array of strings listing the versions of the file "
          "sharing protocol that this share can support. This "
          "property must exist and have at least one entry." ), 
       ArrayType ( "Indexed" ), 
       Read, ModelCorrespondence { 
          "CIM_ExportedFileShareCapabilities.ProtocolVersions", 
          "CIM_ImportedFileShareSetting.ProtocolVersions", 
          "CIM_ExportedFileShareSetting.FileSharingProtocol" }]
   string ProtocolVersions[];

      [Description ( 
          "InitialEnabledState is an integer enumeration that "
          "indicates the enabled/disabled states initially set for "
          "a file share element. Unlike FileShare.EnabledState it "
          "cannot indicate transitions between requested states "
          "because those states cannot be requested. The following "
          "text briefly summarizes the various enabled/disabled "
          "initial states: \n"
          "Enabled (2) indicates that the element will execute "
          "commands, will process any queued commands, and will "
          "queue new requests. \n"
          "Disabled (3) indicates that the element will not execute "
          "commands and will drop any new requests. \n"
          "In Test (7) indicates that the element will be in a test "
          "state. \n"
          "Deferred (8) indicates that the element will not process "
          "any commands but will queue new requests. \n"
          "Quiesce (9) indicates that the element is enabled but in "
          "a restricted mode. The element\'s behavior is similar to "
          "the Enabled state, but it only processes a restricted "
          "set of commands. All other requests are queued." ), 
       ValueMap { "0", "1", "2", "3", "7", "8", "9", "11..32767", 
          "32768..65535" }, 
       Values { "Unknown", "Other", "Enabled", "Disabled", 
          "In Test", "Deferred", "Quiesce", "DMTF Reserved", 
          "Vendor Reserved" }, 
       ModelCorrespondence { 
          "CIM_ExportedFileShareSetting.OtherEnabledState", 
          "CIM_EnabledLogicalElement.EnabledState" }]
   uint16 InitialEnabledState = 8;

      [Description ( 
          "A string describing the element\'s initial "
          "enabled/disabled state when the InitialEnabledState "
          "property is set to 1 (\"Other\"). This property MUST be "
          "set to NULL when InitialEnabledState is any value other "
          "than 1." ), 
       ModelCorrespondence { 
          "CIM_ExportedFileShareSetting.InitialEnabledState" }]
   string OtherEnabledState;

      [Description ( 
          "An enumerated value that specifies the default "
          "privileges that can be supported for read-write "
          "authorization. These default privileges can be "
          "overridden by privileges explicitly defined by a "
          "supported authorization mechanism(s). \n"
          "\'No Access\' indicates that access is not allowed. "
          "\'Read Only\' indicates that read-only access is "
          "implicitly granted to all clients and write access is "
          "implicitly denied to all clients. \'Read/Write\' "
          "indicates that both read and write access is implicitly "
          "granted to all clients. Any other reading or writing "
          "privileges must be granted or denied explicitly using "
          "the vendor\'s authorization mechanism or by using the "
          "CIM_Privilege model. The resulting access privileges "
          "will be surfaced using the CIM_Privilege model." ), 
       ValueMap { "0", "2", "3", "4", "..", "0x8000.." }, 
       Values { "Unknown", "No Access", "Read Only", "Read/Write", 
          "DMTF Reserved", "Vendor Defined" }, 
       Read]
   uint16 DefaultReadWrite = 0;

      [Description ( 
          "An enumerated value that specifies the default "
          "privileges that can be supported for \'execute\' "
          "authorization in an appropriate operating environment. "
          "These default privileges can be overridden by privileges "
          "explicitly defined by a supported authorization "
          "mechanism(s). \n"
          "\'No Access\' indicates that execute access is not "
          "allowed. \'Execute\' indicates that execute access is "
          "implicitly granted to all clients. Any other execution "
          "privileges must be granted or denied explicitly using "
          "the vendor\'s authorization mechanism or by using the "
          "CIM_Privilege model. The resulting access privileges "
          "will be surfaced using the CIM_Privilege model." ), 
       ValueMap { "0", "2", "3", "..", "0x8000.." }, 
       Values { "Unknown", "No Access", "Execute", "DMTF Reserved", 
          "Vendor Defined" }, 
       Read]
   uint16 DefaultExecute = 0;

      [Description ( 
          "An enumerated value that specifies whether this share "
          "can support executable objects in any way. For instance, "
          "can this share be used as a paging file by a client. \n"
          "\'Not Supported\' indicates that no special support for "
          "executable objects is provided. \'Execution Supported\' "
          "indicates that execution is supported, though this does "
          "not specify the kind of support. A vendor can extend "
          "this to indicate specific support mechanisms that may be "
          "provided." ), 
       ValueMap { "0", "2", "3", "..", "0x8000.." }, 
       Values { "Unknown", "Not Supported", "Execution Supported", 
          "DMTF Reserved", "Vendor Defined" }, 
       Read]
   uint16 ExecuteSupport = 0;

      [Description ( 
          "An enumerated integer that indicates whether the "
          "FileShare will use a default user id to control access "
          "to the share if the id of the importing client is not "
          "provided. \'No Default User Id\' indicates that a "
          "default user should not be used. \'System-Specified "
          "Default User Id\' indicates that only system-specified "
          "id should be used. \'Share-Specified Default Used Id\' "
          "indicates that the default user id will be specified by "
          "the method that created or modified the share. If a "
          "default user id is supported, all the default access "
          "privileges will provided through that user as proxy. The "
          "resulting access privileges will be surfaced using the "
          "CIM_Privilege model." ), 
       ValueMap { "0", "2", "3", "4", "..", "0x8000.." }, 
       Values { "Unknown", "No Default User Id", 
          "System-Specified Default User Id", 
          "Share-Specified Default User Id", "DMTF Reserved", 
          "Vendor Defined" }, 
       Read]
   uint16 DefaultUserIdSupported = 0;

      [Description ( 
          "An enumerated value that specifies whether the Share "
          "supports default access by privileged, system "
          "administrator- level (\'root\') users from specific "
          "hosts. These default privileges can always be overridden "
          "by privileges explicitly defined by a supported "
          "authorization mechanism(s). \n"
          "\'No Root Access\' indicates that the Share will deny "
          "root access to all clients. \'Allow Root Access\' "
          "indicates that the Share will allow root access as "
          "specified by the RootAccessHosts parameter when the "
          "FileShare was created. The actual access allowed will be "
          "mediated by the authorization mechanism supported by the "
          "device and provider. \n"
          "Any other root-access privileges must be granted or "
          "denied explicitly using the vendor\'s authorization "
          "mechanism or by using the CIM-specified privilege model. "
          "The resulting access privileges will be surfaced using "
          "the CIM_Privilege model." ), 
       ValueMap { "0", "2", "3", "..", "0x8000.." }, 
       Values { "Unknown", "No Root Access", "Allow Root Access", 
          "DMTF Reserved", "Vendor Defined" }, 
       Read, ModelCorrespondence { 
          "CIM_FileExportService.CreateExportedShare(RootAccessHosts)", 
          "CIM_FileExportService.ModifyExportedShare(RootAccessHosts)" }]
   uint16 RootAccess = 0;

      [Description ( 
          "An enumerated value that specifies the default policy "
          "followed by the Share for how to handle writes to the "
          "Share. \n"
          "\'Synchronous\' indicates that the Share will perform "
          "synchronous writes. \'Asynchronous\' indicates that the "
          "Share may perform asynchronous writes. (The WritePolicy "
          "settings may be overridden in the future with use of the "
          "Policy model.)" ), 
       ValueMap { "0", "2", "3", "..", "0x8000.." }, 
       Values { "Unknown", "Synchronous", "Asynchronous", 
          "DMTF Reserved", "Vendor Defined" }, 
       Read]
   uint16 WritePolicy = 0;

      [Description ( 
          "An enumerated value that specifies the service access "
          "points that are available to this FileShare by default "
          "for use by clients to connect. These default access "
          "points can always be overridden by the privileges "
          "explicitly defined by a supported authorization "
          "mechanism(s). \n"
          "Any ServiceAccessPoints that actually connect to this "
          "share will be associated to it by "
          "CIM_SAPAvailableForElement. The resulting access "
          "privileges will be surfaced using the CIM_Privilege "
          "model. \n"
          "\'None\' implies that no SAPs will have access by "
          "default. \n"
          "\'Service Default\' indicates that any SAPs specified as "
          "the default port by the Service will have default access "
          "- this could be vendor-specific. \n"
          "\'All\' indicates that all SAPs supported by the service "
          "will have access by default. \n"
          "\'Named Points\' indicates that the Service Access "
          "Points that have default access may be specified as a "
          "parameter when this share was created or modified. These "
          "ports or endpoints will be given the necessary "
          "privileges to access this share." ), 
       ValueMap { "0", "2", "3", "4", "5", "..", "0x8000.." }, 
       Values { "Unknown", "None", "Service Default", "All", 
          "Named Points", "DMTF Reserved", "Vendor Defined" }, 
       Read]
   uint16 AccessPoints = 2;

      [Description ( 
          "This property applies to CIFS/SMB shares only. If it is "
          "true, it means that \"Continuous Availability\" is "
          "supported for this CIFS share. Continuous Availability "
          "(CA) - Client/Server mediated recovery from network and "
          "server failure with application transparency. Like "
          "Multi-Channel IO, this feature is somewhat analogous to "
          "capabilities available in NFSv4." ), 
       Read]
   boolean CASupported;


};