// Copyright (c) 2009 DMTF.  All Rights Reserved.
   [Version ( "2.23.0" ), 
    UMLPackagePath ( "CIM::Application::CheckAction" ), 
    Description ( 
       "SoftwareElementVersionCheck specifies the release of a "
       "SoftwareElement that must exist in the environment. This Check "
       "can be for a specific, minimum, maximum or a range of "
       "versions. To specify a specific version, the lower and upper "
       "versions must be the same. To specify a minimum, only the "
       "lower version needs to be defined. To specify a maximum "
       "version, only the upper version needs to be defined. To "
       "specify a range, both upper and lower versions need to be "
       "defined. The details of this Check are compared with the "
       "corresponding details found in a CIM_SoftwareElement object, "
       "associated to the CIM_ComputerSystem instance that describes "
       "the environment (related by the association, "
       "CIM_InstalledSoftwareElement). There should be at least one "
       "CIM_SoftwareElement that satisfies the details of the Check. "
       "In other words, all the SoftwareElements on the relevant "
       "computer system do not need to satisfy the Check." )]
class CIM_SoftwareElementVersionCheck : CIM_Check {

      [Description ( 
          "The name of the SoftwareElement being checked." ), 
       MaxLen ( 256 ), 
       ModelCorrespondence { "CIM_SoftwareElement.Name" }]
   string SoftwareElementName;

      [Description ( 
          "The minimum version of the SoftwareElement being checked." ), 
       MaxLen ( 64 ), 
       ModelCorrespondence { "CIM_SoftwareElement.Version" }]
   string LowerSoftwareElementVersion;

      [Description ( 
          "The maximum version of the SoftwareElement being checked." ), 
       MaxLen ( 64 ), 
       ModelCorrespondence { "CIM_SoftwareElement.Version" }]
   string UpperSoftwareElementVersion;

      [Description ( 
          "The state of the SoftwareElement being checked." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "Deployable", "Installable", "Executable", "Running" }, 
       ModelCorrespondence { 
          "CIM_SoftwareElement.SoftwareElementState" }]
   uint16 SoftwareElementStateDesired;

      [Description ( 
          "The target operating system of the SoftwareElement being checked."
           ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21", "22", "23", "24", "25", "26", "27", 
          "28", "29", "30", "31", "32", "33", "34", "35", "36", 
          "37", "38", "39", "40", "41", "42", "43", "44", "45", 
          "46", "47", "48", "49", "50", "51", "52", "53", "54", 
          "55", "56", "57", "58", "59", "60", "61", "62", "63", 
          "64", "65", "66", "67", "68", "69", "70", "71", "72", 
          "73", "74", "75", "76", "77", "78", "79", "80", "81", 
          "82", "83", "84", "85", "86", "87", "88", "89", "90", 
          "91", "92", "93", "94", "95", "96", "97", "98", "99", 
          "100", "101", "102", "103", "104", "105", "106", "107", 
          "108", "109", "110", "111", "113", "114", "115", "116" }, 
       Values { "Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", 
          "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX", 
          //10 
          "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", 
          "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE", 
          //20 
          "NCR3000", "NetWare", "OSF", "DC/OS", 
          "Reliant UNIX", "SCO UnixWare", "SCO OpenServer", 
          "Sequent", "IRIX", "Solaris", //30 
          "SunOS", 
          "U6000", "ASERIES", "HP NonStop OS", "HP NonStop OSS", 
          "BS2000", "LINUX", "Lynx", "XENIX", "VM", 
          //40 
          "Interactive UNIX", "BSDUNIX", "FreeBSD", 
          "NetBSD", "GNU Hurd", "OS9", "MACH Kernel", "Inferno", 
          "QNX", "EPOC", //50 
          "IxWorks", "VxWorks", 
          "MiNT", "BeOS", "HP MPE", "NextStep", "PalmPilot", 
          "Rhapsody", "Windows 2000", "Dedicated", 
          //60 
          "OS/390", "VSE", "TPF", "Windows (R) Me", 
          "Caldera Open UNIX", "OpenBSD", "Not Applicable", 
          "Windows XP", "z/OS", "Microsoft Windows Server 2003", 
          //70
          "Microsoft Windows Server 2003 64-Bit", 
          "Windows XP 64-Bit", "Windows XP Embedded", 
          "Windows Vista", "Windows Vista 64-Bit", 
          "Windows Embedded for Point of Service", 
          "Microsoft Windows Server 2008", 
          "Microsoft Windows Server 2008 64-Bit", "FreeBSD 64-Bit", 
          "RedHat Enterprise Linux", 
          //80
          "RedHat Enterprise Linux 64-Bit", 
          "Solaris 64-Bit", "SUSE", "SUSE 64-Bit", "SLES", 
          "SLES 64-Bit", "Novell OES", "Novell Linux Desktop", 
          "Sun Java Desktop System", "Mandriva", 
          //90
          "Mandriva 64-Bit", "TurboLinux", 
          "TurboLinux 64-Bit", "Ubuntu", "Ubuntu 64-Bit", "Debian", 
          "Debian 64-Bit", "Linux 2.4.x", "Linux 2.4.x 64-Bit", 
          "Linux 2.6.x", //100
          "Linux 2.6.x 64-Bit", 
          "Linux 64-Bit", "Other 64-Bit", 
          "Microsoft Windows Server 2008 R2", "VMware ESXi", 
          "Microsoft Windows 7", "CentOS 32-bit", "CentOS 64-bit", 
          "Oracle Linux 32-bit", "Oracle Linux 64-bit", 
          //110 
          "eComStation 32-bitx", 
          "Microsoft Windows Server 2011", 
          "Microsoft Windows Server 2012", "Microsoft Windows 8", 
          "Microsoft Windows 8 64-bit", 
          "Microsoft Windows Server 2012 R2" }, 
       ModelCorrespondence { 
          "CIM_SoftwareElement.TargetOperatingSystem" }]
   uint16 TargetOperatingSystemDesired;


};
