1 karl 1.1 // ===================================================================
2 // Title: Application MOF Specification 2.7.1, Checks and Actions
3 // Filename: Application27_CheckAction.mof
4 // Version: 2.7.1
5 // Status: Preliminary
6 // Date: 10/21/2002
7 // CVS: $Revision: 1.4 $
8 // ===================================================================
9 // Copyright 1998-2002 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 // ===================================================================
45 // Description: These object classes define the DMTF Application Model
46 // and include classes to represent Checks and Actions to
47 // deploy software elements.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // 11/29/00 - Version 2.5
54 // - CR527 Add to CIM_ArchitectureCheck.ArchitectureType
55 // 24 = AMD(R) Duron(TM) Processor
56 // - CR530 Correct enumerations in CIM_ArchitectureCheck.
57 // ArchitectureType number 19 & 24
58 // - CR531 Add to CIM_ArchitectureCheck.ArchitectureType
59 // 120 = "Crusoe(TM) TM5000 Family"
60 // 121 = "Crusoe(TM) TM3000 Family"
61 // - CR533b Add Windows(R) Me to *.TargetOperatingSystem*
62 // - CR542 Add "Not Applicable" to the *TargetOperatingSystem
63 // property
64 karl 1.1 // - CR558 subclass Action and Check from ManagedElement
65 //
66 // 03/09/2002 CIM 2.6 Final release
67 // - CR658 Add Key Qualifier to association references
68 // in Appl and SysDev MOFs. This changed
69 // CIM_SoftwareElementChecks,
70 // CIM_DirectorySpecificationFile,
71 // CIM_ActionSequence,
72 // CIM_SoftwareElementActions,
73 // CIM_ToDirectorySpecification,
74 // CIM_FromDirectorySpecification,
75 // CIM_ToDirectoryAction,
76 // CIM_FromDirectoryAction
77 // - CR746 Add Version qualifier (Version 2.6.0) to
78 // all classes and associations.
79 // - CR823 Cleanup all Descriptions and other textual issues
80 // - CR824 Add InvokeOnSystem methods to Check and Action
81 // - CR828 Fix inconsistencies between Device, Appl and
82 // System Models wrt processor and OS type enums
83 // - CR829 Fix MaxLen on FileSpecification.MD5Checksum
84 //
85 karl 1.1 // 06/06/2002 CIM 2.7 Preliminary Release
86 // - CR 618 - Add Pentium 4 Processor
87 // - CR 686 - Add Xeon Processor
88 // - CR 770 - Add WinXP to OSTypes
89 // - CR 772 - Add new AMD Processor types
90 // - CR 839 - Add other Processor Types
91 // - Define Application MOF structure
92 //
93 // 09/22/2002 CIM 2.7 Public Preliminary Release
94 // - CR 876 - Rename the "Digital Unix" operating system
95 // type to "Tru64 UNIX".
96 // - CR 893 - Add Intel(R) Pentium(R) 4 processor with
97 // HT Technology
98 //
99 // 10/21/2002 CIM 2.7.1
100 // - CR 914 - Remove Pentium 4 with HT from the
101 // CIM_ArchitectureCheck.ArchitectureType enum
102 // (It was added by CR893)
103 // ===================================================================
104
105 #pragma locale ("en_US")
106 karl 1.1
107
108 // ==================================================================
109 // Check
110 // ==================================================================
111 [Abstract, Version("2.7.0"), Description (
112 " A CIM_Check is a condition or characteristic that is expected "
113 "to be true in an environment defined or scoped by an instance "
114 "of a CIM_ComputerSystem. The Checks associated with a "
115 "particular SoftwareElement are organized into one of two groups "
116 "using the Phase property of the CIM_SoftwareElementChecks "
117 "association. Conditions that are expected to be true when a "
118 "SoftwareElement is in a particular state and environment are "
119 "known as 'in-state' conditions. Conditions that need to "
120 "be satisfied in order to transition the SoftwareElement to "
121 "its next state are known as 'next-state' conditions. \n"
122 " A CIM_ComputerSystem object represents the environment in "
123 "which CIM_SoftwareElements are already deployed/installed or "
124 "into which the elements will be deployed/installed. For the "
125 "case in which an element is already installed, the "
126 "CIM_InstalledSoftwareElement association identifies the "
127 karl 1.1 "CIM_ComputerSystem object that represents the \"environment\". "
128 "When a SoftwareElement is being deployed for installation on a "
129 "ComputerSystem, that system is the target of the Check and is "
130 "identified using the TargetSystem reference of the "
131 "InvokeOnSystem method.") ]
132 class CIM_Check : CIM_ManagedElement {
133
134 [Propagated ("CIM_SoftwareElement.Name"), Key,
135 MaxLen (256), Description (
136 "The name used to identify the SoftwareElement that is being "
137 "checked.") ]
138 string Name;
139
140 [Propagated ("CIM_SoftwareElement.Version"), Key, MaxLen (64),
141 Description (
142 "The version of the SoftwareElement being checked.") ]
143 string Version;
144
145 [Propagated ("CIM_SoftwareElement.SoftwareElementState"), Key,
146 Description (
147 "The SoftwareElementState of the SoftwareElement being checked."),
148 karl 1.1 ValueMap {"0", "1", "2", "3"},
149 Values {"Deployable", "Installable", "Executable", "Running"} ]
150 uint16 SoftwareElementState;
151
152 [Propagated ("CIM_SoftwareElement.SoftwareElementID"), Key,
153 MaxLen (256), Description (
154 "This is an identifier for the SoftwareElement being checked.") ]
155 string SoftwareElementID;
156
157 [Propagated ("CIM_SoftwareElement.TargetOperatingSystem"), Key,
158 Description (
159 "The Target Operating System of the SoftwareElement being "
160 "checked."),
161 ValueMap {"0", "1", "2", "3", "4",
162 "5", "6", "7", "8", "9",
163 "10", "11", "12", "13", "14",
164 "15", "16", "17", "18", "19",
165 "20", "21", "22", "23", "24",
166 "25", "26", "27", "28", "29",
167 "30", "31", "32", "33", "34",
168 "35", "36", "37", "38", "39",
169 karl 1.1 "40", "41", "42", "43", "44",
170 "45", "46", "47", "48", "49",
171 "50", "51", "52", "53", "54",
172 "55", "56", "57", "58", "59",
173 "60", "61", "62", "63", "64",
174 "65", "66", "67"},
175 Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
176 "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX",
177 //10
178 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS",
179 "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE",
180 //20
181 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
182 "SCO UnixWare", "SCO OpenServer", "Sequent",
183 "IRIX", "Solaris",
184 //30
185 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT",
186 "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA",
187 //40
188 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD",
189 "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX",
190 karl 1.1 "EPOC",
191 //50
192 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE",
193 "NextStep", "PalmPilot", "Rhapsody", "Windows 2000",
194 "Dedicated",
195 //60
196 "OS/390", "VSE", "TPF","Windows (R) Me",
197 "Caldera Open UNIX", "OpenBSD", "Not Applicable",
198 "Windows XP"} ]
199 uint16 TargetOperatingSystem;
200
201 [Key, MaxLen (256), Description (
202 "An identifier used in conjunction with other keys to uniquely "
203 "identify the Check.") ]
204 string CheckID;
205
206 [Description (
207 "The CheckMode property is used to indicate whether the "
208 "condition is expected to exist or not exist in the environment. "
209 "When the value is True, the condition is expected to exist "
210 "(e.g., a file is expected to be on a system), so the Invoke "
211 karl 1.1 "methods are expected to return True. When the "
212 "value is False, the condition is not expected to exist "
213 "(e.g., a file is not to be on a system), so the Invoke methods "
214 "are expected to return False.") ]
215 boolean CheckMode;
216
217 [Description (
218 " The Invoke method evaluates this Check. The details "
219 "of the evaluation are described by the specific subclasses "
220 "of CIM_Check. When the SoftwareElement being checked is "
221 "already installed, the CIM_InstalledSoftwareElement "
222 "association identifies the CIM_ComputerSystem in whose "
223 "context the Invoke is executed. If this association is "
224 "not in place, then the InvokeOnSystem method should be used "
225 "- since it identifies the TargetSystem as an input "
226 "parameter of the method. \n"
227 " The results of the Invoke method are based on the return "
228 "value. A zero is returned if the condition is satisfied. "
229 "A one is returned if the method is not supported. Any other "
230 "value indicates the condition is not satisfied.") ]
231 uint32 Invoke();
232 karl 1.1
233 [Description (
234 " The InvokeOnSystem method evaluates this Check. The details "
235 "of the evaluation are described by the specific subclasses "
236 "of CIM_Check. The method's TargetSystem input parameter "
237 "specifies the ComputerSystem in whose context the method "
238 "is invoked. \n"
239 " The results of the InvokeOnSystem method are based on the "
240 "return value. A zero is returned if the condition is satisfied. "
241 "A one is returned if the method is not supported. Any other "
242 "value indicates the condition is not satisfied.") ]
243 uint32 InvokeOnSystem([IN] CIM_ComputerSystem ref TargetSystem);
244 };
245
246
247 // ==================================================================
248 // DirectorySpecification
249 // ==================================================================
250 [Version("2.6.0"), Description (
251 "The CIM_DirectorySpecification class captures the major "
252 "directory structure of a SoftwareElement. This class is used "
253 karl 1.1 "to organize the files of a SoftwareElement into manageable "
254 "units that can be relocated on a computer system.") ]
255 class CIM_DirectorySpecification : CIM_Check {
256
257 [Description (
258 "The DirectoryType property characterizes the type of "
259 "directory being described. "),
260 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8",
261 "9", "10", "11", "12", "13", "14", "15", "16", "17"},
262 Values {"Product base directory",
263 "Product executable directory",
264 "Product library directory",
265 "Product configuration directory",
266 "Product include directory",
267 "Product working directory", "Product log directory",
268 "Shared base directory", "Shared executable directory",
269 "Shared library directory", "Shared include directory",
270 "System base directory", "System executable directory",
271 "System library directory",
272 "System configuration directory",
273 "System include directory", "System log directory",
274 karl 1.1 "Other"},
275 MappingStrings {"MIF.DMTF|Location|001.2"} ]
276 uint16 DirectoryType;
277
278 [MaxLen (1024), Description (
279 "The DirectoryPath property is used to capture the name of "
280 "a directory. The value supplied by an application provider "
281 "is actually a default or recommended path name. The value "
282 "can be changed for a particular environment.") ]
283 string DirectoryPath;
284 };
285
286
287 // ==================================================================
288 // ArchitectureCheck
289 // ==================================================================
290 [Version("2.7.1"), Description (
291 "ArchitectureCheck specifies the hardware platform on which "
292 "a SoftwareElement can run. The details of this Check are "
293 "compared with the information found in the CIM_Processor "
294 "object, related to the CIM_ComputerSystem instance that "
295 karl 1.1 "describes the environment (related by the association, "
296 "CIM_ComputerSystemProcessor). There should be at least "
297 "one CIM_Processor that satisfies the details of the Check. "
298 "In other words, all the processors on the relevant "
299 "computer system do not need to satisfy the Check.") ]
300 class CIM_ArchitectureCheck : CIM_Check {
301
302 [Description (
303 "The ArchitectureType property identifies a particular type "
304 "of architecture or architectural family that is required to "
305 "properly execute a particular SoftwareElement. The intent "
306 "is to capture the details about the machine instructions "
307 "exploited by the executables of the SoftwareElement."),
308 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
309 "11", "12", "13", "14", "15", "16", "17", "18", "19",
310 "24", "25", "26", "27", "28", "29", "30",
311 "31", "32", "33", "34", "35", "36", "37", "38", "39",
312 "48", "49", "50", "51", "52", "53", "54", "55",
313 "64", "65", "66", "67", "68", "69",
314 "80", "81", "82", "83", "84", "85", "86", "87", "88",
315 "96", "97", "98", "99", "100", "101",
316 karl 1.1 "112", "120", "121", "128", "130",
317 "144", "145", "146", "147", "148", "149", "150",
318 "160", "176", "177", "178", "179",
319 "180", "181", "182", "183", "184",
320 "190", "200", "201", "202",
321 "250", "251", "260", "261", "280", "281",
322 "300", "301", "302", "320", "350", "500"},
323 Values {"Other", "Unknown", "8086", "80286", "80386", "80486",
324 "8087", "80287", "80387", "80487",
325 // 11
326 "Pentium(R) brand", "Pentium(R) Pro", "Pentium(R) II",
327 "Pentium(R) processor with MMX(TM) technology",
328 "Celeron(TM)", "Pentium(R) II Xeon(TM)",
329 "Pentium(R) III", "M1 Family", "M2 Family",
330 //24
331 "K5 Family", "K6 Family", "K6-2", "K6-3",
332 "AMD Athlon(TM) Processor Family",
333 "AMD(R) Duron(TM) Processor", "AMD29000 Family",
334 //31
335 "K6-2+", "Power PC Family", "Power PC 601",
336 "Power PC 603", "Power PC 603+", "Power PC 604",
337 karl 1.1 "Power PC 620", "Power PC X704", "Power PC 750",
338 // 48
339 "Alpha Family", "Alpha 21064", "Alpha 21066",
340 "Alpha 21164", "Alpha 21164PC", "Alpha 21164a",
341 "Alpha 21264", "Alpha 21364",
342 // 64
343 "MIPS Family", "MIPS R4000", "MIPS R4200",
344 "MIPS R4400", "MIPS R4600", "MIPS R10000",
345 // 80
346 "SPARC Family", "SuperSPARC","microSPARC II",
347 "microSPARC IIep", "UltraSPARC", "UltraSPARC II",
348 "UltraSPARC IIi", "UltraSPARC III", "UltraSPARC IIIi",
349 // 96
350 "68040", "68xxx Family", "68000",
351 "68010", "68020", "68030",
352 // 112
353 "Hobbit Family",
354 "Crusoe(TM) TM5000 Family", "Crusoe(TM) TM3000 Family",
355 "Weitek", "Itanium(TM) Processor",
356 // 144
357 "PA-RISC Family", "PA-RISC 8500", "PA-RISC 8000",
358 karl 1.1 "PA-RISC 7300LC", "PA-RISC 7200", "PA-RISC 7100LC",
359 "PA-RISC 7100",
360 // 160
361 "V30 Family", "Pentium(R) III Xeon(TM)",
362 "Pentium(R) III Processor with Intel(R) SpeedStep(TM) "
363 "Technology",
364 "Pentium(R) 4", "Intel(R) Xeon(TM)",
365 // 180
366 "AS400 Family", "Intel(R) Xeon(TM) processor MP",
367 "AMD AthlonXP(TM) Family", "AMD AthlonMP(TM) Family",
368 "Intel(R) Itanium(R) 2",
369 // 190
370 "K7",
371 // 200
372 "IBM390 Family", "G4", "G5",
373 // 250
374 "i860", "i960", "SH-3", "SH-4", "ARM", "StrongARM",
375 // 300
376 "6x86", "MediaGX", "MII", "WinChip", "DSP",
377 "Video Processor"},
378 MappingStrings {"MIF.DMTF|Processor|004.3"},
379 karl 1.1 ModelCorrespondence {"CIM_Processor.Family"} ]
380 uint16 ArchitectureType;
381 };
382
383
384 // ==================================================================
385 // MemoryCheck
386 // ==================================================================
387 [Version("2.6.0"), Description (
388 "MemoryCheck specifies a condition for the minimum amount of "
389 "memory that needs to be available on a system. The amount is "
390 "specified in the MemorySize property. The details of this "
391 "Check are compared with the value of the CIM_OperatingSystem."
392 "FreePhysicalMemory property - where the CIM_OperatingSystem "
393 "object is related (using InstalledOS) to the CIM_Computer"
394 "System instance that describes the environment. When the "
395 "value of the FreePhysicalMemory property is greater than or "
396 "equal to the value specified in MemorySize, the Check is "
397 "satisfied.") ]
398 class CIM_MemoryCheck : CIM_Check {
399
400 karl 1.1 [Description (
401 "The amount of memory that needs to exist on a computer system "
402 "for a SoftwareElement to execute properly."),
403 Units ("KiloBytes"),
404 ModelCorrespondence {"CIM_OperatingSystem.FreePhysicalMemory"} ]
405 uint64 MemorySize;
406 };
407
408
409 // ==================================================================
410 // DiskSpaceCheck
411 // ==================================================================
412 [Version("2.6.0"), Description (
413 "DiskSpaceCheck describes the amount of disk space that needs "
414 "to be available on the computer system. The amount is "
415 "specified in the AvailableDiskSpace property. The details of "
416 "this Check are compared with the value of the CIM_FileSystem."
417 "AvailableSpace property - where the CIM_FileSystem object "
418 "is related (using HostedFileSystem) to the CIM_Computer"
419 "System instance that describes the environment. When the "
420 "value of the AvailableSpace property is greater than or "
421 karl 1.1 "equal to the value specified in AvailableDiskSpace, the "
422 "Check is satisfied.") ]
423 class CIM_DiskSpaceCheck : CIM_Check {
424
425 [Units ("KiloBytes"), Description (
426 "The AvailableDiskSpace property specifies the minimum amount "
427 "of disk space that needs to be available on the "
428 "target system."),
429 ModelCorrespondence {"CIM_FileSystem.AvailableSpace"} ]
430 uint64 AvailableDiskSpace;
431 };
432
433
434 // ==================================================================
435 // SwapSpaceCheck
436 // ==================================================================
437 [Version("2.6.0"), Description (
438 "SwapSpaceCheck specifies the amount of swap space that needs "
439 "to be available on the computer system. The amount is "
440 "specified in the SwapSpaceSize property. The details of this "
441 "Check are compared with the value of the CIM_OperatingSystem."
442 karl 1.1 "TotalSwapSpaceSize property - where the CIM_OperatingSystem "
443 "object is related (using RunningOS) to the CIM_Computer"
444 "System instance that describes the environment. When the "
445 "value of TotalSwapSpaceSize property is greater than or "
446 "equal to the value specified in SwapSpaceSize, the Check is "
447 "satisfied.") ]
448 class CIM_SwapSpaceCheck : CIM_Check {
449
450 [Units ("KiloBytes"), Description (
451 "The SwapSpaceSize property specifies the minimum number of "
452 "KiloBytes of swap space that needs to be available on the "
453 "target system."),
454 ModelCorrespondence {"CIM_OperatingSystem.TotalSwapSpaceSize"} ]
455 uint64 SwapSpaceSize;
456 };
457
458
459 // ==================================================================
460 // OSVersionCheck
461 // ==================================================================
462 [Version("2.6.0"), Description (
463 karl 1.1 " The OSVersionCheck class specifies the versions of the "
464 "operating system that can support/execute this Software"
465 "Element. The operating system itself (whose version should "
466 "be validated) is defined in the TargetOperatingSystem "
467 "property of the Check's scoping SoftwareElement. \n"
468 " This Check can be for a specific, minimum, maximum or a "
469 "range of releases of an OS. To identify a specific version of "
470 "the OS, the minimum and maximum versions must be the same. To "
471 "specify a minimum, only the minimum version needs to be "
472 "defined. To specify a maximum version, only the maximum "
473 "version needs to be defined. To specify a range, both minimum "
474 "and maximum versions need to be defined. \n"
475 " The data gathered from the Check and SoftwareElement "
476 "objects are compared with the corresponding details found in "
477 "the CIM_OperatingSystem object (referenced by the InstalledOS "
478 "association), for the CIM_ComputerSystem object that defines "
479 "the environment. The OSType property of CIM_OperatingSystem "
480 "must match the value of CIM_SoftwareElement.TargetOperating"
481 "System. Also, the OS' version information should be within the "
482 "range of CIM_OSVersionCheck.Minimum/MaximumValue properties. "
483 "Note that all the operating systems on the relevant computer "
484 karl 1.1 "do not need to satisfy the Check.") ]
485 class CIM_OSVersionCheck : CIM_Check {
486
487 [MaxLen (64), Description (
488 "Minimum version of the required operating system. The value "
489 "is encoded as <major>.<minor>.<revision> or "
490 "<major>.<minor><letter revision>."),
491 ModelCorrespondence {"CIM_OperatingSystem.Version"} ]
492 string MinimumVersion;
493
494 [MaxLen (64), Description (
495 "Maximum version of the required operating system. The value "
496 "is encoded as <major>.<minor>.<revision> or "
497 "<major>.<minor><letter revision>."),
498 ModelCorrespondence {"CIM_OperatingSystem.Version"} ]
499 string MaximumVersion;
500 };
501
502
503 // ==================================================================
504 // SoftwareElementVersionCheck
505 karl 1.1 // ==================================================================
506 [Version("2.7.0"), Description (
507 "SoftwareElementVersionCheck specifies the release of a "
508 "SoftwareElement that must exist in the environment. This "
509 "Check can be for a specific, minimum, maximum or a range "
510 "of versions. To specify a specific version, the lower and "
511 "upper versions must be the same. To specify a minimum, only "
512 "the lower version needs to be defined. To specify a maximum "
513 "version, only the upper version needs to be defined. To "
514 "specify a range, both upper and lower versions need to be "
515 "defined. The details of this Check are compared with the "
516 "corresponding details found in a CIM_SoftwareElement object, "
517 "associated to the CIM_ComputerSystem instance that "
518 "describes the environment (related by the association, "
519 "CIM_InstalledSoftwareElement). There should be at "
520 "least one CIM_SoftwareElement that satisfies the details of "
521 "the Check. In other words, all the SoftwareElements on "
522 "the relevant computer system do not need to satisfy the "
523 "Check.") ]
524 class CIM_SoftwareElementVersionCheck : CIM_Check {
525
526 karl 1.1 [MaxLen (256), Description (
527 "The name of the SoftwareElement being checked."),
528 ModelCorrespondence {"CIM_SoftwareElement.Name"} ]
529 string SoftwareElementName;
530
531 [MaxLen (64), Description (
532 "The minimum version of the SoftwareElement being checked."),
533 ModelCorrespondence {"CIM_SoftwareElement.Version"} ]
534 string LowerSoftwareElementVersion;
535
536 [MaxLen (64), Description (
537 "The maximum version of the SoftwareElement being checked."),
538 ModelCorrespondence {"CIM_SoftwareElement.Version"} ]
539 string UpperSoftwareElementVersion;
540
541 [Description (
542 "The state of the SoftwareElement being checked."),
543 ValueMap {"0", "1", "2", "3"},
544 Values {"Deployable", "Installable", "Executable", "Running"},
545 ModelCorrespondence {"CIM_SoftwareElement.SoftwareElementState"} ]
546 uint16 SoftwareElementStateDesired;
547 karl 1.1
548 [Description (
549 "The target operating system of the SoftwareElement being "
550 "checked."),
551 ValueMap {"0", "1", "2", "3", "4",
552 "5", "6", "7", "8", "9",
553 "10", "11", "12", "13", "14",
554 "15", "16", "17", "18", "19",
555 "20", "21", "22", "23", "24",
556 "25", "26", "27", "28", "29",
557 "30", "31", "32", "33", "34",
558 "35", "36", "37", "38", "39",
559 "40", "41", "42", "43", "44",
560 "45", "46", "47", "48", "49",
561 "50", "51", "52", "53", "54",
562 "55", "56", "57", "58", "59",
563 "60", "61", "62", "63", "64",
564 "65", "66", "67"},
565 Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
566 "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX",
567 //10
568 karl 1.1 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS",
569 "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE",
570 //20
571 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
572 "SCO UnixWare", "SCO OpenServer", "Sequent",
573 "IRIX", "Solaris",
574 //30
575 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT",
576 "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA",
577 //40
578 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD",
579 "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX",
580 "EPOC",
581 //50
582 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE",
583 "NextStep", "PalmPilot", "Rhapsody", "Windows 2000",
584 "Dedicated",
585 //60
586 "OS/390", "VSE", "TPF","Windows (R) Me",
587 "Caldera Open UNIX", "OpenBSD", "Not Applicable",
588 "Windows XP"},
589 karl 1.1 ModelCorrespondence {
590 "CIM_SoftwareElement.TargetOperatingSystem"} ]
591 uint16 TargetOperatingSystemDesired;
592 };
593
594
595 // ==================================================================
596 // FileSpecification
597 // ==================================================================
598 [Version("2.6.0"), Description (
599 "FileSpecification identifies a file that is either to be on "
600 "or off the system. The file is to be located in the "
601 "directory identified in FileName, or by the CIM_Directory"
602 "SpecificationFile association. When the Invoke methods are "
603 "executed, it is expected that they will use a combination "
604 "of information to check for file existence. Therefore, any "
605 "of the properties with a NULL value are not checked. So, if "
606 "only the FileName and MD5Checksum properties have values, "
607 "they are the only ones considered by the Invoke methods.") ]
608 class CIM_FileSpecification : CIM_Check {
609
610 karl 1.1 [MaxLen (1024), Description (
611 "Either the name of the file or the name of the file with "
612 "a directory prefix.") ]
613 string FileName;
614
615 [Description ("The creation date and time of the file.") ]
616 datetime CreateTimeStamp;
617
618 [Units ("KiloBytes") ]
619 uint64 FileSize ;
620
621 [Description (
622 "A checksum calculated as the 16-bit sum of the first "
623 "32 bytes of the file."),
624 MappingStrings {"MIF.DMTF|Software Signature|002.4"} ]
625 uint32 CheckSum;
626
627 [Description (
628 "The CRC1 property is the CRC value calculated using "
629 "the middle 512K bytes of the file."),
630 MappingStrings {"MIF.DMTF|Software Signature|002.5"} ]
631 karl 1.1 uint32 CRC1;
632
633 [Description (
634 "The CRC2 property is the CRC value for the middle 512K "
635 "bytes of the file, modulo 3."),
636 MappingStrings {"MIF.DMTF|Software Signature|002.6"} ]
637 uint32 CRC2;
638
639 [MaxLen (32), Description (
640 "The MD5 algorithm is a well-known algorithm for computing "
641 "a 128-bit checksum for any file or object. For purposes "
642 "of MOF specification of the MD5Checksum property, "
643 "the MD5 algorithm always generates a 32 character string. "
644 "For example: The string abcdefghijklmnopqrstuvwxyz "
645 "generates the string c3fcd3d76192e4007dfb496cca67e13b. "
646 "See http://www.ietf.org - RFC1321 for details on the "
647 "implementation of the MD5 algorithm.") ]
648 string MD5Checksum;
649 };
650
651
652 karl 1.1 // ==================================================================
653 // VersionCompatibilityCheck
654 // ==================================================================
655 [Version("2.6.0"), Description (
656 "The VersionCompatibilityCheck class specifies whether it is "
657 "permissible to create the next state of a SoftwareElement.") ]
658 class CIM_VersionCompatibilityCheck : CIM_Check {
659
660 [Description (
661 "The AllowDownVersion property indicates that this Software"
662 "Element can transition to its next state even if a higher or "
663 "later version of the element already exists in the "
664 "environment.") ]
665 boolean AllowDownVersion;
666
667 [Description (
668 "The AllowMultipleVersions option controls the ability to "
669 "configure multiple versions of a SoftwareElement on a "
670 "system.") ]
671 boolean AllowMultipleVersions;
672
673 karl 1.1 [Description (
674 "The Reinstall property indicates that this SoftwareElement "
675 "can transition to its next state even if an element of the "
676 "same version already exists in the environment.") ]
677 boolean Reinstall;
678 };
679
680
681 // ==================================================================
682 // SettingCheck
683 // ==================================================================
684 [Version("2.6.0"), Description (
685 "This class specifies information needed to verify a "
686 "particular 'setting' file, for a specific entry in the file. "
687 "The file entry is checked whether it contains or matches the "
688 "value defined in EntryValue. All compares are assumed "
689 "to be case insensitive.") ]
690 class CIM_SettingCheck : CIM_Check {
691
692 [MaxLen (256), Description (
693 "Key or label for the section of the file containing the "
694 karl 1.1 "settings to be checked.") ]
695 string SectionKey;
696
697 [MaxLen (256), Description (
698 "Name of the setting entry to be checked.") ]
699 string EntryName;
700
701 [Description (
702 "Value to be compared for the named entry.") ]
703 string EntryValue;
704
705 [Description (
706 "CheckType specifies how the setting value should be compared."),
707 ValueMap {"0", "1"},
708 Values {"Matches", "Contains"} ]
709 uint16 CheckType;
710
711 [MaxLen (1024), Description (
712 "File name of the 'setting' file to be checked.") ]
713 string FileName;
714 };
715 karl 1.1
716
717 // ==================================================================
718 // SoftwareElementChecks
719 // ==================================================================
720 [Association, Aggregation, Version("2.6.0"), Description (
721 "This association ties a SoftwareElement to a specific Check "
722 "to validate its state or its movement to the next state. "
723 "Note that SoftwareElements in a running state cannot "
724 "transition to another state. Therefore, the value of the "
725 "Phase property is restricted to 0 (\"In-State\") for "
726 "SoftwareElements in the running state.") ]
727 class CIM_SoftwareElementChecks {
728
729 [Key, Min (1), Max (1), Aggregate,
730 Description ("The SoftwareElement being checked.") ]
731 CIM_SoftwareElement REF Element;
732
733 [Key, Weak, Description ("The Check for the element.") ]
734 CIM_Check REF Check;
735
736 karl 1.1 [Description (
737 "The Phase property indicates whether the referenced Check "
738 "is an in-state or a next-state Check."),
739 ValueMap {"0", "1"},
740 Values {"In-State", "Next-State"} ]
741 uint16 Phase;
742 };
743
744
745 // ==================================================================
746 // DirectorySpecificationFile
747 // ==================================================================
748 [Association, Version("2.6.0"), Description (
749 "The CIM_DirectorySpecificationFile association identifies the "
750 "directory that contains the file being checked in the CIM_"
751 "FileSpecification class.") ]
752 class CIM_DirectorySpecificationFile {
753
754 [Key, Max (1),
755 Description ("The directory to be checked.") ]
756 CIM_DirectorySpecification REF DirectorySpecification;
757 karl 1.1
758 [Key, Description ("The file to be checked.") ]
759 CIM_FileSpecification REF FileSpecification;
760 };
761
762
763 // ==================================================================
764 // Action
765 // ==================================================================
766 [Abstract, Version("2.7.0"), Description (
767 " A CIM_Action is an operation that is part of a process to "
768 "either create a SoftwareElement in its next state or to "
769 "eliminate the SoftwareElement in its current state. "
770 "A CIM_ComputerSystem object represents the environment in "
771 "which CIM_SoftwareElements are already deployed/installed or "
772 "into which the elements will be deployed/installed. For the "
773 "case in which an element is already installed, the "
774 "CIM_InstalledSoftwareElement association identifies the "
775 "CIM_ComputerSystem object that represents the \"environment\". "
776 "When a SoftwareElement is being deployed for installation on a "
777 "ComputerSystem, that system is the target of the Action and is "
778 karl 1.1 "identified using the TargetSystem reference of the "
779 "InvokeOnSystem method.") ]
780 class CIM_Action : CIM_ManagedElement {
781
782 [Propagated ("CIM_SoftwareElement.Name"), Key,
783 MaxLen (256), Description (
784 "The name used to identify the SoftwareElement that is being "
785 "acted upon.") ]
786 string Name;
787
788 [Propagated ("CIM_SoftwareElement.Version"), Key, MaxLen (64),
789 Description (
790 "The version of the SoftwareElement being acted upon.") ]
791 string Version;
792
793 [Propagated ("CIM_SoftwareElement.SoftwareElementState"), Key,
794 Description (
795 "The SoftwareElementState of the SoftwareElement being acted "
796 "upon."),
797 ValueMap {"0", "1", "2", "3"},
798 Values {"Deployable", "Installable", "Executable", "Running"} ]
799 karl 1.1 uint16 SoftwareElementState;
800
801 [Propagated ("CIM_SoftwareElement.SoftwareElementID"), Key,
802 MaxLen (256), Description (
803 "This is an identifier for the SoftwareElement being acted "
804 "upon.") ]
805 string SoftwareElementID;
806
807 [Propagated ("CIM_SoftwareElement.TargetOperatingSystem"), Key,
808 Description (
809 "The Target Operating System of the SoftwareElement being "
810 "acted upon."),
811 ValueMap {"0", "1", "2", "3", "4",
812 "5", "6", "7", "8", "9",
813 "10", "11", "12", "13", "14",
814 "15", "16", "17", "18", "19",
815 "20", "21", "22", "23", "24",
816 "25", "26", "27", "28", "29",
817 "30", "31", "32", "33", "34",
818 "35", "36", "37", "38", "39",
819 "40", "41", "42", "43", "44",
820 karl 1.1 "45", "46", "47", "48", "49",
821 "50", "51", "52", "53", "54",
822 "55", "56", "57", "58", "59",
823 "60", "61", "62", "63", "64",
824 "65", "66", "67"},
825 Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
826 "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX",
827 //10
828 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS",
829 "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE",
830 //20
831 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
832 "SCO UnixWare", "SCO OpenServer", "Sequent",
833 "IRIX", "Solaris",
834 //30
835 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT",
836 "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA",
837 //40
838 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD",
839 "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX",
840 "EPOC",
841 karl 1.1 //50
842 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE",
843 "NextStep", "PalmPilot", "Rhapsody", "Windows 2000",
844 "Dedicated",
845 //60
846 "OS/390", "VSE", "TPF","Windows (R) Me",
847 "Caldera Open UNIX", "OpenBSD", "Not Applicable",
848 "Windows XP"} ]
849 uint16 TargetOperatingSystem;
850
851 [Key, MaxLen (256), Description (
852 "The ActionID property is a unique identifier assigned to a "
853 "particular Action for a SoftwareElement.") ]
854 string ActionID;
855
856 [Description (
857 "The Direction property is used to indicate whether this "
858 "Action is part of a sequence to transition the SoftwareElement "
859 "to its next state (\"Install\") or to remove the element "
860 "(\"Uninstall\")."),
861 ValueMap {"0", "1"},
862 karl 1.1 Values {"Install", "Uninstall"} ]
863 uint16 Direction;
864
865 [Description (
866 " The Invoke method takes this Action. The details "
867 "of how the Action is implemented are described by specific "
868 "subclasses of CIM_Action. When the SoftwareElement being "
869 "transitioned or eliminated is already installed, the "
870 "CIM_InstalledSoftwareElement association identifies the "
871 "CIM_ComputerSystem in whose context the Invoke is executed. "
872 "If this association is not in place, then the InvokeOnSystem "
873 "method should be used - since it identifies the "
874 "TargetSystem as a parameter of the method. \n"
875 " The results of the Invoke method are based on the return "
876 "value. A zero is returned if the Action is satisfied. "
877 "A one is returned if the method is not supported. Any other "
878 "value indicates the Action is not satisfied.") ]
879 uint32 Invoke();
880
881 [Description (
882 " The InvokeOnSystem method takes this Action. The details "
883 karl 1.1 "of how the Action is implemented are described by specific "
884 "subclasses of CIM_Action. The method's TargetSystem input "
885 "parameter specifies the ComputerSystem in whose context the "
886 "method is invoked. \n"
887 " The results of the InvokeOnSystem method are based on the "
888 "return value. A zero is returned if the Action is satisfied. "
889 "A one is returned if the method is not supported. Any other "
890 "value indicates the Action is not satisfied.") ]
891 uint32 InvokeOnSystem([IN] CIM_ComputerSystem ref TargetSystem);
892 };
893
894
895 // ==================================================================
896 // DirectoryAction
897 // ==================================================================
898 [Abstract, Version("2.6.0"), Description (
899 "DirectoryAction is an abstract class used to manage "
900 "directories. The creation of directories is handled by "
901 "CreateDirectoryAction and removal is handled by "
902 "RemoveDirectoryAction.") ]
903 class CIM_DirectoryAction : CIM_Action {
904 karl 1.1
905 [MaxLen (1024), Description (
906 "The name of the directory being managed.") ]
907 string DirectoryName;
908 };
909
910
911 // ==================================================================
912 // CreateDirectoryAction
913 // ==================================================================
914 [Version("2.6.0"), Description (
915 "CreateDirectoryAction creates empty directories for "
916 "SoftwareElements to be installed locally.") ]
917 class CIM_CreateDirectoryAction : CIM_DirectoryAction {
918 };
919
920
921 // ==================================================================
922 // RemoveDirectoryAction
923 // ==================================================================
924 [Version("2.6.0"), Description (
925 karl 1.1 "RemoveDirectoryAction removes directories from the "
926 "computer system that defines the Action's environment.") ]
927 class CIM_RemoveDirectoryAction : CIM_DirectoryAction {
928
929 [Description (
930 "Boolean property indicating that the directory must be "
931 "empty in order to be removed. If this condition is not "
932 "satisfied, then the Invoke methods return an error.") ]
933 boolean MustBeEmpty;
934 };
935
936
937 // ==================================================================
938 // FileAction
939 // ==================================================================
940 [Abstract, Version("2.6.0"), Description (
941 "FileAction locates files that already exist on the CIM_"
942 "ComputerSystem that defines the Action's environment. These "
943 "files are removed or moved/copied to a new location.") ]
944 class CIM_FileAction : CIM_Action {
945 };
946 karl 1.1
947
948 // ==================================================================
949 // CopyFileAction
950 // ==================================================================
951 [Version("2.6.0"), Description (
952 "CopyFileAction specifies the files to be moved or copied to "
953 "a new location. The to/from information for the copy is "
954 "specified using either the ToDirectorySpecification/"
955 "FromDirectorySpecification or the ToDirectoryAction/"
956 "FromDirectoryAction associations. The first set is "
957 "used when the source and/or the target are to exist before "
958 "any Actions are taken. The second set is used when the "
959 "source and/or target are created as a part of a previous "
960 "Action (specified using the association, ActionSequence).") ]
961 class CIM_CopyFileAction : CIM_FileAction {
962
963 [MaxLen (1024), Description ("The source directory.") ]
964 string Source;
965
966 [MaxLen (1024), Description ("The destination directory.") ]
967 karl 1.1 string Destination;
968
969 [Description ("Boolean indicating that the file should be "
970 "deleted after being copied.") ]
971 boolean DeleteAfterCopy;
972 };
973
974
975 // ==================================================================
976 // RemoveFileAction
977 // ==================================================================
978 [Version("2.6.0"),
979 Description ("The RemoveFileAction uninstalls files.") ]
980 class CIM_RemoveFileAction : CIM_FileAction {
981
982 [MaxLen (1024), Description ("The file to be removed.") ]
983 string File;
984 };
985
986
987 // ==================================================================
988 karl 1.1 // RebootAction
989 // ==================================================================
990 [Version("2.6.0"), Description (
991 "RebootAction causes a reboot of the computer system that "
992 "defines the Action's environment.") ]
993 class CIM_RebootAction : CIM_Action {
994 };
995
996
997 // ==================================================================
998 // ExecuteProgram
999 // ==================================================================
1000 [Version("2.6.0"), Description (
1001 "ExecuteProgram causes programs to be executed on the "
1002 "computer system that defines the Action's environment.") ]
1003 class CIM_ExecuteProgram : CIM_Action {
1004
1005 [MaxLen (1024), Description (
1006 "The location or 'path' where the program is found.") ]
1007 string ProgramPath;
1008
1009 karl 1.1 [Description (
1010 "A string that can be executed and invokes program(s), from "
1011 "a system's command line.") ]
1012 string CommandLine;
1013 };
1014
1015
1016 // ==================================================================
1017 // ModifySettingAction
1018 // ==================================================================
1019 [Version("2.6.0"), Description (
1020 "This class specifies the information used to modify a "
1021 "'setting' file, for a specific entry in the file. The "
1022 "new 'setting' value is created as a new entry or appends to, "
1023 "replaces, removes from, or deletes the specified entry. "
1024 "All additions are assumed to be case sensitive. Removes "
1025 "are assumed to be case insensitive.") ]
1026 class CIM_ModifySettingAction : CIM_Action {
1027
1028 [MaxLen (256), Description (
1029 "This is the key or label of the section of the file "
1030 karl 1.1 "to be modified.") ]
1031 string SectionKey;
1032
1033 [MaxLen (256),
1034 Description ("Name of setting entry to be modified.") ]
1035 string EntryName;
1036
1037 [Description (
1038 "This is the value to add, append, or replace the "
1039 "specified setting.") ]
1040 string EntryValue;
1041
1042 [MaxLen (1024),
1043 Description ("File name of the 'setting' file.") ]
1044 string FileName;
1045
1046 [Description (
1047 "Type of Action to be performed on the specified setting "
1048 "entry. \n"
1049 "0=Create - Creates the specified entry. \n"
1050 "1=Delete - Deletes the specified entry. \n"
1051 karl 1.1 "2=Append - Appends to the end of the specified entry. \n"
1052 "3=Remove - Removes the value from the specified entry."),
1053 ValueMap {"0", "1", "2", "3"},
1054 Values {"Create", "Delete", "Append", "Remove"} ]
1055 uint16 ActionType;
1056 };
1057
1058
1059 // ==================================================================
1060 // ActionSequence
1061 // ==================================================================
1062 [Association, Version("2.6.0"), Description (
1063 " The CIM_ActionSequence association defines a series of "
1064 "operations that either transition a SoftwareElement, "
1065 "referenced by the CIM_SoftwareElementActions association, "
1066 "to the next state or removes the element from its "
1067 "current state. The Action classes participating in this "
1068 "association must have the same value for the Action.Direction "
1069 "property - since they are either part of a sequence to "
1070 "transition a SoftwareElement into its next state or to "
1071 "uninstall it. The next-state and uninstall Actions associated "
1072 karl 1.1 "with a particular SoftwareElement must be a continuous "
1073 "sequence. \n"
1074 " ActionSequence is an association that loops on the "
1075 "Action classes with roles for the 'prior' and "
1076 "'next' Actions in the sequence. The need for a continuous "
1077 "sequence imples: (1)Within the set of next-state or uninstall "
1078 "Actions, there is one and only one Action that does not have "
1079 "an instance of ActionSequence referencing it in the 'next' "
1080 "role. This is the first Action in the sequence. "
1081 "(2) Within the set of next-state or uninstall Actions, there "
1082 "is one and only one Action that does not have an instance of "
1083 "ActionSequence referencing it in the 'prior' role. This is "
1084 "the last Action in the sequence. (3) All other Actions within "
1085 "the set of next-state and uninstall Actions must participate "
1086 "in two instances of ActionSequence, one in a 'prior' role and "
1087 "the other in the 'next' role.") ]
1088 class CIM_ActionSequence {
1089
1090 [Key, Max (1),
1091 Description ("The next Action in the sequence.") ]
1092 CIM_Action REF Next;
1093 karl 1.1
1094 [Key, Max (1),
1095 Description ("The previous Action in the sequence.") ]
1096 CIM_Action REF Prior;
1097 };
1098
1099
1100 // ==================================================================
1101 // SoftwareElementActions
1102 // ==================================================================
1103 [Association, Aggregation, Version("2.6.0"), Description (
1104 "This association identifies the Actions for a Software"
1105 "Element.") ]
1106 class CIM_SoftwareElementActions {
1107
1108 [Key, Min (1), Max (1), Aggregate,
1109 Description ("The element that scopes the Action.") ]
1110 CIM_SoftwareElement REF Element;
1111
1112 [Key, Weak,
1113 Description ("The software Action to move or uninstall "
1114 karl 1.1 "a SoftwareElement.") ]
1115 CIM_Action REF Action;
1116 };
1117
1118
1119 // ==================================================================
1120 // ToDirectorySpecification
1121 // ==================================================================
1122 [Association, Version("2.6.0"), Description (
1123 "The ToDirectorySpecification association identifies the target "
1124 "directory for a FileAction. When this association is used, the "
1125 "assumption is that the target directory already exists. This "
1126 "association cannot co-exist with a ToDirectoryAction "
1127 "association, since a FileAction can only involve a single "
1128 "target directory.") ]
1129 class CIM_ToDirectorySpecification {
1130
1131 [Key, Max (1),
1132 Description ("The destination directory of the Action.") ]
1133 CIM_DirectorySpecification REF DestinationDirectory;
1134
1135 karl 1.1 [Key, Description ("The Action against the directory.") ]
1136 CIM_CopyFileAction REF FileName;
1137 };
1138
1139
1140 // ==================================================================
1141 // FromDirectorySpecification
1142 // ==================================================================
1143 [Association, Version("2.6.0"), Description (
1144 "The FromDirectorySpecification association identifies the "
1145 "source directory for a FileAction. When this association is "
1146 "used, the assumption is that the source directory already "
1147 "exists. This association cannot co-exist with a "
1148 "FromDirectoryAction association, since a FileAction "
1149 "can only involve a single source directory.") ]
1150 class CIM_FromDirectorySpecification {
1151
1152 [Key, Max (1),
1153 Description ("The source directory of the Action.") ]
1154 CIM_DirectorySpecification REF SourceDirectory;
1155
1156 karl 1.1 [Key, Description ("The Action against the directory.") ]
1157 CIM_FileAction REF FileName;
1158 };
1159
1160
1161 // ==================================================================
1162 // ToDirectoryAction
1163 // ==================================================================
1164 [Association, Version("2.6.0"), Description (
1165 "The ToDirectoryAction association identifies the target "
1166 "directory for a FileAction. When this association is used, "
1167 "the assumption is that the target directory was created by "
1168 "a previous Action. This association cannot co-exist with a "
1169 "ToDirectorySpecification association, since a FileAction "
1170 "can only involve a single target directory.") ]
1171 class CIM_ToDirectoryAction {
1172
1173 [Key, Max (1),
1174 Description ("The destination directory of the Action.") ]
1175 CIM_DirectoryAction REF DestinationDirectory;
1176
1177 karl 1.1 [Key, Description ("The Action against the directory.") ]
1178 CIM_CopyFileAction REF FileName;
1179 };
1180
1181
1182 // ==================================================================
1183 // FromDirectoryAction
1184 // ==================================================================
1185 [Association, Version("2.6.0"), Description (
1186 "The FromDirectoryAction association identifies the source "
1187 "directory for a FileAction. When this association is used, "
1188 "the assumption is that the source directory was created by "
1189 "a previous Action. This association cannot co-exist with a "
1190 "FromDirectorySpecification association, since a FileAction "
1191 "can only involve a single source directory.") ]
1192 class CIM_FromDirectoryAction {
1193
1194 [Key, Max (1),
1195 Description ("The source directory of the Action.") ]
1196 CIM_DirectoryAction REF SourceDirectory;
1197
1198 karl 1.1 [Key, Description ("The Action against the directory.") ]
1199 CIM_FileAction REF FileName;
1200 };
1201
1202
1203 // ==================================================================
1204 // end of file
1205 // ==================================================================
|