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