1 tony 1.1 // ===================================================================
2 // Title: System File Elements 2.8
3 // Filename: System28_FileElements.mof
4 // Version: 2.8
5 // Status: Final
6 // Date: Jan 26, 2004
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 Final
53 // CR1204 - Removal of Experimental Qualifier for Preliminary to Final
54 // CR1177 - Share to use InstanceID as key vs. propagated keys.
55 //
56 // Change Log for v2.8 Preliminary
57 // CR1056 - Database Storage:
58 // -- modify ResidesOnExtent
59 // -- add PersistenceType and NumberOfFiles to FileSystem
60 // -- add FileSystemCapabilities and FileSystemSettingData
61 // CR883 - Add IsFixedSize and ResizeIncrement properties
62 // to CIM_LogicalFile
63 // CR1128 - Addition of HostedDependency
64 tony 1.1 //
65 // Change Log for v2.7 Final
66 // CR969 - Remove Share, NFSShare, CIFSShare, SharedElement,
67 // ImportedShare, and HostedShare so they can remain
68 // experimental in 2.8.
69 //
70 // Change Log for v2.7
71 // CR598 - Add Share, NFSShare, CIFSShare, SharedElement,
72 // ImportedShare, and HostedShare
73 // CR644 - Modify Share, NFSShare, CIFSShare, and ImportedShare
74 // - Add FileShare
75 // CR748 - Promote HostedFileSystem.GroupComponent from ComputerSystem
76 // to System. Fix the class description and the propagated
77 // key descriptions in FileSystem.
78 // CR757 - Change the subclassing of FileSystem from LogicalElement
79 // to EnabledLogicalElement
80 // CR767 - Add the Compostion qualifer to DirectoryContainsFile,
81 // FileStorage, and HostedFileSystem
82 // ==================================================================
83
84 #pragma locale ("en_US")
85 tony 1.1
86
87 // ===================================================================
88 // FileSystem
89 // ===================================================================
90 [Version ( "2.7.0" ), Description (
91 "A file or dataset store local to a System (such as a "
92 "ComputerSystem or an ApplicationSystem) or remotely mounted "
93 "from a file server.")]
94 class CIM_FileSystem : CIM_EnabledLogicalElement {
95
96 [Key, Propagated ( "CIM_System.CreationClassName" ),
97 Description (
98 "The scoping System's CreationClassName. Note that this "
99 "class was originally defined in the scope of a "
100 "ComputerSystem, and was later allowed to be scoped by any "
101 "System (for example, a computer or application system). "
102 "Unfortunately, the property name, CSCreationClassName, "
103 "could not be changed (for example, to SystemCreationClass "
104 "Name) without deprecating the class. This change was not "
105 "deemed critical to the semantics and therefore did not "
106 tony 1.1 "merit deprecation. So, the property name remains."),
107 MaxLen ( 256 )]
108 string CSCreationClassName;
109
110 [Key, Propagated ( "CIM_System.Name" ), Description (
111 "The scoping System's Name. Note that this class was "
112 "originally defined in the scope of a ComputerSystem, and "
113 "was later allowed to be scoped by any System (for example, "
114 "a computer or application system). Unfortunately, the "
115 "property name, CSName, could not be changed (for example, "
116 "to SystemName) without deprecating the class. This change "
117 "was not deemed critical to the semantics and therefore did "
118 "not merit deprecation. So, the property name remains."),
119 MaxLen ( 256 )]
120 string CSName;
121
122 [Key, Description (
123 "CreationClassName indicates the name of the class or the "
124 "subclass used in the creation of an instance. When used "
125 "with the other key properties of this class, this property "
126 "allows all instances of this class and its subclasses to be "
127 tony 1.1 "uniquely identified."),
128 MaxLen ( 256 )]
129 string CreationClassName;
130
131 [Key, Override ( "Name" ), Description (
132 "The inherited Name serves as key of a FileSystem instance "
133 "within a ComputerSystem."),
134 MaxLen ( 256 )]
135 string Name;
136
137 [Description (
138 "Path name or other information defining the root of the "
139 "FileSystem."),
140 MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSMountPoint",
141 "MIF.DMTF|Host File System|001.2" }]
142 string Root;
143
144 [Description (
145 "FileSystems can read/write data in blocks which are defined "
146 "independently of the underlying StorageExtents. This "
147 "property captures the FileSystem's block size for data "
148 tony 1.1 "storage and retrieval."),
149 Units ( "Bytes" )]
150 uint64 BlockSize;
151
152 [Description (
153 "The FileSystemSize property stores the total size of the "
154 "File System in bytes. If unknown, enter 0."),
155 Units ( "Bytes" ),
156 MappingStrings { "MIF.DMTF|Host File System|001.13" }]
157 uint64 FileSystemSize;
158
159 [Description (
160 "AvailableSpace indicates the total amount of free space for "
161 "the FileSystem, in bytes. If unknown, enter 0."),
162 Units ( "Bytes" ), Gauge,
163 MappingStrings { "MIF.DMTF|Host File System|001.14",
164 "MIF.DMTF|Partition|002.4" }]
165 uint64 AvailableSpace;
166
167 [Description (
168 "Indicates that the FileSystem is designated as read only."),
169 tony 1.1 MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrFSAccess",
170 "MIF.DMTF|Host File System|001.5" }]
171 boolean ReadOnly;
172
173 [Description (
174 "A free form string indicating the algorithm or tool used to "
175 "encrypt the FileSystem. If it is not possible or not "
176 "desired to describe the encryption scheme (perhaps for "
177 "security reasons), recommend using the following words: "
178 "\"Unknown\" to represent that it is not known whether the "
179 "FileSystem is encrypted or not, \"Encrypted\" to represent "
180 "that the File System is encrypted but either its encryption "
181 "scheme is not known or not disclosed, and \"Not Encrypted\" "
182 "to represent that the FileSystem is not encrypted."),
183 MappingStrings { "MIF.DMTF|Partition|002.8" }]
184 string EncryptionMethod;
185
186 [Description (
187 "A free form string indicating the algorithm or tool used to "
188 "compress the FileSystem. If it is not possible or not "
189 "desired to describe the compression scheme (perhaps because "
190 tony 1.1 "it is not known), recommend using the following words: "
191 "\"Unknown\" to represent that it is not known whether the "
192 "FileSystem is compressed or not, \"Compressed\" to "
193 "represent that the File System is compressed but either its "
194 "compression scheme is not known or not disclosed, and \"Not "
195 "Compressed\" to represent that the FileSystem is not "
196 "compressed."),
197 MappingStrings { "MIF.DMTF|Partition|002.7" }]
198 string CompressionMethod;
199
200 [Description (
201 "Indicates that case sensitive file names are supported.")]
202 boolean CaseSensitive;
203
204 [Description (
205 "Indicates that the case of file names are preserved.")]
206 boolean CasePreserved;
207
208 [Description (
209 "Array defining the character sets or encoding supported by "
210 "the FileSystem. For example, the values, \"ASCII\" (2) or "
211 tony 1.1 "\"ISO2022\" (4), may be specified."),
212 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" },
213 Values { "Unknown", "Other", "ASCII", "Unicode", "ISO2022",
214 "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2" }]
215 uint16 CodeSet[];
216
217 [Description (
218 "Integer indicating the maximum length of a file name within "
219 "the FileSystem. 0 indicates that there is no limit on file "
220 "name length.")]
221 uint32 MaxFileNameLength;
222
223 [Description (
224 "The minimum file allocation size (an integral number of "
225 "blocks), imposed by the FileSystem. (The size of a block is "
226 "specified in the BlockSize property for the FileSystem.) "
227 "Minimum allocation size is the smallest amount of storage "
228 "allocated to a LogicalFile by the FileSystem. This is not a "
229 "mandatory minimum allocation for all FileSystems. Under "
230 "stress conditions, some FileSystems may allocate storage in "
231 "amounts smaller than the ClusterSize.")]
232 tony 1.1 uint32 ClusterSize;
233
234 [Description (
235 "String describing the type of FileSystem and therefore, its "
236 "conventions. For example, \"NTFS\" or \"S5\" may be listed "
237 "as well as any additional information on the FileSystem's "
238 "implementation. Since various flavors of FileSystems (like "
239 "S5) exist, this property is defined as a string."),
240 MappingStrings { "MIF.DMTF|Partition|002.6",
241 "MIF.DMTF|Host File System|001.4" }]
242 string FileSystemType;
243
244 [Description (
245 "An enumerated value representing the FileSystem's "
246 "perception of its own persistence characteristics. This "
247 "property would typically be set at the time the FileSystem "
248 "is instantiated and would not be changed by external "
249 "actions. A value of \"Persistent\" indicates that the "
250 "FileSystem is persistent, will be preserved through an "
251 "orderly shutdown and should be protected. A value of "
252 "\"Temporary\" indicates that the FileSystem is "
253 tony 1.1 "non-persistent, should not be protected and may not survive "
254 "a shutdown. A value of \"External\" indicates that the "
255 "FileSystem is controlled outside of the scope of the "
256 "operating environment and may need to be protected by "
257 "specialized means. A value of \"Other\" is provided to "
258 "allow for additional persistence types, to be described in "
259 "the OtherPersistenceType attribute, and is expected to be "
260 "rarely, if ever, used. A value of \"Unknown\" indicates "
261 "that the persistence of the FileSystem can not be "
262 "determined."),
263 ValueMap { "0", "1", "2", "3", "4" },
264 Values { "Unknown", "Other", "Persistent", "Temporary",
265 "External" },
266 ModelCorrespondence { "CIM_FileSystem.OtherPersistenceType" }]
267 uint16 PersistenceType;
268
269 [Description (
270 "A string describing the persistence characteristics when "
271 "PersistenceType is \"Other\"."),
272 ModelCorrespondence { "CIM_FileSystem.PersistenceType" }]
273 string OtherPersistenceType;
274 tony 1.1
275 [Description (
276 "The number of files contained in the FileSystem.")]
277 uint64 NumberOfFiles;
278
279 };
280
281
282 // ===================================================================
283 // LocalFileSystem
284 // ===================================================================
285 [Version ( "2.6.0" ), Description (
286 "A class derived from FileSystem that represents the file store "
287 "controlled by a ComputerSystem through local means (e.g., "
288 "direct device driver access). In this case, the file store is "
289 "managed directly by the ComputerSystem without the need for "
290 "another computer to act as a file server. This definition does "
291 "not breakdown in the case of a Clustered File System. In this "
292 "scenario, the FileSystem is a LocalFileSystem, weak to the "
293 "Cluster.")]
294 class CIM_LocalFileSystem : CIM_FileSystem {
295 tony 1.1 };
296
297
298 // ===================================================================
299 // RemoteFileSystem
300 // ===================================================================
301 [Version ( "2.6.0" ), Description (
302 "A class derived from FileSystem that represents access of the "
303 "FileSystem via a network-related service. In this case, the "
304 "file store is hosted by a computer, acting as a file server. "
305 "For example, the file store for an NFS FileSystem is typically "
306 "NOT on a ComputerSystem's locally controlled media, nor is it "
307 "directly accessed through a device driver. Subclasses of "
308 "RemoteFileSystem contain client-side configuration information "
309 "related to the access of the FileSystem.")]
310 class CIM_RemoteFileSystem : CIM_FileSystem {
311 };
312
313
314 // ===================================================================
315 // NFS (NetworkFileSystem)
316 tony 1.1 // ===================================================================
317 [Version ( "2.6.0" ), Description (
318 "A class derived from RemoteFileSystem representing that the "
319 "FileSystem is mounted, using the NFS protocol, from a "
320 "ComputerSystem. The properties of the NFS object deal with the "
321 "operational aspects of the mount and represent the client-side "
322 "configuration for NFS access. The FileSystemType (inherited "
323 "from FileSystem) should be set to indicate the type of this "
324 "FileSystem as it appears to the client.")]
325 class CIM_NFS : CIM_RemoteFileSystem {
326
327 [Description (
328 "If set to true: Once the FileSystem is mounted, NFS "
329 "requests are retried until the hosting System responds. \n"
330 "If set to false: Once the FileSystem is mounted, an error "
331 "is returned if the hosting System does not respond.")]
332 boolean HardMount;
333
334 [Description (
335 "If set to true: Retries are performed in the foreground. \n"
336 "If set to false: If the first mount attempt fails, retries "
337 tony 1.1 "are performed in the background.")]
338 boolean ForegroundMount;
339
340 [Description (
341 "If set to true: Interrupts are permitted for hard mounts. \n"
342 "If set to false : Interrupts are ignored for hard mounts.")]
343 boolean Interrupt;
344
345 [Description (
346 "Maximum number of mount failure retries allowed.")]
347 uint16 MountFailureRetries;
348
349 [Description (
350 "Maximum number of NFS retransmissions allowed.")]
351 uint16 RetransmissionAttempts;
352
353 [Description (
354 "NFS timeout in tenths of a second."),
355 Units ( "Tenths of Seconds" )]
356 uint32 RetransmissionTimeout;
357
358 tony 1.1 [Description (
359 "Read buffer size in bytes."),
360 Units ( "Bytes" )]
361 uint64 ReadBufferSize;
362
363 [Description (
364 "Write buffer size in bytes."),
365 Units ( "Bytes" )]
366 uint64 WriteBufferSize;
367
368 [Description (
369 "The remote ComputerSystem's (ie, the NFS File 'Server's) "
370 "UDP port number.")]
371 uint32 ServerCommunicationPort;
372
373 [Description (
374 "If set to true: Control attribute caching is enabled. \n"
375 "If set to false: Control attribute caching is disabled.")]
376 boolean AttributeCaching;
377
378 [Description (
379 tony 1.1 "Minimum number of seconds that cached attributes are held "
380 "after file modification."),
381 Units ( "Seconds" )]
382 uint16 AttributeCachingForRegularFilesMin;
383
384 [Description (
385 "Maximum number of seconds that cached attributes are held "
386 "after file modification."),
387 Units ( "Seconds" )]
388 uint16 AttributeCachingForRegularFilesMax;
389
390 [Description (
391 "Minimum number of seconds that cached attributes are held "
392 "after directory update."),
393 Units ( "Seconds" )]
394 uint16 AttributeCachingForDirectoriesMin;
395
396 [Description (
397 "Maximum number of seconds that cached attributes are held "
398 "after directory update."),
399 Units ( "Seconds" )]
400 tony 1.1 uint16 AttributeCachingForDirectoriesMax;
401 };
402
403 // ===================================================================
404 // FileSystemCapabilities
405 // ===================================================================
406 [Version ( "2.8.0" ), Description (
407 "This class defines the abilities for persistence and "
408 "recoverability of a FileSystem. This information is tied to "
409 "the FileSystem using the ElementCapabilities association.")]
410 class CIM_FileSystemCapabilities : CIM_Capabilities {
411
412 [Description (
413 "An array of enumerated values representing the persistence "
414 "capabilities of the FileSystem. A value of \"Persistent\" "
415 "indicates that the FileSystem supports persistence, can be "
416 "preserved through an orderly shutdown and could be "
417 "protected. A value of \"Temporary\" indicates that the "
418 "FileSystem supports non-persistence, may not be protected "
419 "and may not survive a shutdown. A value of \"External\" "
420 "indicates that the FileSystem could controlled outside of "
421 tony 1.1 "the operating environment and may need to be protected by "
422 "specialized means. A value of \"Other\" is provided to "
423 "allow for additional persistence types, to be described in "
424 "the OtherPersistenceType attribute, and is expected to be "
425 "rarely, if ever, used."),
426 ValueMap { "1", "2", "3", "4" },
427 Values { "Other", "Persistent", "Temporary", "External" },
428 ArrayType ( "Indexed" ),
429 ModelCorrespondence {
430 "CIM_FileSystemCapabilities.SupportedPersistenceTypes",
431 "CIM_FileSystem.PersistenceType" }]
432 uint16 SupportedPersistenceTypes[];
433
434
435 [Description (
436 "An array of strings describing the persistence capabilities "
437 "where the corresponding entry in SupportedPersistenceTypes "
438 "has a value of \"Other\". This value is ignored in all "
439 "other cases."),
440 ArrayType ( "Indexed" ),
441 ModelCorrespondence {
442 tony 1.1 "CIM_FileSystemCapabilities.SupportedPersistenceTypes",
443 "CIM_FileSystem.OtherPersistenceType" }]
444 string SupportedOtherPersistenceTypes[];
445 };
446
447 // ===================================================================
448 // FileSystemSettingData
449 // ===================================================================
450 [Version ( "2.8.0" ), Description (
451 "This class allows a client to specify the desired persistence "
452 "of a FileSystem. This information is tied to the FileSystem "
453 "using the ElementSettingData association.")]
454 class CIM_FileSystemSettingData : CIM_ScopedSettingData {
455
456 [Write, Description (
457 "An enumerated value representing the intended persistence "
458 "characteristics of the FileSystem. A value of "
459 "\"Persistent\" indicates that the FileSystem should be "
460 "persistent, should be preserved through an orderly shutdown "
461 "and should be protected. A value of \"Temporary\" indicates "
462 "that the FileSystem should be non-persistent, should not be "
463 tony 1.1 "protected and may not survive a shutdown. A value of "
464 "\"External\" indicates that the FileSystem should be "
465 "controlled outside of the operating environment and may "
466 "need to be protected by specialized means. A value of "
467 "\"Other\" is provided to allow for additional persistence "
468 "types, to be described in the OtherPersistenceType "
469 "attribute, and is expected to be rarely, if ever, used."),
470 ValueMap { "1", "2", "3", "4" },
471 Values { "Other", "Persistent", "Temporary", "External" },
472 ModelCorrespondence {
473 "CIM_FileSystemSettingData.OtherPersistenceType",
474 "CIM_FileSystem.PersistenceType" }]
475 uint16 PersistenceType;
476
477 [Write, Description (
478 "A string describing the persistence characteristics when "
479 "PersistenceType is \"Other\"."),
480 ModelCorrespondence {
481 "CIM_FileSystemSettingData.PersistenceType",
482 "CIM_FileSystem.OtherPersistenceType" }]
483 string OtherPersistenceType;
484 tony 1.1 };
485
486 // ===================================================================
487 // LogicalFile
488 // ===================================================================
489 [Version ( "2.6.0" ), Description (
490 "A LogicalFile is a named collection of data or executable "
491 "code, or represents a LogicalDevice or Directory. It is "
492 "located within the context of a FileSystem, on a Storage "
493 "Extent.")]
494 class CIM_LogicalFile : CIM_LogicalElement {
495
496 [Key, Propagated ( "CIM_FileSystem.CSCreationClassName" ),
497 Description (
498 "The scoping ComputerSystem's CreationClassName."),
499 MaxLen ( 256 )]
500 string CSCreationClassName;
501
502 [Key, Propagated ( "CIM_FileSystem.CSName" ), Description (
503 "The scoping ComputerSystem's Name."),
504 MaxLen ( 256 )]
505 tony 1.1 string CSName;
506
507 [Key, Propagated ( "CIM_FileSystem.CreationClassName" ),
508 Description (
509 "The scoping FileSystem's CreationClassName."),
510 MaxLen ( 256 )]
511 string FSCreationClassName;
512
513 [Key, Propagated ( "CIM_FileSystem.Name" ), Description (
514 "The scoping FileSystem's Name."),
515 MaxLen ( 256 )]
516 string FSName;
517
518 [Key, Description (
519 "CreationClassName indicates the name of the class or the "
520 "subclass used in the creation of an instance. When used "
521 "with the other key properties of this class, this property "
522 "allows all instances of this class and its subclasses to be "
523 "uniquely identified."),
524 MaxLen ( 256 )]
525 string CreationClassName;
526 tony 1.1
527 [Key, Override ( "Name" ), Description (
528 "The inherited Name serves as part of the key of a "
529 "LogicalFile instance within a FileSystem. A unique "
530 "identifier (such as a full path name) is required as a Name "
531 "value. Since Files are weak to their FileSystem (and not to "
532 "a Directory which would provide a more granular naming "
533 "algorithm), care must be taken to make LogicalFile's Name "
534 "unique for a given Creation ClassName and FileSystem. A "
535 "full path name is one way to do this."),
536 MaxLen ( 1024 )]
537 string Name;
538
539 [Description (
540 "Size of the File in bytes."),
541 Units ( "Bytes" ), Gauge]
542 uint64 FileSize;
543
544 [Description (
545 "File's creation date.")]
546 datetime CreationDate;
547 tony 1.1
548 [Description (
549 "Time that the File was last modified.")]
550 datetime LastModified;
551
552 [Description (
553 "Time that the File was last accessed.")]
554 datetime LastAccessed;
555
556 [Description (
557 "Boolean indicating that the File can be read.")]
558 boolean Readable;
559
560 [Description (
561 "Boolean indicating that the File can be written.")]
562 boolean Writeable;
563
564 [Description (
565 "Indicates the file is executable.")]
566 boolean Executable;
567
568 tony 1.1 [Description (
569 "A free form string indicating the algorithm or tool used to "
570 "compress the LogicalFile. If it is not possible or not "
571 "desired to describe the compression scheme (perhaps because "
572 "it is not known), recommend using the following words: "
573 "\"Unknown\" to represent that it is not known whether the "
574 "LogicalFile is compressed or not, \"Compressed\" to "
575 "represent that the File is compressed but either its "
576 "compression scheme is not known or not disclosed, and \"Not "
577 "Compressed\" to represent that the LogicalFile is not "
578 "compressed.")]
579 string CompressionMethod;
580
581 [Description (
582 "A free form string indicating the algorithm or tool used to "
583 "encrypt the LogicalFile. If it is not possible or not "
584 "desired to describe the encryption scheme (perhaps for "
585 "security reasons), recommend using the following words: "
586 "\"Unknown\" to represent that it is not known whether the "
587 "LogicalFile is encrypted or not, \"Encrypted\" to represent "
588 "that the File is encrypted but either its encryption scheme "
589 tony 1.1 "is not known or not disclosed, and \"Not Encrypted\" to "
590 "represent that the LogicalFile is not encrypted.")]
591 string EncryptionMethod;
592
593 [Description (
594 "Integer indicating the number of 'file opens' that are "
595 "currently active against the File."),
596 Counter]
597 uint64 InUseCount;
598 };
599
600
601 // ===================================================================
602 // DataFile
603 // ===================================================================
604 [Version ( "2.6.0" ), Description (
605 "DataFile is a type of LogicalFile that is a named collection "
606 "of data or executable code.")]
607 class CIM_DataFile : CIM_LogicalFile {
608 };
609
610 tony 1.1
611 // ===================================================================
612 // Directory
613 // ===================================================================
614 [Version ( "2.6.0" ), Description (
615 "Directory is a type of File that logically groups Files "
616 "'contained' in it, and provides path information for the "
617 "grouped Files.")]
618 class CIM_Directory : CIM_LogicalFile {
619 };
620
621
622 // ===================================================================
623 // DeviceFile
624 // ===================================================================
625 [Version ( "2.6.0" ), Description (
626 "DeviceFile is a special type of LogicalFile that represents a "
627 "Device. This convention is useful for some operating systems "
628 "that manage devices using a byte stream I/O model. The Logical "
629 "Device that is associated with this file is specified using "
630 "the DeviceAccessedByFile relationship.")]
631 tony 1.1 class CIM_DeviceFile : CIM_LogicalFile {
632 };
633
634
635 // ===================================================================
636 // FIFOPipeFile
637 // ===================================================================
638 [Version ( "2.6.0" ), Description (
639 "FIFOPipeFile is a special type of LogicalFile that represents "
640 "an interprocess FIFO (sometimes referred to as a \"named "
641 "pipe\"). Operating systems use this convention to manage "
642 "interprocess communication through processes reading and "
643 "writing the FIFO. The FIFO can be accessed by unrelated "
644 "processes, in contrast to the more well-known command line "
645 "redirection mechanism (e.g. UNIX's 'ps -eaf | grep foo', also "
646 "known as an \"unnamed pipe\"). An exemplary operating system "
647 "implementation (using the FIFO concept) is the UNIX S_IFIFO "
648 "file type.")]
649 class CIM_FIFOPipeFile : CIM_LogicalFile {
650 };
651
652 tony 1.1
653 // ===================================================================
654 // SymbolicLink
655 // ===================================================================
656 [Version ( "2.6.0" ), Description (
657 "This class is a special type of LogicalFile that represents a "
658 "Symbolic Link. This convention is useful for some operating "
659 "systems that want to represent a single file in multiple "
660 "places or a single file that is represented via multiple "
661 "names.")]
662 class CIM_SymbolicLink : CIM_LogicalFile {
663
664 [Required, Description (
665 "The target file of the symbolic link.")]
666 string TargetFile;
667 };
668
669
670 // ===================================================================
671 // DeviceAccessedByFile
672 // ===================================================================
673 tony 1.1 [Association, Version ( "2.6.0" ), Description (
674 "Specifies the LogicalDevice that is associated with, and "
675 "accessed using the referenced DeviceFile.")]
676 class CIM_DeviceAccessedByFile : CIM_Dependency {
677
678 [Override ( "Antecedent" ), Description (
679 "The DeviceFile.")]
680 CIM_DeviceFile REF Antecedent;
681
682 [Override ( "Dependent" ), Max ( 1 ), Description (
683 "The Device that is accessed using the DeviceFile.")]
684 CIM_LogicalDevice REF Dependent;
685 };
686
687
688 // ===================================================================
689 // DirectoryContainsFile
690 // ===================================================================
691 [Association, Aggregation, Composition, Version ( "2.7.0" ),
692 Description (
693 "Specifies the hierarchical arrangement of LogicalFiles in a "
694 tony 1.1 "Directory.")]
695 class CIM_DirectoryContainsFile : CIM_Component {
696
697 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ),
698 Description (
699 "The Directory.")]
700 CIM_Directory REF GroupComponent;
701
702 [Override ( "PartComponent" ), Description (
703 "The LogicalFile 'contained within' the Directory.")]
704 CIM_LogicalFile REF PartComponent;
705 };
706
707
708 // ===================================================================
709 // Mount
710 // ===================================================================
711 [Association, Version ( "2.6.0" ), Description (
712 "An association between a FileSystem and a Directory which "
713 "indicates that the Directory is being attached to the "
714 "FileSystem. The semantics of this relationship require that "
715 tony 1.1 "the mounted Directory be contained by a FileSystem (via the "
716 "FileStorage association) that is different from the FileSystem "
717 "referenced as the Dependent. The Directory's containing "
718 "FileSystem could be either local or remote. For example, a "
719 "LocalFileSystem on a Solaris ComputerSystem can mount a "
720 "Directory from the FileSystem accessed via the machine's CDROM "
721 "drive, i.e., another LocalFile System. On the other hand, in a "
722 "'remote' case, the Directory is first exported by its "
723 "FileSystem, which is hosted on another ComputerSystem acting "
724 "(for example) as a file server. In order to distinguish these "
725 "two types of Mount, it is recommended that a CIM_Export "
726 "association always be defined for the remotely "
727 "accessed/mounted Directories.")]
728 class CIM_Mount : CIM_Dependency {
729
730 [Override ( "Antecedent" ), Max ( 1 ), Description (
731 "The Directory mounted.")]
732 CIM_Directory REF Antecedent;
733
734 [Override ( "Dependent" ), Description (
735 "The FileSystem the Directory is mounted on.")]
736 tony 1.1 CIM_FileSystem REF Dependent;
737 };
738
739
740 // ===================================================================
741 // Export
742 // ===================================================================
743 [Association, Version ( "2.6.0" ), Description (
744 "An association between a LocalFileSystem and its Directories "
745 "indicating that the specified Directories are available for "
746 "mount. When exporting an entire FileSystem, the Directory "
747 "should reference the topmost directory of the FileSystem.")]
748 class CIM_Export {
749
750 [Key, Max ( 1 ), Description (
751 "The LocalFileSystem.")]
752 CIM_LocalFileSystem REF LocalFS;
753
754 [Key, Description (
755 "The Directory exported for mount.")]
756 CIM_Directory REF Directory;
757 tony 1.1
758 [Description (
759 "Name under which the Directory is exported.")]
760 string ExportedDirectoryName;
761 };
762
763
764 // ===================================================================
765 // HostedFileSystem
766 // ===================================================================
767 [Association, Aggregation, Composition, Version ( "2.7.0" ),
768 Description (
769 "A link between the System (such as a Computer or Application "
770 "System) and the FileSystem that is a part of it.")]
771 class CIM_HostedFileSystem : CIM_SystemComponent {
772
773 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
774 Description (
775 "The System that hosts the FileSystem.")]
776 CIM_System REF GroupComponent;
777
778 tony 1.1 [Override ( "PartComponent" ), Weak, Description (
779 "The FileSystem that is part of the System and hosted on it.")]
780 CIM_FileSystem REF PartComponent;
781 };
782
783
784 // ===================================================================
785 // FileStorage
786 // ===================================================================
787 [Association, Aggregation, Composition, Version ( "2.7.0" ),
788 Description (
789 "A link between the FileSystem and the LogicalFile(s) addressed "
790 "through this FileSystem.")]
791 class CIM_FileStorage : CIM_Component {
792
793 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
794 Description (
795 "The FileSystem.")]
796 CIM_FileSystem REF GroupComponent;
797
798 [Override ( "PartComponent" ), Weak, Description (
799 tony 1.1 "The LogicalFile stored in the context of the FileSystem.")]
800 CIM_LogicalFile REF PartComponent;
801 };
802
803 // ===================================================================
804 // ResidesOnExtent
805 // ===================================================================
806 [Association, Version ( "2.8.0" ), Description (
807 "An association between a LogicalElement and the StorageExtent "
808 "where it is located. Typically, a FileSystem ResidesOn a "
809 "LogicalDisk. However, it is possible for a logical file or "
810 "other internal data store to reside directly on a "
811 "StorageExtent or appropriate subclass.")]
812 class CIM_ResidesOnExtent : CIM_Dependency {
813
814 [Override ( "Antecedent" ), Description (
815 "The StorageExtent.")]
816 CIM_StorageExtent REF Antecedent;
817
818 [Override ( "Dependent" ), Description (
819 "The LogicalElement that is located on the StorageExtent.")]
820 tony 1.1 CIM_LogicalElement REF Dependent;
821 };
822
823
824 // ===================================================================
825 // end of file
826 // ===================================================================
|