(file) Return to Application27_CheckAction.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM27

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2