// Copyright (c) 2011 DMTF.  All rights reserved.
   [Version ( "2.28.0" ), 
    UMLPackagePath ( "CIM::Core::Software" ), 
    Description ( 
       "A subclass of capabilities that defines the capabilities of a "
       "SoftwareInstallationService. A single instance of "
       "SoftwareInstallationServiceCapabilities is associated with a "
       "SoftwareInstallationService using ElementCapabilities." )]
class CIM_SoftwareInstallationServiceCapabilities : CIM_Capabilities {

      [Required, Description ( 
          "Enumeration indicating what operations will be executed "
          "as asynchronous jobs. If an operation is included in "
          "both this and SupportedSynchronousActions then the "
          "underlying implementation is indicating that it may or "
          "may not create a job. If a Job is created, then the "
          "methods in SoftwareInstallationService return a "
          "reference to that Job as the Job parameter." ), 
       ValueMap { "2", "3", "4", "5" }, 
       Values { "None supported", "Install From Software Identity", 
          "Install from ByteStream", "Install from URI" }, 
       ModelCorrespondence { 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedSynchronousActions" }]
   uint16 SupportedAsynchronousActions[];

      [Required, Description ( 
          "Enumeration indicating what operations will be executed "
          "without the creation of a job. If an operation is "
          "included in both this and SupportedAsynchronousActions "
          "then the underlying instrumentation is indicating that "
          "it may or may not create a job." ), 
       ValueMap { "2", "3", "4", "5" }, 
       Values { "None supported", "Install From Software Identity", 
          "Install from ByteStream", "Install from URI" }, 
       ModelCorrespondence { 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedAsynchronousActions" }]
   uint16 SupportedSynchronousActions[];

      [Required, Description ( 
          "An array containing a list of "
          "SoftwareIdentity.TargetType properties that this service "
          "\'knows\' how to install. TargetType is an application "
          "specific string which is invariant across version or "
          "name changes of the SoftwareIdentity and so can be used "
          "by a client to select Software Identities compatible "
          "with this service. \n"
          "If the service is generic (for example an OS installer), "
          "this array will be empty." ), 
       ModelCorrespondence { "CIM_SoftwareIdentity.TargetTypes" }]
   string SupportedTargetTypes[];

      [Required, Description ( 
          "An array containing a list of the binary format types "
          "that this service \'knows\' how to install. The Values "
          "for this property are the subset of "
          "CIM_SoftwareIdentityResource.ExtendedResourceTypes that "
          "apply to the \'Installer and Payload\', \'Installer\' "
          "and \' Installability Checker\' ResourceTypes. For "
          "example, an a Windows system, this property may be set "
          "to \'4\' indicating \'Windows MSI\'. This property "
          "should be set to \'2\' (Not Applicable) if this service "
          "is not OS specific." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "..", "0x8000.." }, 
       Values { "Unknown", "Other", "Not Applicable", "Linux RPM", 
          "HP-UX Depot", "Windows MSI", "Solaris Package", 
          "Macintosh Disk Image", "Debian linux Package", 
          "VMware vSphere Installation Bundle", 
          "VMware Software Bulletin", "HP Smart Component", 
          "DMTF Reserved", "Vendor Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareInstallationServiceCapabilities.OtherSupportedExtendedResourceTypeDescriptions", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMajorVersions", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMinorVersions", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesRevisionNumbers", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesbuildNumbers" }]
   uint16 SupportedExtendedResourceTypes[];

      [Required, Description ( 
          "This property indicates whether "
          "SoftwareInstallationService.InstallFromSoftwareIdentity "
          "supports adding a SoftwareIdentity to a Collection." )]
   boolean CanAddToCollection;

      [Description ( 
          "An enumeration indicating the specific install related "
          "optionssupported by this service. Since this is an "
          "array, multiple values may be specified. See the "
          "InstallOptions parameter of "
          "theSoftwareInstallationService.InstallFromSoftwareIdentity "
          "method for the description of these values." ), 
       ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", 
          "11", "12", "13", "..", "32768..65535" }, 
       Values { "Defer target/system reset", "Force installation", 
          "Install", "Update", "Repair", "Reboot", "Password", 
          "Uninstall", "Log", "SilentMode", "AdministrativeMode", 
          "ScheduleInstallAt", "DMTF Reserved", "Vendor Specific" }, 
       ModelCorrespondence { 
          "CIM_SoftwareInstallationService.InstallFromSoftwareIdentity" }]
   uint16 SupportedInstallOptions[];

      [Description ( 
          "A string describing the binary format types that this "
          "service \'knows\' how to install when the corresponding "
          "SupportedExtendedResourceTypes array includes the value "
          "1 (Other)." ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMajorVersions", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesMinorVersions", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesRevisionNumbers", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypesbuildNumbers" }]
   string OtherSupportedExtendedResourceTypeDescriptions[];

      [Description ( 
          "This property represents the major number component of "
          "the installer version supported by the "
          "SoftwareInstallationService.The installer format is "
          "represented by the element at the same index in the "
          "SupportedExtendedResourceTypes array." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareIdentity.MinExtendedResourceTypeMajorVersion", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
   uint16 SupportedExtendedResourceTypesMajorVersions[];

      [Description ( 
          "This property represents the minor number component of "
          "the installer version supported by the "
          "SoftwareInstallationService.The installer format is "
          "represented by the element at the same index in the "
          "SupportedExtendedResourceTypes array." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareIdentity.MinExtendedResourceTypeMinorVersion", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
   uint16 SupportedExtendedResourceTypesMinorVersions[];

      [Description ( 
          "This property represents the revision number component "
          "of the installer version supported by the "
          "SoftwareInstallationService.The installer format is "
          "represented by the element at the same index in the "
          "SupportedExtendedResourceTypes array." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareIdentity.MinExtendedResourceTypeRevisionNumber", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
   uint16 SupportedExtendedResourceTypesRevisionNumbers[];

      [Description ( 
          "This property represents the build number component of "
          "the installer version supported by the "
          "SoftwareInstallationService.The installer format is "
          "represented by the element at the same index in the "
          "SupportedExtendedResourceTypes array." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SoftwareIdentity.ExtendedResourceType", 
          "CIM_SoftwareIdentity.MinExtendedResourceTypeBuildNumber", 
          "CIM_SoftwareInstallationServiceCapabilities.SupportedExtendedResourceTypes" }]
   uint16 SupportedExtendedResourceTypesBuildNumbers[];

      [Description ( 
          "This property lists the URI schemes supported by the "
          "SoftwareInstallationService." ), 
       ValueMap { "2", "3", "4", "5", "6", "7", "8", "..", 
          "0x8000..0xFFFF" }, 
       Values { "data", "file", "ftp", "http", "https", "nfs", 
          "tftp", "DMTF Reserved", "Vendor Specific" }]
   uint16 SupportedURISchemes[];


};
