# Class CIM_FileSystemCapabilities
extends CIM_Capabilities

FileSystemCapabilities specifies the combination of properties that a FileSystemService can support when creating or maintaining FileSystems. Each supported combination of properties is specified by a FileSystemSetting that is associated with the FileSystemCapabilities element via ElementSettingData. A FileSystemCapabilities element specifies the properties supported when using it. This class provides a CreateGoal method that can be used to create a FileSystemSetting element that can be used as a goal for creating or modifying a filesystem. This class also supports persistence and recoverability of a FileSystem and its contained elements as defined in CIM 2.8 for the use of DatabaseStorageArea.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_Capabilities
|
+--CIM_FileSystemCapabilities

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | FileSystemCapabilities specifies the combination of properties that a FileSystemService can support when creating or maintaining FileSystems. Each supported combination of properties is specified by a FileSystemSetting that is associated with the FileSystemCapabilities element via ElementSettingData. A FileSystemCapabilities element specifies the properties supported when using it. This class provides a CreateGoal method that can be used to create a FileSystemSetting element that can be used as a goal for creating or modifying a filesystem. This class also supports persistence and recoverability of a FileSystem and its contained elements as defined in CIM 2.8 for the use of DatabaseStorageArea.
Experimental | boolean | true
UMLPackagePath | string | CIM::System::FilesystemServices
Version | string | 2.43.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
ActualFileSystemType | uint16 | 0
Description | string | An enumerated value that indicates the file system implementation type supported by this Capabilities.
Experimental | boolean | true
ModelCorrespondence | string | CIM_FileSystemSetting.ActualFileSystemType
Read | boolean | true
ValueMap | string | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, .., 0x8000..
Values | string | Unknown, UFS, HFS, FAT, FAT16, FAT32, NTFS4, NTFS5, XFS, AFS, EXT2, EXT3, REISERFS, WAFL, SpinFS, EMC_CMFS, EMC_CVFS, EMC_MGFS, EMC_NMFS, EMC_SVFS, EMC_UXFS, EMC_DHSM, EMC_RAWFS, EMC_IPFS, EMC_SFS, VXFS, DMTF Reserved, Vendor Defined
SupportedObjectTypes | uint16[] |
ArrayType | string | Indexed
Description | string | An array of enumerated values that specifies the set of object types that are supported for specifying FileSystems using the CreateFileSystem extrinsic Method. This array is associated with a number of correspondingly indexed properties that specify the size and number of such objects. "inodes" indicates that the number of required inodes is specified. "files" indicates that the number of required files is specified. "directories" indicates that the number of required directories is specified. "links" indicates that the number of required links is specified. "devices" indicates that the number of required devices is specified. "files/directories" indicates that the number of required files and directories is specified. "blocks" indicates that the size of required storage in client-specific storage units is specified. This represents the desired size of available space in the filesystem, exclusive of space reserved for meta-data and for other system functions. If "blocks" is specified, the corresponding ObjectSize properties must all be the same and must specify the intended size of the blocks in bytes.
Experimental | boolean | true
ModelCorrespondence | string | CIM_FileSystemSetting.ObjectTypes
Read | boolean | true
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, .., 0x8000..
Values | string | inodes, files, directories, links, devices, files/directories, blocks, DMTF Reserved, Vendor Defined
SupportedOperations | uint16[] |
Description | string | An array of enumerated values representing the operations to files and directories on the file system. Set of supported operations depends on the file system type. The operation information is used as the action type in the access control management.
Experimental | boolean | true
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, .., 0x8000..
Values | string | Read, Write, Execute, Create, Rename, Delete, Change Attribute, DMTF Reserved, Vendor Reserved
SupportedOtherPersistenceTypes | string[] |
ArrayType | string | Indexed
Deprecated | string | CIM_FileSystemSetting.OtherPersistenceTypes
Description | string | An array of strings describing the persistence capabilities where the corresponding entry in SupportedPersistenceTypes has a value of "Other". This value is ignored in all other cases.
ModelCorrespondence | string | CIM_FileSystemCapabilities.SupportedPersistenceTypes, CIM_FileSystem.OtherPersistenceType
SupportedPersistenceTypes | uint16[] |
ArrayType | string | Indexed
Deprecated | string | CIM_FileSystemSetting.PersistenceTypes
Description | string | An array of enumerated values representing the persistence capabilities of the FileSystem. A value of "Persistent" indicates that the FileSystem supports persistence, can be preserved through an orderly shutdown and could be protected. A value of "Temporary" indicates that the FileSystem supports non-persistence, may not be protected and may not survive a shutdown. A value of "External" indicates that the FileSystem could controlled outside of the operating environment and may need to be protected by specialized means. A value of "Other" is provided to allow for additional persistence types, to be described in the OtherPersistenceType attribute, and is expected to be rarely, if ever, used.
ModelCorrespondence | string | CIM_FileSystemCapabilities.SupportedPersistenceTypes, CIM_FileSystem.PersistenceType
ValueMap | string | 1, 2, 3, 4
Values | string | Other, Persistent, Temporary, External
SupportedProperties | uint16[] |
Description | string | An array of property names of the Setting that this Capabilities element supports. The Object-related parameters are specified individually by object type in the SupportedObjectTypes property. "DataExtentsSharing" indicates that the DataExtentsSharing property is supported. "CopyTarget" indicates that the CopyTarget property is supported. "FilenameCaseAttributes" indicates that the FilenameCaseAttributes property is supported. "FilenameStreamFormats" indicates that the FilenameStreamFormats property is supported. "FilenameFormats" indicates that the FilenameFormats, FilenameLengthMax, and FilenameReservedCharacterSet properties are supported. "LockingSemantics" indicates that the SupportedLockingSemantics property is supported. "AuthorizationProtocols" indicates that the SupportedAuthorizationProtocols property is supported. "AuthenticationProtocols" indicates that the SupportedAuthenticationProtocols property is supported. "Persistence" indicates that the PersistenceTypes and OtherPersistenceTypes properties are supported.
Experimental | boolean | true
Read | boolean | true
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, .., 0x8000..
Values | string | DataExtentsSharing, CopyTarget, FilenameCaseAttributes, FilenameStreamFormats, FilenameFormats, LockingSemantics, AuthorizationProtocols, AuthenticationProtocols, Persistence, DMTF Reserved, Vendor Defined

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
Description | string | CIM_ManagedElement
ElementName | string | CIM_Capabilities
Generation | uint64 | CIM_ManagedElement
InstanceID | string | CIM_Capabilities

## Class Methods

### Local Class Methods

#### CreateGoal (uint16)

#### Method Qualifiers (CreateGoal)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to create a supported FileSystemSetting from a FileSystemSetting provided by the caller. If the operation completes successfully and did not require a long-running ConcreteJob, it will return 0. If 4096/0x1000 is returned, a ConcreteJob will be started to create the element. A Reference to the ConcreteJob will be returned in the output parameter Job. This method MAY return a CIM_Error representing that a single named property of a setting (or other) parameter (either reference or embedded object) has an invalid value or that an invalid combination of named properties of a setting (or other) parameter (either reference or embedded object) has been requested. If the input TemplateGoal is NULL or the empty string, this method returns a default FileSystemSetting that is supported by this FileSystemCapabilities. The output is returned as the SupportedGoal parameter. Both TemplateGoal and SupportedGoal are embedded objects and do not exist in the provider but are maintained by the client. If the TemplateGoal specifies values that cannot be supported this method MUST return an appropriate error and should return a best match for a SupportedGoal.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, .., 4097, 4098..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, TemplateGoal is not well-formed, TemplateGoal cannot be satisfied exactly, StorageSetting cannot be used with ActualFileSystemType, StorageSetting cannot be used with CopyTarget, StorageSetting cannot be used with ObjectType, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (CreateGoal)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
SupportedGoal | string
Description | string | SupportedGoal is an element of class CIM_FileSystemSetting, or a derived class, encoded as a string-valued embedded object parameter, that is used to return the best supported match to the TemplateGoal.
EmbeddedInstance | string | CIM_FileSystemSetting
IN | boolean | false
OUT | boolean | true
TemplateGoal | string
Description | string | TemplateGoal is an element of class CIM_FileSystemSetting, or a derived class, encoded as a string-valued embedded object parameter, that is used as the template to be matched .
EmbeddedInstance | string | CIM_FileSystemSetting
IN | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true

#### GetRequiredStorageSize (uint64)

#### Method Qualifiers (GetRequiredStorageSize)

Name | Data Type | Value
--- | --- | ---
Description | string | This method returns the "expected" size of StorageExtent that would support a file system specified by the input FileSystemGoal parameter assuming that the other settings for the StorageExtent are specified by the ExtentSetting parameter. If the input FileSystemGoal or the ExtentSetting are NULL, this method returns a value computed by using the default FileSystemSetting or some vendor-specific canned StorageSetting. A value of 0 is returned if this method is not able to determine a reasonable size or does not restrict sizes based on setting information.
Experimental | boolean | true
PUnit | string | byte
Units | string | Bytes

#### Method Parameters (GetRequiredStorageSize)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ExpectedSize | uint64
Description | string | A number that indicates the size of the storage extent that this FileSystem is expected to need. A value of 0 indicates that there is no expected size.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
ExtentSetting | string
Description | string | ExtentSetting is an element of class CIM_StorageSetting, or a derived class, encoded as a string-valued embedded object parameter, that is used to specify the settings of the StorageExtent to be used for this FileSystem.
EmbeddedInstance | string | CIM_StorageSetting
IN | boolean | true
FileSystemGoal | string
Description | string | FileSystemGoal is an element of class CIM_FileSystemSetting, or a derived class, encoded as a string-valued embedded object parameter, that is used to specify the settings for the FileSystem to be created.
EmbeddedInstance | string | CIM_FileSystemSetting
IN | boolean | true
MaximumSizeUsable | uint64
Description | string | A number that indicates the size of the largest storage extent that would be usable for the specified FileSystem. A value of 0 indicates that there is no maximum size.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
MinimumSizeAcceptable | uint64
Description | string | A number that indicates the size of the smallest storage extent that would support the specified FileSystem. A value of 0 indicates that there is no minimum size.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes

#### GetElementNameCapabilities (uint32)

#### Method Qualifiers (GetElementNameCapabilities)

Name | Data Type | Value
--- | --- | ---
Description | string | This returns the restrictions on the ElementName in the related "OUT" parameters.
Experimental | boolean | true
ValueMap | string | 0, 4, .., 0x8000..
Values | string | Success, Failed, DMTF Reserved, Vendor Specific

#### Method Parameters (GetElementNameCapabilities)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementNameMask | string
Description | string | This string expresses the restrictions on ElementName. The mask is expressed as a regular expression. See DMTF standard ABNF with the Management Profile Specification Usage Guide, appendix C for the regular expression syntax permitted. Since the ElementNameMask can describe the maximum length of the ElementName,any length defined in the regexp is in addition to the restriction defined in MaxElementNameLen (causing the smaller value to be the maximum length). The ElementName value satisfies the restriction, if and only if it matches the regular expression. If NULL, it indicates no restrictions on the ElementName.
ModelCorrespondence | string | CIM_EnabledLogicalElementCapabilities.ElementNameMask
Out | boolean | true
MaxElementNameLen | uint16
Description | string | Maximum supported ElementName length in characters.
MappingStrings | string | FC-SWAPI.INCITS-T11|SWAPI_UNIT_CONFIG_CAPS_T|MaxNameChars
MaxValue | sint64 | 256
ModelCorrespondence | string | CIM_EnabledLogicalElementCapabilities.MaxElementNameLen
Out | boolean | true
SupportedFeatures | uint32[]
Description | string | Enumeration indicating what methods can accept the element name for creation or modification of a storage element. CreateFileSystem is an example of an InvokeMethod. ModifyInstance and SetProperty are examples of intrinsic methods. An empty array indicates ElementNaming for ElementType is not supported, in which case the other OUT parameters are null.
Out | boolean | true
ValueMap | string | 2, 3, 4, .., 32768..65535
Values | string | ElementName can be supplied during creation, ElementName can be modified with InvokeMethod, ElementName can be modified with intrinsic method, DMTF Reserved, Vendor Specific

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
CreateGoalSettings | uint16 | CIM_Capabilities