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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2