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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2