// Copyright (c) 2005 DMTF. All rights reserved.
// Update of
// descriptions based on Tech Edit review.
// Remove Experimental
// qualifier from TimeBeforeRemoval.
// Added enumeration Query
// Pending to property JobState."
// Add UmlPackagePath
// qualifier values to CIM Schema.
// ==================================================================
// CIM_ConcreteJob
// ==================================================================
[Version ( "2.13.0" ), UMLPackagePath ( "CIM::Core::CoreElements" ),
Description (
"A concrete version of Job. This class represents a generic and "
"instantiable unit of work, such as a batch or a print job.")]
class CIM_ConcreteJob : CIM_Job {
[Key, Description (
"Within the scope of the instantiating Namespace, InstanceID "
"opaquely and uniquely identifies an instance of this class. "
"In order to ensure uniqueness within the NameSpace, the "
"value of InstanceID SHOULD be constructed using the "
"following 'preferred' algorithm: \n"
": \n"
"Where and are separated by a colon ':', "
"and where must include a copyrighted, trademarked "
"or otherwise unique name that is owned by the business "
"entity that is creating or defining the InstanceID, or that "
"is a registered ID that is assigned to the business entity "
"by a recognized global authority. (This requirement is "
"similar to the _ structure of "
"Schema class names.) In addition, to ensure uniqueness "
" must not contain a colon (':'). When using this "
"algorithm, the first colon to appear in InstanceID must "
"appear between and . \n"
" is chosen by the business entity and should not "
"be re-used to identify different underlying (real-world) "
"elements. If the above 'preferred' algorithm is not used, "
"the defining entity must assure that the resulting "
"InstanceID is not re-used across any InstanceIDs produced "
"by this or other providers for the NameSpace of this "
"instance. \n"
"For DMTF defined instances, the 'preferred' algorithm must "
"be used with the set to 'CIM'.")]
string InstanceID;
[Required, Override ( "Name" ), Description (
"The user-friendly name for this instance of a Job. In "
"addition, the user-friendly name can be used as a property "
"for a search or query. (Note: Name does not have to be "
"unique within a namespace.)")]
string Name;
[Description (
"JobState is an integer enumeration that indicates the "
"operational state of a Job. It can also indicate "
"transitions between these states, for example, 'Shutting "
"Down' and 'Starting'. Following is a brief description of "
"the states: \n"
"New (2) indicates that the job has never been started. \n"
"Starting (3) indicates that the job is moving from the "
"'New', 'Suspended', or 'Service' states into the 'Running' "
"state. \n"
"Running (4) indicates that the Job is running. \n"
"Suspended (5) indicates that the Job is stopped, but can be "
"restarted in a seamless manner. \n"
"Shutting Down (6) indicates that the job is moving to a "
"'Completed', 'Terminated', or 'Killed' state. \n"
"Completed (7) indicates that the job has completed "
"normally. \n"
"Terminated (8) indicates that the job has been stopped by a "
"'Terminate' state change request. The job and all its "
"underlying processes are ended and can be restarted (this "
"is job-specific) only as a new job. \n"
"Killed (9) indicates that the job has been stopped by a "
"'Kill' state change request. Underlying processes might "
"have been left running, and cleanup might be required to "
"free up resources. \n"
"Exception (10) indicates that the Job is in an abnormal "
"state that might be indicative of an error condition. "
"Actual status might be displayed though job-specific "
"objects. \n"
"Service (11) indicates that the Job is in a vendor-specific "
"state that supports problem discovery, or resolution, or "
"both. \n"
"Query pending (12) waiting for a client to resolve a query"),
ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
"12", "13..32767", "32768..65535" },
Values { "New", "Starting", "Running", "Suspended",
"Shutting Down", "Completed", "Terminated", "Killed",
"Exception", "Service", "Query Pending", "DMTF Reserved",
"Vendor Reserved" }]
uint16 JobState;
[Description (
"The date or time when the state of the Job last changed. If "
"the state of the Job has not changed and this property is "
"populated, then it must be set to a 0 interval value. If a "
"state change was requested, but rejected or not yet "
"processed, the property must not be updated.")]
datetime TimeOfLastStateChange;
[Description (
"Requests that the state of the job be changed to the value "
"specified in the RequestedState parameter. Invoking the "
"RequestStateChange method multiple times could result in "
"earlier requests being overwritten or lost. \n"
"If 0 is returned, then the task completed successfully. Any "
"other return code indicates an error condition."),
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
"4097", "4098", "4099", "4100..32767", "32768..65535" },
Values { "Completed with No Error", "Not Supported",
"Unknown/Unspecified Error",
"Can NOT complete within Timeout Period", "Failed",
"Invalid Parameter", "In Use", "DMTF Reserved",
"Method Parameters Checked - Transition Started",
"Invalid State Transition",
"Use of Timeout Parameter Not Supported", "Busy",
"Method Reserved", "Vendor Specific" }]
uint32 RequestStateChange(
[IN, Description (
"RequestStateChange changes the state of a job. The "
"possible values are as follows: \n"
"Start (2) changes the state to 'Running'. \n"
"Suspend (3) stops the job temporarily. The intention is "
"to subsequently restart the job with 'Start'. It might "
"be possible to enter the 'Service' state while "
"suspended. (This is job-specific.) \n"
"Terminate (4) stops the job cleanly, saving data, "
"preserving the state, and shutting down all underlying "
"processes in an orderly manner. \n"
"Kill (5) terminates the job immediately with no "
"requirement to save data or preserve the state. \n"
"Service (6) puts the job into a vendor-specific service "
"state. It might be possible to restart the job."),
ValueMap { "2", "3", "4", "5", "6", "7..32767",
"32768..65535" },
Values { "Start", "Suspend", "Terminate", "Kill", "Service",
"DMTF Reserved", "Vendor Reserved" }]
uint16 RequestedState,
[IN, Description (
"A timeout period that specifies the maximum amount of "
"time that the client expects the transition to the new "
"state to take. The interval format must be used to "
"specify the TimeoutPeriod. A value of 0 or a null "
"parameter indicates that the client has no time "
"requirements for the transition. \n"
"If this property does not contain 0 or null and the "
"implementation does not support this parameter, a return "
"code of 'Use Of Timeout Parameter Not Supported' must be "
"returned.")]
datetime TimeoutPeriod);
[Required, Write, Description (
"The amount of time that the Job is retained after it has "
"finished executing, either succeeding or failing in that "
"execution. The job must remain in existence for some period "
"of time regardless of the value of the DeleteOnCompletion "
"property. \n"
"The default is five minutes.")]
datetime TimeBeforeRemoval = "00000000000500.000000:000";
};