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