1 marek 1.1 // Copyright (c) 2009 DMTF. All rights reserved.
2 [Version ( "2.22.1" ),
3 UMLPackagePath ( "CIM::Core::OpaqueManagementData" ),
4 Description (
5 "A class derived from Service that contains global properties "
6 "of the opaque management data functionality in the CIM server, "
7 "and provides methods for using this functionality." )]
8 class CIM_OpaqueManagementDataService : CIM_Service {
9
10 [Description (
11 "The number of bytes of opaque management data storage "
12 "available from the CIM_OpaqueManagementDataService. The "
13 "value of AvailableStorage shall not exceed the value of "
14 "MaxAvailableStorage in the associated "
15 "CIM_OpaqueManagementDataCapabilities." ),
16 ModelCorrespondence {
17 "CIM_OpaqueManagementDataCapabilities.MaxAvailableStorage" },
18 PUnit ( "byte" )]
19 uint64 AvailableStorage;
20
21 [Description (
22 marek 1.1 "The amount of time a lock on a CIM_OpaqueManagementData "
23 "instance shall remain in effect without execution of any "
24 "CIM_OpaqueManagementDataService extrinsic methods on "
25 "that CIM_OpaqueManagementData instance by the Identity "
26 "that holds the lock. Locks on CIM_OpaqueManagementData "
27 "are created by Lock(). The intent of the timeout is to "
28 "ensure that a lock is released if the lock holder "
29 "neglects to release it or is unable to release it. The "
30 "value of LockTimeout shall be a duration." )]
31 datetime LockTimeout;
32
33 [Description (
34 "MaxCreateSize shall contain the maximum value that the "
35 "implementation will currently accept in the MaxSize "
36 "property of the OpaqueManagementDataTemplate embedded "
37 "instance parameter in a call to Create(). This value may "
38 "change over time for any reason, including but not "
39 "limited to fragmentation of the storage resources "
40 "managed by the service." ),
41 ModelCorrespondence { "CIM_OpaqueManagementData.MaxSize" },
42 PUnit ( "byte" )]
43 marek 1.1 uint64 MaxCreateSize;
44
45
46 [Description (
47 "Grants or removes access to the referenced "
48 "CIM_OpaqueManagementData instance by the referenced "
49 "CIM_Identity instance." ),
50 ValueMap { "0", "1", "2", "3..32767", "32768..65535" },
51 Values { "Completed with No Error", "Not Supported",
52 "Unknown/Unspecified Error", "DMTF Reserved",
53 "Vendor Specified" }]
54 uint32 AssignAccess(
55 [Required, IN, Description (
56 "Reference to the CIM_Identity instance that is the "
57 "subject of the access rights modified by this "
58 "method." )]
59 CIM_Identity REF Identity,
60 [Required, IN, Description (
61 "Reference to the CIM_OpaqueManagementData instance "
62 "that is the target of the access rights modified "
63 "by this method." )]
64 marek 1.1 CIM_OpaqueManagementData REF OpaqueManagementData,
65 [Required, IN, Description (
66 "The subset of values from the value map that shall "
67 "be contained in the resulting Activities property "
68 "of the CIM_AssociatedPrivilege between the "
69 "CIM_Identity instance referenced by the Identity "
70 "parameter and the CIM_OpaqueManagementData "
71 "instance referenced by the OpaqueManagementData "
72 "parameter. If such an instance of "
73 "CIM_AssociatedPrivilege does not exist before the "
74 "method is invoked, the method shall create it." ),
75 ValueMap { "5", "6" },
76 Values { "Read", "Write" },
77 ModelCorrespondence {
78 "CIM_AssociatedPrivilege.Activities" }]
79 uint16 Activities[]);
80
81 [Description (
82 "Create() creates an instance of CIM_OpaqueManagementData "
83 "using the property values in the OpaqueManagementData "
84 "parameter, and allocates the number of bytes of storage "
85 marek 1.1 "specified in the MaxSize property of the "
86 "OpaqueManagementData parameter. It also optionally "
87 "allows the client to specify an existing "
88 "CIM_StorageExtent instance as the basis (storage "
89 "location) of the new CIM_OpaqueManagementData instance." ),
90 ValueMap { "0", "1", "2", "3..4095", "4096", "4097..32767",
91 "32768..65535" },
92 Values { "Completed with No Error", "Not Supported",
93 "Unknown/Unspecified Error", "DMTF Reserved",
94 "Method Parameters Checked - Job Started",
95 "Method Reserved", "Vendor Specified" }]
96 uint32 Create(
97 [Required, IN, Description (
98 "The requested value of the MaxSize property in the "
99 "CIM_OpaqueManagementData instance created by this "
100 "method. The actual property value shall not be "
101 "less than this value." ),
102 ModelCorrespondence { "CIM_OpaqueManagementData.MaxSize" }]
103 uint64 MaxSize,
104 [IN, Description (
105 "The value of the DataFormat property in the "
106 marek 1.1 "CIM_OpaqueManagementData instance created by this "
107 "method." ),
108 ModelCorrespondence {
109 "CIM_OpaqueManagementData.DataFormat" }]
110 string DataFormat,
111 [IN, Description (
112 "The value of the ElementName property in the "
113 "CIM_OpaqueManagementData instance created by this "
114 "method." ),
115 ModelCorrespondence {
116 "CIM_OpaqueManagementData.ElementName" }]
117 string ElementName,
118 [Required, IN, Description (
119 "Specifies the instance of CIM_Identity or its "
120 "subclass that shall be the owner of the new "
121 "CIM_OpaqueManagementData instance. Create() shall "
122 "associate the new CIM_OpaqueManagementData "
123 "instance with this CIM_Identity instance using a "
124 "new instance of CIM_AssociatedPrivilege." )]
125 CIM_Identity REF Owner,
126 [IN, Description (
127 marek 1.1 "Specifies the instance of CIM_StorageExtent on "
128 "which the new instance of CIM_OpaqueManagementData "
129 "shall be based (i.e., in which it shall be "
130 "stored). If this parameter is NULL, the choice of "
131 "storage location shall be left to the "
132 "implementation." )]
133 CIM_StorageExtent REF BasedOnExtent,
134 [IN ( false ), OUT, Description (
135 "Reference to the instance of "
136 "CIM_OpaqueManagementData created when the method "
137 "returns a value of 0." )]
138 CIM_OpaqueManagementData REF OpaqueManagementData,
139 [IN ( false ), OUT, Description (
140 "Reference to the job (may be null if job completed)."
141 )]
142 CIM_ConcreteJob REF Job);
143
144 [Description (
145 "ExportToURI() copies all or some of the bytes of opaque "
146 "management data in the extent represented by the "
147 "referenced instance of CIM_OpaqueManagementData to the "
148 marek 1.1 "Uniform Resource Identifier (URI) specified in the "
149 "ExportURI parameter. The URI scheme implies the protocol "
150 "that shall be used. Typically, the URI will be a Uniform "
151 "Resource Locator (URL), but a Uniform Resource Name "
152 "(URN) is not prohibited.\n"
153 "If 0 is returned, the function completed successfully "
154 "and no ConcreteJob instance was required. If 4096/0x1000 "
155 "is returned, a ConcreteJob shall be started to to "
156 "perform the operation. The Job\'s reference shall be "
157 "returned in the output parameter Job." ),
158 ValueMap { "0", "1", "2", "3..4095", "4096", "4097..32767",
159 "32768..65535" },
160 Values { "Completed with No Error", "Not Supported",
161 "Unknown/Unspecified Error", "DMTF Reserved",
162 "Method Parameters Checked - Job Started",
163 "Method Reserved", "Vendor Specified" }]
164 uint32 ExportToURI(
165 [Required, IN, Description (
166 "The CIM_OpaqueManagementData instance that "
167 "represents the extent that is the target of the "
168 "operation." )]
169 marek 1.1 CIM_OpaqueManagementData REF OpaqueManagementData,
170 [Required, IN, Description (
171 "Offset specifies the byte offset at which to start reading."
172 ),
173 PUnit ( "byte" )]
174 uint64 Offset,
175 [Required, IN, OUT, Description (
176 "On entry, Length contains the number of bytes to "
177 "be read, starting at the byte offset in the Offset "
178 "property. On return, Length contains the number of "
179 "bytes that were actually read." ),
180 PUnit ( "byte" )]
181 uint64 Length,
182 [Required, IN, Description (
183 "On entry, ExportURI contains a URI based on RFC "
184 "3986 that indicates the location to which the "
185 "service shall copy the specified bytes of opaque "
186 "management data and from which the client "
187 "subsequently retrieves them." ),
188 ModelCorrespondence {
189 "CIM_OpaqueManagementDataCapabilities.SupportedExportURISchemes" }]
190 marek 1.1 string ExportURI,
191 [IN, Description (
192 "A token that represents a Lock placed on the data "
193 "in the extent referenced by the "
194 "OpaqueManagementData parameter, using the Lock() "
195 "method." ),
196 OctetString]
197 uint8 LockToken[],
198 [IN ( false ), OUT, Description (
199 "Reference to the job (may be null if job completed)."
200 )]
201 CIM_ConcreteJob REF Job);
202
203 [Description (
204 "ImportFromURI() modifies all or some of the bytes in the "
205 "referenced instance of CIM_OpaqueManagementData. The "
206 "imported data for the operation is copied from the URI "
207 "specified in the ImportURI parameter. The URI scheme "
208 "implies the protocol that shall be used. Typically, the "
209 "URI will be a Uniform Resource Locator (URL), but a "
210 "Uniform Resource Name (URN) is not prohibited.\n"
211 marek 1.1 "Any data already present in the instance outside the "
212 "range specified by Offset and Length is unchanged.\n"
213 "If 0 is returned, the function completed successfully "
214 "and no ConcreteJob instance was required. If 4096/0x1000 "
215 "is returned, a ConcreteJob shall be started to perform "
216 "the operation. The Job\'s reference shall be returned in "
217 "the output parameter Job." ),
218 ValueMap { "0", "1", "2", "3..4095", "4096", "4097..32767",
219 "32768..65535" },
220 Values { "Completed with No Error", "Not Supported",
221 "Unknown/Unspecified Error", "DMTF Reserved",
222 "Method Parameters Checked - Job Started",
223 "Method Reserved", "Vendor Specified" }]
224 uint32 ImportFromURI(
225 [Required, IN, Description (
226 "The CIM_OpaqueManagementData instance that "
227 "represents the extent that is the target of the "
228 "operation." )]
229 CIM_OpaqueManagementData REF OpaqueManagementData,
230 [Required, IN, Description (
231 "Offset specifies the byte offset at which to start writing."
232 marek 1.1 ),
233 PUnit ( "byte" )]
234 uint64 Offset,
235 [Required, IN, OUT, Description (
236 "On entry, Length contains the number of bytes to "
237 "be written, starting at the byte offset in the "
238 "Offset. property. On return, Length contains the "
239 "number of bytes that were actually written." ),
240 PUnit ( "byte" )]
241 uint64 Length,
242 [IN, Description (
243 "If the value of the DataSize property of the "
244 "instance referenced by the OpaqueManagementData "
245 "parameter is greater than Offset + Length, then a "
246 "value of TRUE shall indicate that the DataSize "
247 "property value shall be reduced by this operation "
248 "to Offset + Length, and a value of FALSE shall "
249 "indicate that the DataSize property value shall "
250 "remain unchanged by this operation. If the value "
251 "of the DataSize property is not greater than "
252 "Offset + Length, then this parameter shall be "
253 marek 1.1 "ignored." ),
254 ModelCorrespondence {
255 "CIM_OpaqueManagementData.DataSize" }]
256 boolean Truncate,
257 [Required, IN, Description (
258 "On entry, ImportURI contains a URI based on RFC "
259 "3986 that shall be used by the service to retrieve "
260 "the bytes of opaque management data to be written "
261 "into the extent represented by the "
262 "OpaqueManagementData parameter." ),
263 ModelCorrespondence {
264 "CIM_OpaqueManagementDataCapabilities.SupportedImportURISchemes" }]
265 string ImportURI,
266 [IN, Description (
267 "A token that represents a Lock placed on the data "
268 "in the extent referenced by the "
269 "OpaqueManagementData parameter, using the Lock() "
270 "method." ),
271 OctetString]
272 uint8 LockToken[],
273 [IN ( false ), OUT, Description (
274 marek 1.1 "Reference to the job (may be null if job completed)."
275 )]
276 CIM_ConcreteJob REF Job);
277
278 [Description (
279 "Lock() allows a management client to atomically read or "
280 "write an opaque management data storage extent larger "
281 "than MaxReadLength or MaxWriteLength, respectively. A "
282 "server that supports this method shall support the "
283 "following pattern:\n"
284 "1. Issue Lock() with Lock set to true to lock the "
285 "CIM_OpaqueManagementData instance.\n"
286 "2. Repeat Read() or Write() as many times as necessary "
287 "to complete the transfer\n"
288 "3. Issue Lock() with Lock set to false to unlock the "
289 "CIM_OpaqueManagementData instance\n"
290 "If Lock() with Lock set to true completes successfully, "
291 "the server shall return a LockToken to the client. Until "
292 "the lock is removed or expires, the server shall deny "
293 "OpaqueManagementDataService method requests on the same "
294 "CIM_OpaqueManagementData instance that do not contain "
295 marek 1.1 "the same LockToken value.\n"
296 "Lock() shall not lock the properties of the "
297 "OpaqueManagementData instance. The method shall return 0 "
298 "if successful, 1 if not supported, and any other value "
299 "if an error occurred." ),
300 ValueMap { "0", "1", "2", "3..32767", "32768..65535" },
301 Values { "Completed with No Error", "Not Supported",
302 "Unknown/Unspecified Error", "DMTF Reserved",
303 "Vendor Specified" }]
304 uint32 Lock(
305 [Required, IN, Description (
306 "The CIM_OpaqueManagementData instance that "
307 "represents the extent that is the target of the "
308 "operation." )]
309 CIM_OpaqueManagementData REF OpaqueManagementData,
310 [Required, IN, Description (
311 "If true, lock the data from access by another "
312 "management client. If false, release the data." )]
313 boolean Lock,
314 [IN, OUT, Description (
315 "A token that shall be returned to the client as "
316 marek 1.1 "output if Lock is True, and supplied by the client "
317 "as input if Lock is False. In this way, only the "
318 "client that set the Lock may remove it or delegate "
319 "such responsibility to another client." ),
320 OctetString]
321 uint8 LockToken[]);
322
323 [Description (
324 "Read() returns all or some of the bytes of opaque "
325 "management data in the extent represented by the "
326 "referenced instance of CIM_OpaqueManagementData." ),
327 ValueMap { "0", "1", "2", "3..32767", "32768..65535" },
328 Values { "Completed with No Error", "Not Supported",
329 "Unknown/Unspecified Error", "DMTF Reserved",
330 "Vendor Specified" }]
331 uint32 Read(
332 [Required, IN, Description (
333 "The CIM_OpaqueManagementData instance that "
334 "represents the extent that is the target of the "
335 "operation." )]
336 CIM_OpaqueManagementData REF OpaqueManagementData,
337 marek 1.1 [Required, IN, Description (
338 "Offset specifies the byte offset at which to start reading."
339 ),
340 PUnit ( "byte" )]
341 uint64 Offset,
342 [Required, IN, OUT, Description (
343 "On entry, Length shall contain the number of bytes "
344 "to be read, starting at the byte offset in the "
345 "Offset property. On return, Length shall contain "
346 "the number of bytes that were actually read." ),
347 ModelCorrespondence {
348 "CIM_OpaqueManagementDataCapabilities.MaxReadLength" },
349 PUnit ( "byte" )]
350 uint64 Length,
351 [IN ( false ), OUT, Description (
352 "On return, Data shall contain the bytes of opaque "
353 "management data read from the extent represented "
354 "by the OpaqueManagementData parameter." ),
355 OctetString]
356 uint8 Data[],
357 [IN, Description (
358 marek 1.1 "A token that represents a Lock placed on the data "
359 "in the extent referenced by the "
360 "OpaqueManagementData parameter, using the Lock() "
361 "method. Parameter shall be NULL if data is not "
362 "locked." ),
363 OctetString]
364 uint8 LockToken[]);
365
366 [Description (
367 "Transfers ownership of a CIM_OpaqueManagementData "
368 "instance to the CIM_Identity instance referenced by the "
369 "Identity parameter." ),
370 ValueMap { "0", "1", "2", "3..32767", "32768..65535" },
371 Values { "Completed with No Error", "Not Supported",
372 "Unknown/Unspecified Error", "DMTF Reserved",
373 "Vendor Specified" }]
374 uint32 ReassignOwnership(
375 [Required, IN, Description (
376 "Reference to the CIM_Identity instance that will "
377 "become the new owner of the "
378 "CIM_OpaqueManagementData instance referenced by "
379 marek 1.1 "the OpaqueManagementData parameter." )]
380 CIM_Identity REF NewOwner,
381 [Required, IN, Description (
382 "Reference to the CIM_OpaqueManagementData instance "
383 "that is the target of ownership reassignment." )]
384 CIM_OpaqueManagementData REF OpaqueManagementData);
385
386 [Description (
387 "Write() modifies all or some of the bytes in the extent "
388 "represented by the referenced instance of "
389 "CIM_OpaqueManagementData. Any data already present in "
390 "the extent outside the range specified by Offset and "
391 "Length shall remain unchanged by this operation." ),
392 ValueMap { "0", "1", "2", "3..4095", "4096", "4097..32767",
393 "32768..65535" },
394 Values { "Completed with No Error", "Not Supported",
395 "Unknown/Unspecified Error", "DMTF Reserved",
396 "Method Parameters Checked - Job Started",
397 "Method Reserved", "Vendor Specified" }]
398 uint32 Write(
399 [Required, IN, Description (
400 marek 1.1 "The CIM_OpaqueManagementData instance that "
401 "represents the extent that is the target of the "
402 "operation." )]
403 CIM_OpaqueManagementData REF OpaqueManagementData,
404 [Required, IN, Description (
405 "Offset specifies the byte offset at which to start writing."
406 ),
407 PUnit ( "byte" )]
408 uint64 Offset,
409 [Required, IN, OUT, Description (
410 "On entry, Length contains the number of bytes to "
411 "be written, starting at the byte offset in the "
412 "Offset. property. On return, Length contains the "
413 "number of bytes that were actually written." ),
414 ModelCorrespondence {
415 "CIM_OpaqueManagementDataCapabilities.MaxWriteLength" },
416 PUnit ( "byte" )]
417 uint64 Length,
418 [IN, Description (
419 "If the value of the DataSize property of the "
420 "instance referenced by the OpaqueManagementData "
421 marek 1.1 "parameter is greater than Offset + Length, then a "
422 "value of TRUE shall indicate that the DataSize "
423 "property value shall be reduced by this operation "
424 "to Offset + Length, and a value of FALSE shall "
425 "indicate that the DataSize property value shall "
426 "remain unchanged by this operation. If the value "
427 "of the DataSize property is not greater than "
428 "Offset + Length, then this parameter shall be "
429 "ignored." ),
430 ModelCorrespondence {
431 "CIM_OpaqueManagementData.DataSize" }]
432 boolean Truncate,
433 [Required, IN, Description (
434 "On entry, Data contains the bytes of opaque "
435 "management data to be written into the extent "
436 "represented by the OpaqueManagementData parameter." ),
437 OctetString]
438 uint8 Data[],
439 [IN, Description (
440 "A token that represents a Lock placed on the data "
441 "in the extent referenced by the "
442 marek 1.1 "OpaqueManagementData parameter, using the Lock() "
443 "method." ),
444 OctetString]
445 uint8 LockToken[],
446 [IN ( false ), OUT, Description (
447 "Reference to the job (may be null if job completed)."
448 )]
449 CIM_ConcreteJob REF Job);
450
451 };
|