1 krisbash 1.1 // Copyright (c) 2011 DMTF. All rights reserved.
2 [Deprecated { "CIM_ConcreteJob.GetErrors" },
3 Version ( "2.31.1" ),
4 UMLPackagePath ( "CIM::Core::CoreElements" ),
5 Description (
6 "A concrete version of Job. This class represents a generic and "
7 "instantiable unit of work, such as a batch or a print job." )]
8 class CIM_ConcreteJob : CIM_Job {
9
10 [Key, Override ( "InstanceID" ),
11 Description (
12 "Within the scope of the instantiating Namespace, "
13 "InstanceID opaquely and uniquely identifies an instance "
14 "of this class. In order to ensure uniqueness within the "
15 "NameSpace, the value of InstanceID SHOULD be constructed "
16 "using the following \'preferred\' algorithm: \n"
17 "<OrgID>:<LocalID> \n"
18 "Where <OrgID> and <LocalID> are separated by a colon "
19 "\':\', and where <OrgID> must include a copyrighted, "
20 "trademarked or otherwise unique name that is owned by "
21 "the business entity that is creating or defining the "
22 krisbash 1.1 "InstanceID, or that is a registered ID that is assigned "
23 "to the business entity by a recognized global authority. "
24 "(This requirement is similar to the <Schema Name>_<Class "
25 "Name> structure of Schema class names.) In addition, to "
26 "ensure uniqueness <OrgID> must not contain a colon "
27 "(\':\'). When using this algorithm, the first colon to "
28 "appear in InstanceID must appear between <OrgID> and "
29 "<LocalID>. \n"
30 "<LocalID> is chosen by the business entity and should "
31 "not be re-used to identify different underlying "
32 "(real-world) elements. If the above \'preferred\' "
33 "algorithm is not used, the defining entity must assure "
34 "that the resulting InstanceID is not re-used across any "
35 "InstanceIDs produced by this or other providers for the "
36 "NameSpace of this instance. \n"
37 "For DMTF defined instances, the \'preferred\' algorithm "
38 "must be used with the <OrgID> set to \'CIM\'." )]
39 string InstanceID;
40
41 [Required, Override ( "Name" ),
42 Description (
43 krisbash 1.1 "The user-friendly name for this instance of a Job. In "
44 "addition, the user-friendly name can be used as a "
45 "property for a search or query. (Note: Name does not "
46 "have to be unique within a namespace.)" )]
47 string Name;
48
49 [Description (
50 "JobState is an integer enumeration that indicates the "
51 "operational state of a Job. It can also indicate "
52 "transitions between these states, for example, \'Shutting "
53 "Down\' and \'Starting\'. Following is a brief "
54 "description of the states: \n"
55 "New (2) indicates that the job has never been started. \n"
56 "Starting (3) indicates that the job is moving from the "
57 "\'New\', \'Suspended\', or \'Service\' states into the "
58 "\'Running\' state. \n"
59 "Running (4) indicates that the Job is running. \n"
60 "Suspended (5) indicates that the Job is stopped, but can "
61 "be restarted in a seamless manner. \n"
62 "Shutting Down (6) indicates that the job is moving to a "
63 "\'Completed\', \'Terminated\', or \'Killed\' state. \n"
64 krisbash 1.1 "Completed (7) indicates that the job has completed "
65 "normally. \n"
66 "Terminated (8) indicates that the job has been stopped "
67 "by a \'Terminate\' state change request. The job and all "
68 "its underlying processes are ended and can be restarted "
69 "(this is job-specific) only as a new job. \n"
70 "Killed (9) indicates that the job has been stopped by a "
71 "\'Kill\' state change request. Underlying processes "
72 "might have been left running, and cleanup might be "
73 "required to free up resources. \n"
74 "Exception (10) indicates that the Job is in an abnormal "
75 "state that might be indicative of an error condition. "
76 "Actual status might be displayed though job-specific "
77 "objects. \n"
78 "Service (11) indicates that the Job is in a "
79 "vendor-specific state that supports problem discovery, "
80 "or resolution, or both.\n"
81 "Query pending (12) waiting for a client to resolve a "
82 "query" ),
83 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10",
84 "11", "12", "13..32767", "32768..65535" },
85 krisbash 1.1 Values { "New", "Starting", "Running", "Suspended",
86 "Shutting Down", "Completed", "Terminated", "Killed",
87 "Exception", "Service", "Query Pending", "DMTF Reserved",
88 "Vendor Reserved" }]
89 uint16 JobState;
90
91 [Description (
92 "The date or time when the state of the Job last changed. "
93 "If the state of the Job has not changed and this "
94 "property is populated, then it must be set to a 0 "
95 "interval value. If a state change was requested, but "
96 "rejected or not yet processed, the property must not be "
97 "updated." )]
98 datetime TimeOfLastStateChange;
99
100 [Required, Write, Description (
101 "The amount of time that the Job is retained after it has "
102 "finished executing, either succeeding or failing in that "
103 "execution. The job must remain in existence for some "
104 "period of time regardless of the value of the "
105 "DeleteOnCompletion property. \n"
106 krisbash 1.1 "The default is five minutes." )]
107 datetime TimeBeforeRemoval = "00000000000500.000000:000";
108
109
110 [Description (
111 "Requests that the state of the job be changed to the "
112 "value specified in the RequestedState parameter. "
113 "Invoking the RequestStateChange method multiple times "
114 "could result in earlier requests being overwritten or "
115 "lost. \n"
116 "If 0 is returned, then the task completed successfully. "
117 "Any other return code indicates an error condition." ),
118 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
119 "4097", "4098", "4099", "4100..32767", "32768..65535" },
120 Values { "Completed with No Error", "Not Supported",
121 "Unknown/Unspecified Error",
122 "Can NOT complete within Timeout Period", "Failed",
123 "Invalid Parameter", "In Use", "DMTF Reserved",
124 "Method Parameters Checked - Transition Started",
125 "Invalid State Transition",
126 "Use of Timeout Parameter Not Supported", "Busy",
127 krisbash 1.1 "Method Reserved", "Vendor Specific" }]
128 uint32 RequestStateChange(
129 [IN, Description (
130 "RequestStateChange changes the state of a job. The "
131 "possible values are as follows: \n"
132 "Start (2) changes the state to \'Running\'. \n"
133 "Suspend (3) stops the job temporarily. The "
134 "intention is to subsequently restart the job with "
135 "\'Start\'. It might be possible to enter the "
136 "\'Service\' state while suspended. (This is "
137 "job-specific.) \n"
138 "Terminate (4) stops the job cleanly, saving data, "
139 "preserving the state, and shutting down all "
140 "underlying processes in an orderly manner. \n"
141 "Kill (5) terminates the job immediately with no "
142 "requirement to save data or preserve the state. \n"
143 "Service (6) puts the job into a vendor-specific "
144 "service state. It might be possible to restart the "
145 "job." ),
146 ValueMap { "2", "3", "4", "5", "6", "7..32767",
147 "32768..65535" },
148 krisbash 1.1 Values { "Start", "Suspend", "Terminate", "Kill",
149 "Service", "DMTF Reserved", "Vendor Reserved" }]
150 uint16 RequestedState,
151 [IN, Description (
152 "A timeout period that specifies the maximum amount "
153 "of time that the client expects the transition to "
154 "the new state to take. The interval format must be "
155 "used to specify the TimeoutPeriod. A value of 0 or "
156 "a null parameter indicates that the client has no "
157 "time requirements for the transition. \n"
158 "If this property does not contain 0 or null and "
159 "the implementation does not support this "
160 "parameter, a return code of \'Use Of Timeout "
161 "Parameter Not Supported\' must be returned." )]
162 datetime TimeoutPeriod);
163
164 [Deprecated { "CIM_ConcreteJob.GetErrors" },
165 Description (
166 "GetError is deprecated because Error should be an "
167 "array,not a scalar.\n"
168 "When the job is executing or has terminated without "
169 krisbash 1.1 "error, then this method returns no CIM_Error instance. "
170 "However, if the job has failed because of some internal "
171 "problem or because the job has been terminated by a "
172 "client, then a CIM_Error instance is returned." ),
173 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..",
174 "32768..65535" },
175 Values { "Success", "Not Supported", "Unspecified Error",
176 "Timeout", "Failed", "Invalid Parameter", "Access Denied",
177 "DMTF Reserved", "Vendor Specific" }]
178 uint32 GetError(
179 [OUT, Description (
180 "If the OperationalStatus on the Job is not \"OK\", "
181 "then this method will return a CIM Error instance. "
182 "Otherwise, when the Job is \"OK\", null is "
183 "returned." ),
184 EmbeddedInstance ( "CIM_Error" )]
185 string Error);
186
187 [Description (
188 "If JobState is \"Completed\" and Operational Status is "
189 "\"Completed\" then no instance of CIM_Error is returned. \n"
190 krisbash 1.1 "If JobState is \"Exception\" then GetErrors may return "
191 "intances of CIM_Error related to the execution of the "
192 "procedure or method invoked by the job.\n"
193 "If Operatational Status is not \"OK\" or \"Completed\"then "
194 "GetErrors may return CIM_Error instances related to the "
195 "running of the job." ),
196 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..",
197 "32768..65535" },
198 Values { "Success", "Not Supported", "Unspecified Error",
199 "Timeout", "Failed", "Invalid Parameter", "Access Denied",
200 "DMTF Reserved", "Vendor Specific" }]
201 uint32 GetErrors(
202 [OUT, Description (
203 "If the OperationalStatus on the Job is not \"OK\", "
204 "then this method will return one or more CIM Error "
205 "instance(s). Otherwise, when the Job is \"OK\", "
206 "null is returned." ),
207 EmbeddedInstance ( "CIM_Error" )]
208 string Errors[]);
209
210 };
|