1 tony 1.1 // ===================================================================
2 // Title: System File Elements 2.8
3 // Filename: System28_FileElements.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 08/18/2003
7 // ===================================================================
8 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 tony 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 tony 1.1 // ===================================================================
44 // Description: The System Model defines system related management
45 // concepts. This file defines the specific concepts to
46 // manage file systems.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.8 Preliminary
53 // CR1056 - Database Storage:
54 // -- modify ResidesOnExtent
55 // -- add PersistenceType and NumberOfFiles to FileSystem
56 // -- add FileSystemCapabilities and FileSystemSettingData
57 // CR883 - Add IsFixedSize and ResizeIncrement properties
58 // to CIM_LogicalFile
59 // CR1128 - Addition of HostedDependency
60 //
61 // Change Log for v2.7 Final
62 // CR969 - Remove Share, NFSShare, CIFSShare, SharedElement,
63 // ImportedShare, and HostedShare so they can remain
64 tony 1.1 // experimental in 2.8.
65 //
66 // Change Log for v2.7
67 // CR598 - Add Share, NFSShare, CIFSShare, SharedElement,
68 // ImportedShare, and HostedShare
69 // CR644 - Modify Share, NFSShare, CIFSShare, and ImportedShare
70 // - Add FileShare
71 // CR748 - Promote HostedFileSystem.GroupComponent from ComputerSystem
72 // to System. Fix the class description and the propagated
73 // key descriptions in FileSystem.
74 // CR757 - Change the subclassing of FileSystem from LogicalElement
75 // to EnabledLogicalElement
76 // CR767 - Add the Compostion qualifer to DirectoryContainsFile,
77 // FileStorage, and HostedFileSystem
78 // ==================================================================
79
80 #pragma locale ("en_US")
81
82
83 // ===================================================================
84 // FileSystem
85 tony 1.1 // ===================================================================
86 [Version ("2.7.0"), Description (
87 "A file or dataset store local to a System (such as a "
88 "ComputerSystem or an ApplicationSystem) or remotely mounted "
89 "from a file server.") ]
90 class CIM_FileSystem : CIM_EnabledLogicalElement {
91
92 [Key, Propagated ("CIM_System.CreationClassName"), Description (
93 "The scoping System's CreationClassName. Note that this "
94 "class was originally defined in the scope of a "
95 "ComputerSystem, and was later allowed to be scoped by any "
96 "System (for example, a computer or application system). "
97 "Unfortunately, the property name, CSCreationClassName, "
98 "could not be changed (for example, to SystemCreationClass "
99 "Name) without deprecating the class. This change was not "
100 "deemed critical to the semantics and therefore did not "
101 "merit deprecation. So, the property name remains."),
102 MaxLen (256) ]
103 string CSCreationClassName;
104
105 [Key, Propagated ("CIM_System.Name"), Description (
106 tony 1.1 "The scoping System's Name. Note that this class was "
107 "originally defined in the scope of a ComputerSystem, and "
108 "was later allowed to be scoped by any System (for example, "
109 "a computer or application system). Unfortunately, the "
110 "property name, CSName, could not be changed (for example, "
111 "to SystemName) without deprecating the class. This change "
112 "was not deemed critical to the semantics and therefore did "
113 "not merit deprecation. So, the property name remains."),
114 MaxLen (256) ]
115 string CSName;
116
117 [Key, Description (
118 "CreationClassName indicates the name of the class or the "
119 "subclass used in the creation of an instance. When used "
120 "with the other key properties of this class, this property "
121 "allows all instances of this class and its subclasses to be "
122 "uniquely identified."),
123 MaxLen (256) ]
124 string CreationClassName;
125
126 [Key, Override ("Name"), Description (
127 tony 1.1 "The inherited Name serves as key of a FileSystem instance "
128 "within a ComputerSystem."),
129 MaxLen (256) ]
130 string Name;
131
132 [Description (
133 "Path name or other information defining the root of the "
134 "FileSystem."),
135 MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint",
136 "MIF.DMTF|Host File System|001.2"} ]
137 string Root;
138
139 [Description (
140 "FileSystems can read/write data in blocks which are defined "
141 "independently of the underlying StorageExtents. This "
142 "property captures the FileSystem's block size for data "
143 "storage and retrieval."),
144 Units ("Bytes") ]
145 uint64 BlockSize;
146
147 [Description (
148 tony 1.1 "The FileSystemSize property stores the total size of the "
149 "File System in bytes. If unknown, enter 0."),
150 Units ("Bytes"),
151 MappingStrings {"MIF.DMTF|Host File System|001.13"} ]
152 uint64 FileSystemSize;
153
154 [Description (
155 "AvailableSpace indicates the total amount of free space for "
156 "the FileSystem, in bytes. If unknown, enter 0."),
157 Units ("Bytes"), Gauge,
158 MappingStrings {"MIF.DMTF|Host File System|001.14",
159 "MIF.DMTF|Partition|002.4"} ]
160 uint64 AvailableSpace;
161
162 [Description (
163 "Indicates that the FileSystem is designated as read only."),
164 MappingStrings {"MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess",
165 "MIF.DMTF|Host File System|001.5"} ]
166 boolean ReadOnly;
167
168 [Description (
169 tony 1.1 "A free form string indicating the algorithm or tool used to "
170 "encrypt the FileSystem. If it is not possible or not "
171 "desired to describe the encryption scheme (perhaps for "
172 "security reasons), recommend using the following words: "
173 "\"Unknown\" to represent that it is not known whether the "
174 "FileSystem is encrypted or not, \"Encrypted\" to represent "
175 "that the File System is encrypted but either its encryption "
176 "scheme is not known or not disclosed, and \"Not Encrypted\" "
177 "to represent that the FileSystem is not encrypted."),
178 MappingStrings {"MIF.DMTF|Partition|002.8"} ]
179 string EncryptionMethod;
180
181 [Description (
182 "A free form string indicating the algorithm or tool used to "
183 "compress the FileSystem. If it is not possible or not "
184 "desired to describe the compression scheme (perhaps because "
185 "it is not known), recommend using the following words: "
186 "\"Unknown\" to represent that it is not known whether the "
187 "FileSystem is compressed or not, \"Compressed\" to "
188 "represent that the File System is compressed but either its "
189 "compression scheme is not known or not disclosed, and \"Not "
190 tony 1.1 "Compressed\" to represent that the FileSystem is not "
191 "compressed."),
192 MappingStrings {"MIF.DMTF|Partition|002.7"} ]
193 string CompressionMethod;
194
195 [Description (
196 "Indicates that case sensitive file names are supported.") ]
197 boolean CaseSensitive;
198
199 [Description (
200 "Indicates that the case of file names are preserved.") ]
201 boolean CasePreserved;
202
203 [Description (
204 "Array defining the character sets or encoding supported by "
205 "the FileSystem. For example, the values, \"ASCII\" (2) or "
206 "\"ISO2022\" (4), may be specified."),
207 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
208 Values {"Unknown", "Other", "ASCII", "Unicode", "ISO2022",
209 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2"} ]
210 uint16 CodeSet[];
211 tony 1.1
212 [Description (
213 "Integer indicating the maximum length of a file name within "
214 "the FileSystem. 0 indicates that there is no limit on file "
215 "name length.") ]
216 uint32 MaxFileNameLength;
217
218 [Description (
219 "The minimum file allocation size (an integral number of "
220 "blocks), imposed by the FileSystem. (The size of a block "
221 "is specified in the BlockSize property for the FileSystem.) "
222 "Minimum allocation size is the smallest amount of storage "
223 "allocated to a LogicalFile by the FileSystem. This is not "
224 "a mandatory minimum allocation for all FileSystems. Under "
225 "stress conditions, some FileSystems may allocate storage in "
226 "amounts smaller than the ClusterSize.") ]
227 uint32 ClusterSize;
228
229 [Description (
230 "String describing the type of FileSystem and therefore, its "
231 "conventions. For example, \"NTFS\" or \"S5\" may be listed "
232 tony 1.1 "as well as any additional information on the FileSystem's "
233 "implementation. Since various flavors of FileSystems (like "
234 "S5) exist, this property is defined as a string."),
235 MappingStrings {"MIF.DMTF|Partition|002.6",
236 "MIF.DMTF|Host File System|001.4"} ]
237 string FileSystemType;
238
239 [Experimental, Description (
240 "An enumerated value representing the FileSystem's "
241 "perception of its own persistence characteristics. This "
242 "property would typically be set at the time the FileSystem "
243 "is instantiated and would not be changed by external "
244 "actions. A value of \"Persistent\" indicates that the "
245 "FileSystem is persistent, will be preserved through an "
246 "orderly shutdown and should be protected. A value of "
247 "\"Temporary\" indicates that the FileSystem is "
248 "non-persistent, should not be protected and may not survive "
249 "a shutdown. A value of \"External\" indicates that the "
250 "FileSystem is controlled outside of the scope of the "
251 "operating environment and may need to be protected by "
252 "specialized means. A value of \"Other\" is provided to "
253 tony 1.1 "allow for additional persistence types, to be described in "
254 "the OtherPersistenceType attribute, and is expected to be "
255 "rarely, if ever, used. A value of \"Unknown\" indicates "
256 "that the persistence of the FileSystem can not be "
257 "determined."),
258 ValueMap {"0", "1", "2", "3", "4"},
259 Values {"Unknown", "Other", "Persistent", "Temporary",
260 "External"},
261 ModelCorrespondence {"CIM_FileSystem.OtherPersistenceType"} ]
262 uint16 PersistenceType;
263
264 [Experimental, Description (
265 "A string describing the persistence characteristics when "
266 "PersistenceType is \"Other\"."),
267 ModelCorrespondence {"CIM_FileSystem.PersistenceType"} ]
268 string OtherPersistenceType;
269
270 [Experimental, Description (
271 "The number of files contained in the FileSystem.") ]
272 uint64 NumberOfFiles;
273
274 tony 1.1 [Experimental, Description (
275 "Indicates whether the File size is fixed at creation time "
276 "(value = 1) - the file size is fixed, (value = 2) - the "
277 "file is not a fixed size. The default (value = 0) "
278 "indicates that this information is not specified. If the "
279 "File size is not fixed, the ResizeIncrement property should "
280 "specify the growth increment, in bytes."),
281 ValueMap {"0", "1", "2"},
282 Values {"Not Specified", "Fixed Size", "Not Fixed Size"},
283 ModelCorrespondence {"CIM_LogicalFile.ResizeIncrement"} ]
284 uint16 IsFixedSize = 0;
285
286 [Experimental, Description (
287 "The increment size of a resizable File in bytes. If the "
288 "File is a fixed size, or the resize increment is not "
289 "specified, the value of this property must be 0."),
290 Units ("Bytes"),
291 ModelCorrespondence {"CIM_LogicalFile.IsFixedSize"} ]
292 uint64 ResizeIncrement = 0;
293 };
294
295 tony 1.1
296 // ===================================================================
297 // LocalFileSystem
298 // ===================================================================
299 [Version ("2.6.0"), Description (
300 "A class derived from FileSystem that represents the file store "
301 "controlled by a ComputerSystem through local means (e.g., "
302 "direct device driver access). In this case, the file store is "
303 "managed directly by the ComputerSystem without the need for "
304 "another computer to act as a file server. This definition "
305 "does not breakdown in the case of a Clustered File System. In "
306 "this scenario, the FileSystem is a LocalFileSystem, weak to "
307 "the Cluster.") ]
308 class CIM_LocalFileSystem : CIM_FileSystem {
309 };
310
311
312 // ===================================================================
313 // RemoteFileSystem
314 // ===================================================================
315 [Version ("2.6.0"), Description (
316 tony 1.1 "A class derived from FileSystem that represents access of the "
317 "FileSystem via a network-related service. In this case, the "
318 "file store is hosted by a computer, acting as a file server. "
319 "For example, the file store for an NFS FileSystem is typically "
320 "NOT on a ComputerSystem's locally controlled media, nor is it "
321 "directly accessed through a device driver. Subclasses of "
322 "RemoteFileSystem contain client-side configuration information "
323 "related to the access of the FileSystem.") ]
324 class CIM_RemoteFileSystem : CIM_FileSystem {
325 };
326
327
328 // ===================================================================
329 // NFS (NetworkFileSystem)
330 // ===================================================================
331 [Version ("2.6.0"), Description (
332 "A class derived from RemoteFileSystem representing that the "
333 "FileSystem is mounted, using the NFS protocol, from a "
334 "ComputerSystem. The properties of the NFS object deal with "
335 "the operational aspects of the mount and represent the "
336 "client-side configuration for NFS access. The FileSystemType "
337 tony 1.1 "(inherited from FileSystem) should be set to indicate the type "
338 "of this FileSystem as it appears to the client.") ]
339 class CIM_NFS : CIM_RemoteFileSystem {
340
341 [Description (
342 "If set to true: Once the FileSystem is mounted, NFS "
343 "requests are retried until the hosting System responds.\n"
344 "If set to false: Once the FileSystem is mounted, an error "
345 "is returned if the hosting System does not respond.") ]
346 boolean HardMount;
347
348 [Description (
349 "If set to true: Retries are performed in the foreground.\n"
350 "If set to false: If the first mount attempt fails, retries "
351 "are performed in the background.") ]
352 boolean ForegroundMount;
353
354 [Description (
355 "If set to true: Interrupts are permitted for hard mounts.\n"
356 "If set to false: Interrupts are ignored for hard mounts.") ]
357 boolean Interrupt;
358 tony 1.1
359 [Description (
360 "Maximum number of mount failure retries allowed.") ]
361 uint16 MountFailureRetries;
362
363 [Description (
364 "Maximum number of NFS retransmissions allowed.") ]
365 uint16 RetransmissionAttempts;
366
367 [Description (
368 "NFS timeout in tenths of a second."),
369 Units ("Tenths of Seconds") ]
370 uint32 RetransmissionTimeout;
371
372 [Description (
373 "Read buffer size in bytes."),
374 Units ("Bytes") ]
375 uint64 ReadBufferSize;
376
377 [Description (
378 "Write buffer size in bytes."),
379 tony 1.1 Units ("Bytes") ]
380 uint64 WriteBufferSize;
381
382 [Description (
383 "The remote ComputerSystem's (ie, the NFS File 'Server's) "
384 "UDP port number.") ]
385 uint32 ServerCommunicationPort;
386
387 [Description (
388 "If set to true: Control attribute caching is enabled.\n"
389 "If set to false: Control attribute caching is disabled.") ]
390 boolean AttributeCaching;
391
392 [Description (
393 "Minimum number of seconds that cached attributes are held "
394 "after file modification."),
395 Units ("Seconds") ]
396 uint16 AttributeCachingForRegularFilesMin;
397
398 [Description (
399 "Maximum number of seconds that cached attributes are held "
400 tony 1.1 "after file modification."),
401 Units ("Seconds") ]
402 uint16 AttributeCachingForRegularFilesMax;
403
404 [Description (
405 "Minimum number of seconds that cached attributes are held "
406 "after directory update."),
407 Units ("Seconds") ]
408 uint16 AttributeCachingForDirectoriesMin;
409
410 [Description (
411 "Maximum number of seconds that cached attributes are held "
412 "after directory update."),
413 Units ("Seconds") ]
414 uint16 AttributeCachingForDirectoriesMax;
415 };
416
417 // ===================================================================
418 // FileSystemCapabilities
419 // ===================================================================
420 [Experimental, Version ("2.7.1000"), Description (
421 tony 1.1 "This class defines the abilities for persistence and "
422 "recoverability of a FileSystem. This information is tied to "
423 "the FileSystem using the ElementCapabilities association.") ]
424 class CIM_FileSystemCapabilities : CIM_Capabilities {
425
426 [Description (
427 "An array of enumerated values representing the persistence "
428 "capabilities of the FileSystem. A value of \"Persistent\" "
429 "indicates that the FileSystem supports persistence, can be "
430 "preserved through an orderly shutdown and could be "
431 "protected. A value of \"Temporary\" indicates that the "
432 "FileSystem supports non-persistence, may not be protected "
433 "and may not survive a shutdown. A value of \"External\" "
434 "indicates that the FileSystem could controlled outside of "
435 "the operating environment and may need to be protected by "
436 "specialized means. A value of \"Other\" is provided to "
437 "allow for additional persistence types, to be described in "
438 "the OtherPersistenceType attribute, and is expected to be "
439 "rarely, if ever, used."),
440 ValueMap {"1", "2", "3", "4"},
441 Values {"Other", "Persistent", "Temporary", "External"},
442 tony 1.1 ArrayType ("Indexed"),
443 ModelCorrespondence {
444 "CIM_FileSystemCapabilities.SupportedOtherPersistenceTypes",
445 "CIM_FileSystem.PersistenceType"} ]
446 uint16 SupportedPersistenceTypes[];
447
448 [Description (
449 "An array of strings describing the persistence capabilities "
450 "where the corresponding entry in SupportedPersistenceTypes "
451 "has a value of \"Other\". This value is ignored in all "
452 "other cases."),
453 ArrayType ("Indexed"),
454 ModelCorrespondence {
455 "CIM_FileSystemCapabilites.SupportedPersistenceTypes",
456 "CIM_FileSystem.OtherPersistenceType"} ]
457 string SupportedOtherPersistenceTypes[];
458 };
459
460 // ===================================================================
461 // FileSystemSettingData
462 // ===================================================================
463 tony 1.1 [Experimental, Version ("2.7.1000"), Description (
464 "This class allows a client to specify the desired persistence "
465 "of a FileSystem. This information is tied to the FileSystem "
466 "using the ElementSettingData association.") ]
467 class CIM_FileSystemSettingData : CIM_ScopedSettingData {
468
469 [Write, Description (
470 "An enumerated value representing the intended persistence "
471 "characteristics of the FileSystem. A value of "
472 "\"Persistent\" indicates that the FileSystem should be "
473 "persistent, should be preserved through an orderly shutdown "
474 "and should be protected. A value of \"Temporary\" "
475 "indicates that the FileSystem should be non-persistent, "
476 "should not be protected and may not survive a shutdown. A "
477 "value of \"External\" indicates that the FileSystem should "
478 "be controlled outside of the operating environment and may "
479 "need to be protected by specialized means. A value of "
480 "\"Other\" is provided to allow for additional persistence "
481 "types, to be described in the OtherPersistenceType "
482 "attribute, and is expected to be rarely, if ever, used."),
483 ValueMap {"1", "2", "3", "4"},
484 tony 1.1 Values {"Other", "Persistent", "Temporary", "External"},
485 ModelCorrespondence {
486 "CIM_FileSystemSettingData.OtherPersistenceType",
487 "CIM_FileSystem.PersistenceType"} ]
488 uint16 PersistenceType;
489
490 [Write, Description (
491 "A string describing the persistence characteristics when "
492 "PersistenceType is \"Other\"."),
493 ModelCorrespondence {
494 "CIM_FileSystemSettingData.PersistenceType",
495 "CIM_FileSystem.OtherPersistenceType"} ]
496 string OtherPersistenceType;
497 };
498
499 // ===================================================================
500 // LogicalFile
501 // ===================================================================
502 [Version ("2.6.0"), Description (
503 "A LogicalFile is a named collection of data or executable "
504 "code, or represents a LogicalDevice or Directory. It is "
505 tony 1.1 "located within the context of a FileSystem, on a Storage "
506 "Extent.") ]
507 class CIM_LogicalFile : CIM_LogicalElement {
508
509 [Key, Propagated ("CIM_FileSystem.CSCreationClassName"),
510 Description (
511 "The scoping ComputerSystem's CreationClassName."),
512 MaxLen (256) ]
513 string CSCreationClassName;
514
515 [Key, Propagated ("CIM_FileSystem.CSName"), Description (
516 "The scoping ComputerSystem's Name."),
517 MaxLen (256) ]
518 string CSName;
519
520 [Key, Propagated ("CIM_FileSystem.CreationClassName"),
521 Description (
522 "The scoping FileSystem's CreationClassName."),
523 MaxLen (256) ]
524 string FSCreationClassName;
525
526 tony 1.1 [Key, Propagated ("CIM_FileSystem.Name"), Description (
527 "The scoping FileSystem's Name."),
528 MaxLen (256) ]
529 string FSName;
530
531 [Key, Description (
532 "CreationClassName indicates the name of the class or the "
533 "subclass used in the creation of an instance. When used "
534 "with the other key properties of this class, this property "
535 "allows all instances of this class and its subclasses to be "
536 "uniquely identified."),
537 MaxLen (256) ]
538 string CreationClassName;
539
540 [Key, Override ("Name"), Description (
541 "The inherited Name serves as part of the key of a "
542 "LogicalFile instance within a FileSystem. A unique "
543 "identifier (such as a full path name) is required as a Name "
544 "value. Since Files are weak to their FileSystem (and not "
545 "to a Directory which would provide a more granular naming "
546 "algorithm), care must be taken to make LogicalFile's Name "
547 tony 1.1 "unique for a given Creation ClassName and FileSystem. A "
548 "full path name is one way to do this."),
549 MaxLen (1024) ]
550 string Name;
551
552 [Description (
553 "Size of the File in bytes."),
554 Units ("Bytes"), Gauge ]
555 uint64 FileSize;
556
557 [Description (
558 "File's creation date.") ]
559 datetime CreationDate;
560
561 [Description (
562 "Time that the File was last modified.") ]
563 datetime LastModified;
564
565 [Description (
566 "Time that the File was last accessed.") ]
567 datetime LastAccessed;
568 tony 1.1
569 [Description (
570 "Boolean indicating that the File can be read.") ]
571 boolean Readable;
572
573 [Description (
574 "Boolean indicating that the File can be written.") ]
575 boolean Writeable;
576
577 [Description (
578 "Indicates the file is executable.") ]
579 boolean Executable;
580
581 [Description (
582 "A free form string indicating the algorithm or tool used to "
583 "compress the LogicalFile. If it is not possible or not "
584 "desired to describe the compression scheme (perhaps because "
585 "it is not known), recommend using the following words: "
586 "\"Unknown\" to represent that it is not known whether the "
587 "LogicalFile is compressed or not, \"Compressed\" to "
588 "represent that the File is compressed but either its "
589 tony 1.1 "compression scheme is not known or not disclosed, and \"Not "
590 "Compressed\" to represent that the LogicalFile is not "
591 "compressed.") ]
592 string CompressionMethod;
593
594 [Description (
595 "A free form string indicating the algorithm or tool used to "
596 "encrypt the LogicalFile. If it is not possible or not "
597 "desired to describe the encryption scheme (perhaps for "
598 "security reasons), recommend using the following words: "
599 "\"Unknown\" to represent that it is not known whether the "
600 "LogicalFile is encrypted or not, \"Encrypted\" to represent "
601 "that the File is encrypted but either its encryption scheme "
602 "is not known or not disclosed, and \"Not Encrypted\" to "
603 "represent that the LogicalFile is not encrypted.") ]
604 string EncryptionMethod;
605
606 [Description (
607 "Integer indicating the number of 'file opens' that are "
608 "currently active against the File."),
609 Counter ]
610 tony 1.1 uint64 InUseCount;
611 };
612
613
614 // ===================================================================
615 // DataFile
616 // ===================================================================
617 [Version ("2.6.0"), Description (
618 "DataFile is a type of LogicalFile that is a named collection "
619 "of data or executable code.") ]
620 class CIM_DataFile : CIM_LogicalFile {
621 };
622
623
624 // ===================================================================
625 // Directory
626 // ===================================================================
627 [Version ("2.6.0"), Description (
628 "Directory is a type of File that logically groups Files "
629 "'contained' in it, and provides path information for the "
630 "grouped Files.") ]
631 tony 1.1 class CIM_Directory : CIM_LogicalFile {
632 };
633
634
635 // ===================================================================
636 // DeviceFile
637 // ===================================================================
638 [Version ("2.6.0"), Description (
639 "DeviceFile is a special type of LogicalFile that represents a "
640 "Device. This convention is useful for some operating systems "
641 "that manage devices using a byte stream I/O model. The "
642 "Logical Device that is associated with this file is specified "
643 "using the DeviceAccessedByFile relationship.") ]
644 class CIM_DeviceFile : CIM_LogicalFile {
645 };
646
647
648 // ===================================================================
649 // FIFOPipeFile
650 // ===================================================================
651 [Version ("2.6.0"), Description (
652 tony 1.1 "FIFOPipeFile is a special type of LogicalFile that represents "
653 "an interprocess FIFO (sometimes referred to as a \"named "
654 "pipe\"). Operating systems use this convention to manage "
655 "interprocess communication through processes reading and "
656 "writing the FIFO. The FIFO can be accessed by unrelated "
657 "processes, in contrast to the more well-known command line "
658 "redirection mechanism (e.g. UNIX's 'ps -eaf | grep foo', also "
659 "known as an \"unnamed pipe\"). An exemplary operating system "
660 "implementation (using the FIFO concept) is the UNIX S_IFIFO "
661 "file type.") ]
662 class CIM_FIFOPipeFile : CIM_LogicalFile {
663 };
664
665
666 // ===================================================================
667 // SymbolicLink
668 // ===================================================================
669 [Version ("2.6.0"), Description (
670 "This class is a special type of LogicalFile that represents a "
671 "Symbolic Link. This convention is useful for some operating "
672 "systems that want to represent a single file in multiple "
673 tony 1.1 "places or a single file that is represented via multiple "
674 "names.") ]
675 class CIM_SymbolicLink : CIM_LogicalFile {
676
677 [Required, Description (
678 "The target file of the symbolic link.") ]
679 string TargetFile;
680 };
681
682
683 // ===================================================================
684 // DeviceAccessedByFile
685 // ===================================================================
686 [Association, Version ("2.6.0"), Description (
687 "Specifies the LogicalDevice that is associated with, and "
688 "accessed using the referenced DeviceFile.") ]
689 class CIM_DeviceAccessedByFile : CIM_Dependency {
690
691 [Override ("Antecedent"), Description (
692 "The DeviceFile.") ]
693 CIM_DeviceFile REF Antecedent;
694 tony 1.1
695 [Override ("Dependent"), Max (1), Description (
696 "The Device that is accessed using the DeviceFile.") ]
697 CIM_LogicalDevice REF Dependent;
698 };
699
700
701 // ===================================================================
702 // DirectoryContainsFile
703 // ===================================================================
704 [Association, Aggregation, Composition, Version ("2.7.0"),
705 Description (
706 "Specifies the hierarchical arrangement of LogicalFiles in a "
707 "Directory.") ]
708 class CIM_DirectoryContainsFile : CIM_Component {
709
710 [Aggregate, Override ("GroupComponent"), Max (1), Description (
711 "The Directory.") ]
712 CIM_Directory REF GroupComponent;
713
714 [Override ("PartComponent"), Description (
715 tony 1.1 "The LogicalFile 'contained within' the Directory.") ]
716 CIM_LogicalFile REF PartComponent;
717 };
718
719
720 // ===================================================================
721 // Mount
722 // ===================================================================
723 [Association, Version ("2.6.0"), Description (
724 "An association between a FileSystem and a Directory which "
725 "indicates that the Directory is being attached to the "
726 "FileSystem. The semantics of this relationship require that "
727 "the mounted Directory be contained by a FileSystem (via the "
728 "FileStorage association) that is different from the FileSystem "
729 "referenced as the Dependent. The Directory's containing "
730 "FileSystem could be either local or remote. For example, a "
731 "LocalFileSystem on a Solaris ComputerSystem can mount a "
732 "Directory from the FileSystem accessed via the machine's CDROM "
733 "drive, i.e., another LocalFile System. On the other hand, in "
734 "a 'remote' case, the Directory is first exported by its "
735 "FileSystem, which is hosted on another ComputerSystem acting "
736 tony 1.1 "(for example) as a file server. In order to distinguish these "
737 "two types of Mount, it is recommended that a CIM_Export "
738 "association always be defined for the remotely "
739 "accessed/mounted Directories.") ]
740 class CIM_Mount : CIM_Dependency {
741
742 [Override ("Antecedent"), Max (1), Description (
743 "The Directory mounted.") ]
744 CIM_Directory REF Antecedent;
745
746 [Override ("Dependent"), Description (
747 "The FileSystem the Directory is mounted on.") ]
748 CIM_FileSystem REF Dependent;
749 };
750
751
752 // ===================================================================
753 // Export
754 // ===================================================================
755 [Association, Version ("2.6.0"), Description (
756 "An association between a LocalFileSystem and its Directories "
757 tony 1.1 "indicating that the specified Directories are available for "
758 "mount. When exporting an entire FileSystem, the Directory "
759 "should reference the topmost directory of the FileSystem.") ]
760 class CIM_Export {
761
762 [Key, Max (1), Description (
763 "The LocalFileSystem.") ]
764 CIM_LocalFileSystem REF LocalFS;
765
766 [Key, Description (
767 "The Directory exported for mount.") ]
768 CIM_Directory REF Directory;
769
770 [Description (
771 "Name under which the Directory is exported.") ]
772 string ExportedDirectoryName;
773 };
774
775
776 // ===================================================================
777 // HostedFileSystem
778 tony 1.1 // ===================================================================
779 [Association, Aggregation, Composition, Version ("2.7.0"),
780 Description (
781 "A link between the System (such as a Computer or Application "
782 "System) and the FileSystem that is a part of it.") ]
783 class CIM_HostedFileSystem : CIM_SystemComponent {
784
785 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
786 Description (
787 "The System that hosts the FileSystem.") ]
788 CIM_System REF GroupComponent;
789
790 [Override ("PartComponent"), Weak, Description (
791 "The FileSystem that is part of the System and hosted on "
792 "it.") ]
793 CIM_FileSystem REF PartComponent;
794 };
795
796
797 // ===================================================================
798 // FileStorage
799 tony 1.1 // ===================================================================
800 [Association, Aggregation, Composition, Version ("2.7.0"),
801 Description (
802 "A link between the FileSystem and the LogicalFile(s) addressed "
803 "through this FileSystem.") ]
804 class CIM_FileStorage : CIM_Component {
805
806 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
807 Description (
808 "The FileSystem.") ]
809 CIM_FileSystem REF GroupComponent;
810
811 [Override ("PartComponent"), Weak, Description (
812 "The LogicalFile stored in the context of the FileSystem.") ]
813 CIM_LogicalFile REF PartComponent;
814 };
815
816 // ===================================================================
817 // ResidesOnExtent
818 // ===================================================================
819 [Association, Version ("2.7.1000"), Description (
820 tony 1.1 "An association between a LogicalElement and the StorageExtent "
821 "where it is located. Typically, a FileSystem ResidesOn a "
822 "LogicalDisk. However, it is possible for a logical file or "
823 "other internal data store to reside directly on a "
824 "StorageExtent or appropriate subclass.") ]
825 class CIM_ResidesOnExtent : CIM_Dependency {
826
827 [Override ("Antecedent"), Description (
828 "The StorageExtent.") ]
829 CIM_StorageExtent REF Antecedent;
830
831 [Override ("Dependent"), Description (
832 "The LogicalElement that is located on the StorageExtent.") ]
833 CIM_LogicalElement REF Dependent;
834 };
835
836
837 // ===================================================================
838 // Share
839 // ===================================================================
840 [Experimental, Abstract, Version ("2.7.1000"), Description (
841 tony 1.1 "A Share is representative of an object presented for use (or "
842 "shared) across systems. Instances of CIM_Share are associated "
843 "with the shared object on the 'server'-side via the "
844 "CIM_SharedElement association. Shares are mounted on the "
845 "'client'-side (usually into another namespace) via the "
846 "CIM_Import Share association. CIM_Share is Abstract to force "
847 "subclassing to define the semantics of sharing.") ]
848 class CIM_Share : CIM_LogicalElement {
849
850 [Key, Propagated ("CIM_System.CreationClassName"), Description (
851 "The scoping System's CreationClassName."),
852 MaxLen (256) ]
853 string SystemCreationClassName;
854
855 [Key, Propagated ("CIM_System.Name"), Description (
856 "The scoping System's Name.") ]
857 string SystemName;
858
859 [Key, Description (
860 "CreationClassName indicates the name of the class or the "
861 "subclass used in the creation of an instance."),
862 tony 1.1 MaxLen (256) ]
863 string CreationClassName;
864
865 [Key, Override ("Name"), Description (
866 "The Name property, inherited from LogicalElement, defines "
867 "the shared name by which the shared object is exported.") ]
868 string Name;
869 };
870
871
872 // ===================================================================
873 // FileShare
874 // ===================================================================
875 [Experimental, Abstract, Version ("2.7.1000"), Description (
876 "A FileShare is representative of a file or directory presented "
877 "for use (or shared) across systems. Instances of FileShare "
878 "are associated with the shared object on the 'server'-side via "
879 "the CIM_SharedElement association. Shares are mounted on the "
880 "'client'-side (usually into another namespace) via the "
881 "CIM_Import Share association. FileShare is Abstract to force "
882 "subclassing to define the semantics of sharing.") ]
883 tony 1.1 class CIM_FileShare : CIM_Share {
884
885 [Description (
886 "Indicates whether a directory or file is presented for use "
887 "(or shared) across systems. A value of true represents a "
888 "directory. A value of false represents a file.") ]
889 boolean SharingDirectory;
890 };
891
892
893 // ===================================================================
894 // NFSShare
895 // ===================================================================
896 [Experimental, Version ("2.7.1000"), Description (
897 "An NFSShare represents a Directory associated via "
898 "CIM_SharedElement that is made accessible to other systems. "
899 "On the client-side, the NFSShare is associated with its mount "
900 "point via CIM_ImportedShare.") ]
901 class CIM_NFSShare : CIM_FileShare {
902
903 [Override ("Name"), Description (
904 tony 1.1 "The Name property, inherited from Share, defines the shared "
905 "name by which the shared object is exported. For NFS, this "
906 "will typically be the pathname of the exported directory, "
907 "using forward slashes '/' to precede directory names in the "
908 "path.") ]
909 string Name;
910 };
911
912
913 // ===================================================================
914 // CIFSShare
915 // ===================================================================
916 [Experimental, Version ("2.7.1000"), Description (
917 "A CIFSShare represents a File, Directory, or Print Queue that "
918 "is made accessible to other systems. If a File or Directory, "
919 "it is associated via CIM_SharedElement. And on the "
920 "client-side, the CIFSShare representing the File or Directory "
921 "is associated with its mount point via CIM_ImportedShare. "
922 "Other subclasses of LogicalIdentity would make the "
923 "associations for other types of CIFSShare.") ]
924 class CIM_CIFSShare: CIM_FileShare {
925 tony 1.1
926 [Override ("Name"), Description (
927 "The Name property, inherited from Share, defines the shared "
928 "name by which the shared object is exported. For CIFS, "
929 "this will typically be a single-level, user-friendly, "
930 "system-unique name.") ]
931 string Name;
932 };
933
934
935 // ===================================================================
936 // SharedElement
937 // ===================================================================
938 [Association, Experimental, Version ("2.7.1000"), Description (
939 "SharedElement associates the Share to a LogicalElement that is "
940 "being exported.") ]
941 class CIM_SharedElement: CIM_LogicalIdentity {
942
943 [Override ("SystemElement"), Max (1), Description (
944 "The Directory that is Shared.") ]
945 CIM_LogicalElement REF SystemElement;
946 tony 1.1
947 [Override ("SameElement"), Description (
948 "The Shared view of the Directory.") ]
949 CIM_Share REF SameElement;
950 };
951
952
953 // ===================================================================
954 // ImportedShare
955 // ===================================================================
956 [Association, Experimental, Version ("2.7.1000"), Description (
957 "ImportedShare associates the Share to the LogicalElement, that "
958 "represents the identity of the shared element in the importing "
959 "system.") ]
960 class CIM_ImportedShare : CIM_LogicalIdentity {
961
962 [Override ("SystemElement"), Description (
963 "The LogicalElement that the Share is Imported onto.") ]
964 CIM_LogicalElement REF SystemElement;
965
966 [Override ("SameElement"), Max (1), Description (
967 tony 1.1 "The Share that the LogicalFile is a surrogate for.") ]
968 CIM_Share REF SameElement;
969 };
970
971
972 // ==================================================================
973 // HostedShare
974 // ==================================================================
975 [Association, Experimental, Version ("2.7.1000"), Description (
976 "CIM_HostedShare is an association between a Share and the "
977 "System on which the functionality resides. The cardinality of "
978 "this association is 1-to-many. A System may host many "
979 "Shares. Shares are weak with respect to their hosting "
980 "System. Heuristic: A Share is hosted on the System where the "
981 "LogicalElement that Exports the Share is located, (via "
982 "LogicalIdentity.)") ]
983 class CIM_HostedShare:CIM_HostedDependency {
984
985 [Override ("Antecedent"), Min (1), Max (1), Description (
986 "The hosting System.") ]
987 CIM_System REF Antecedent;
988 tony 1.1
989 [Override ("Dependent"), Weak, Description (
990 "The Share hosted on the System.") ]
991 CIM_Share REF Dependent;
992 };
993
994
995 // ===================================================================
996 // end of file
997 // ===================================================================
|