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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2