1 karl 1.1 // ===================================================================
2 // Title: NAS File Services
3 // $State: Preliminary $
4 // $Date: 2004/07/21 16:26:26 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_FileServices.mof,v $
6 // $Revision: 1.16 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The NAS Services Model defines the services that
47 // support sharing/exporting files and directories that
48 // are contained in networked file systems.
49 // This file defines the FileExportService and
50 // FileImportService classes that create, modify, and
51 // delete FileShares and support the mapping to local
52 // named files.
53 //
54 // The object classes below are listed in an order that
55 // avoids forward references. Required objects, defined
56 // by other working groups, are omitted.
57 // ==================================================================
58 // Change Log for v2.9 Preliminary Company Review
59 // CR1446 - Update descriptions for InUseOptions and WaitTime.
60 // CR1465 - Corrected compile errors and warnings.
61 //
62 // Change Log for v2.9 Preliminary
63 // CR1326 - Definitions needed to support methods to create or modify
64 karl 1.1 // an ExportedFileShare using a FileExportService.
65 // CR1327 - Definitions needed to support methods to create or modify
66 // an ImportedFileShare using a FileImportService.
67 //
68 // ==================================================================
69
70 #pragma locale ("en_US")
71 // ===================================================================
72 // FileExportService
73 // ===================================================================
74 [Experimental, Version ( "2.8.1000" ), Description (
75 "Provides configuration support for exporting elements "
76 "('files') of a FileSystem. FileExportService(s) are hosted by "
77 "a ComputerSystem that exports the files (these would be the "
78 "Filers in a NAS Head). These shared elements (FileShares) are "
79 "accessed through ProtocolEndpoint(s) hosted by the Filer that "
80 "support the specified file-sharing protocol. FileShares are "
81 "associated with the Service via ServiceAffectsElement and with "
82 "the ProtocolEndpoint(s) via SAPAvailableForElement.")]
83 class CIM_FileExportService : CIM_Service {
84 [Description (
85 karl 1.1 "Start a Job to create a FileShare from an element of a "
86 "FileSystem or an imported FileShare. Makes the element "
87 "available as a FileShare and returns it as the parameter "
88 "TheShare of type CIM_FileShare. \n"
89 "If 0 is returned, the method completed successfully and no "
90 "ConcreteJob instance was required. If 0x1000 is returned, a "
91 "ConcreteJob has been started to create the FileShare. The "
92 "Job's reference will be returned in the output parameter "
93 "Job. If the Job succeeds, the FileShare will be created and "
94 "configured and ready to be exported. If the FileShare has "
95 "been configured to be exported at a later time, its "
96 "'EnabledState' attribute will not be set to \"Enabled\", "
97 "until exported. The FileShare will have a HostedShare "
98 "association to the host ComputerSystem. \n"
99 "This method MUST return a CIM_Error representing that a "
100 "single named property of a setting (or other) parameter "
101 "(either reference or embedded object) has an invalid value "
102 "or that an invalid combination of named properties of a "
103 "setting (or other) parameter (either reference or embedded "
104 "object) has been requested. \n"
105 "The reference parameter Root indicates the FileSystem or "
106 karl 1.1 "FileShare whose element is being exported, either directly, "
107 "or indirectly by specifying a Directory element that is "
108 "associated via MountedElement to the FileSystem or "
109 "FileShare. \n"
110 "The string parameter SharedElementPath indicates the shared "
111 "element within the file hierarchy by a path relative to the "
112 "Root. If the Root is a FileSystem, this path begins at the "
113 "root directory of the FileSystem; if the Root is a "
114 "FileShare, this path begins at the directory associated to "
115 "the FileShare via MountedElement; if the Root is a "
116 "Directory, this path begins at that Directory. This is a "
117 "string because multiple paths could lead to the same "
118 "element but the access rights or other privileges could be "
119 "specific to the path. \n"
120 "Goal is a CIM_ExportedFileShareSetting element encoded as a "
121 "string-valued EmbeddedInstance parameter; this allows the "
122 "client to specify the properties desired for the share. \n"
123 "If the method is successful, it will return a CIM_FileShare "
124 "in the OUT parameter TheShare. The settings on the "
125 "FileShare will be specified by the ExportedFileShareSetting "
126 "element associated with the TheShare element via "
127 karl 1.1 "CIM_ElementSettingData. This ExportedFileShareSetting will "
128 "also be associated via SettingGeneratedByCapabilities to "
129 "the ExportedFileShareCapabilities element that was used for "
130 "creating the FileShare. The FileShare will also be "
131 "associated to the ComputerSystem via HostedShare, to the "
132 "FileExportService via ServiceAffectsElement, and to one or "
133 "more ServiceAccessPoints via SAPAvailableForElement."),
134 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
135 "10..", "0x1000", "0x1001..0x7FFF", "0x8000.." },
136 Values { "Job Completed with No Error", "Not Supported",
137 "Unknown", "Timeout", "Failed", "Invalid Parameter",
138 "FileExportService Not Accessible", "Root is not accessible",
139 "Base Directory element of Root is Not Accessible",
140 "Path does not specify a shareable element", "DMTF Reserved",
141 "Method Parameters Checked - Job Started", "Method Reserved",
142 "Vendor Specific" }]
143 uint32 CreateExportedShare (
144 [IN ( false ), OUT, Description (
145 "Reference to the job (may be null if job completed).")]
146 CIM_ConcreteJob REF Job,
147 [IN, OUT, Description (
148 karl 1.1 "A reference indicating an element whose sub-element is "
149 "being exported. The class that Root references must be a "
150 "FileSystem, a FileShare that has a MountedElement "
151 "association (or a derived class of MountedElement) to a "
152 "LogicalFile (or Directory), or a LogicalFile (or a "
153 "derived class such as Directory) that has a "
154 "MountedElement association to a FileShare or FileSystem. "
155 "\nIf Root is NULL, it indicates the root of the "
156 "FileExportService host's default local FileSystem, that "
157 "is used as the default local name space.")]
158 CIM_LogicalElement REF Root,
159 [IN, Description (
160 "A string representing a path to the shared element from "
161 "the Directory indicated by Root. \n"
162 "Multiple paths could lead to the same element but the "
163 "access rights or other privileges could be specific to "
164 "the path. The client must specify the path. \n"
165 "If SharedElementPath is NULL or the empty string, it "
166 "indicates the \"root\" LogicalElement contained by Root.")]
167 string SharedElementPath,
168 [IN, Description (
169 karl 1.1 "The client-specified requirements for how the specified "
170 "FileShare element is to be shared or exported by the "
171 "FileExportService. This is an element of the "
172 "CIM_ExportedFileShareSetting class, or a derived class, "
173 "encoded as a string-valued embedded object parameter. If "
174 "NULL or the empty string, the default configuration will "
175 "be specified by the FileExportService."),
176 EmbeddedInstance ( "CIM_ExportedFileShareSetting" )]
177 string Goal,
178 [OUT, Description (
179 "This specifies the FileShare element (or its derived "
180 "class) that is created by the method, if successful.")]
181 CIM_FileShare REF TheShare,
182 [IN, Description (
183 "A reference to a concrete derived class of CIM_Identity "
184 "that indicates the user id to use for default access to "
185 "this share. A NULL value indicates that no user id is "
186 "specified. The provider is expected to surface this "
187 "access using the privilege model.")]
188 CIM_Identity REF DefaultUserId,
189 [IN, Description (
190 karl 1.1 "An array of strings that specify the hosts that have "
191 "root access to this Share, if the "
192 "CIM_ExportedFileShareSetting.RootAccess property is set "
193 "to 'Allow Root Access'. Each entry specifies a host by a "
194 "vendor-specific host-id, prefixed with '+' or '-' to "
195 "indicate that access is either Granted or Denied. The "
196 "name of the host is its Durable Name, which is expected "
197 "to be a fully-qualified-domain-name or its IP Address. "
198 "If one of the entries is '+*', root access will be "
199 "allowed from all hosts. If one of the entries is '-*', "
200 "root access will be denied to all hosts, effectively "
201 "overriding the value of the property "
202 "CIM_ExportedFileShareSetting.RootAccess. The provider is "
203 "expected to surface this access using the privilege "
204 "model. \n"
205 "This property needs to be a string because the remote "
206 "host may not be known to the provider and therefore a "
207 "reference to the host may not exist."),
208 ArrayType ( "Indexed" ),
209 ModelCorrespondence {
210 "CIM_ExportedFileShareSetting.RootAccess" }]
211 karl 1.1 string RootAccessHosts[],
212 [IN, Description (
213 "An array of strings that specify the ServiceAccessPoints "
214 "that can connect to this Share, if the "
215 "CIM_ExportedFileShareSettings.AccessPoints property is "
216 "set to 'Named Ports'. Each entry specifies one or more "
217 "access points by its Name, unique within the System "
218 "hosting the FileShare. The ids may be prefixed with '+' "
219 "or '-'to indicate that access is to be granted or "
220 "denied. \n"
221 "If one of the entries is '+*', all access points "
222 "supported by the service will be supported. If one of "
223 "the entries is '-*', all access points will be denied "
224 "access, effectively overriding the value of the property "
225 "CIM_ExportedFileShareSetting.AccessPoints. The provider "
226 "is expected to surface these access rights (whether "
227 "granted or denied) using the privilege model. Any "
228 "AccessPoints granted access via this parameter will also "
229 "be associated to this share with "
230 "CIM_SAPAvailableForElement. If the AccessPoint is not "
231 "already enabled it will appear in a disabled state. \n"
232 karl 1.1 "This property needs to be a string because the access "
233 "point may not be known to the provider and therefore a "
234 "reference to the ServiceAccessPoint may not exist."),
235 ArrayType ( "Indexed" ),
236 ModelCorrespondence {
237 "CIM_ExportedFileShareSetting.AccessPoints" }]
238 string AccessPointPorts[]);
239
240 [Description (
241 "Start a Job to modify an Exported FileShare. \n"
242 "If 0 is returned, the method completed successfully and no "
243 "ConcreteJob instance was required. If 0x1000 is returned, a "
244 "ConcreteJob has been started to modify the FileShare. The "
245 "Job's reference will be returned in the output parameter "
246 "Job. \n"
247 "If the Job succeeds, the FileShare will be modified and "
248 "re-configured and ready to be exported. If the FileShare "
249 "has been configured to be exported at a later time, its "
250 "'EnabledState' attribute will not be set to \"Enabled\", "
251 "until exported. A reference to the FileShare will be "
252 "returned in TheShare. The FileShare will have a HostedShare "
253 karl 1.1 "association to the host ComputerSystem, as before. If the "
254 "parameters are, invalid, this method MUST return a "
255 "CIM_Error representing that a single named property of a "
256 "setting (or other) parameter (either reference or embedded "
257 "object) has an invalid value or that an invalid combination "
258 "of named properties of a setting (or other) parameter "
259 "(either reference or embedded object) has been requested. \n"
260 "This method cannot be used to change the element that has "
261 "been exported, but a provider may support changing the "
262 "pathname used to access it by re-specifying Root and/or "
263 "SubElementPath. The reference parameter Root indicates the "
264 "FileSystem or FileShare whose element is being exported, "
265 "either directly, or indirectly by specifying a Directory "
266 "element that is associated via MountedElement to the "
267 "FileSystem or FileShare. The FileSystem or FileShare so "
268 "indicated cannot be changed by this method. \n"
269 "The parameter SharedElementPath indicates the shared "
270 "element within the file hierarchy by a path relative to the "
271 "Root. If the Root is a FileSystem, this path begins at the "
272 "root directory of the FileSystem; if the Root is a "
273 "FileShare, this path begins at the directory associated to "
274 karl 1.1 "the FileShare via MountedElement; if the Root is a "
275 "Directory, this path begins at that Directory. If this path "
276 "is modified, it must still indicate the same terminal "
277 "element. \n"
278 "Goal is a CIM_ExportedFileShareSetting element encoded as a "
279 "string-valued embedded object parameter; this allows the "
280 "client to specify the properties desired for the share. \n"
281 "If the method is successful, it will return a reference to "
282 "the same CIM_FileShare in the INOUT parameter TheShare. The "
283 "settings for the FileShare and the ServiceAccessPoint "
284 "associations may change, but the HostedShare and "
285 "ServiceAffectsElement associations to the share must not be "
286 "changed by this method. \n"
287 "The input TheShare must not be NULL."),
288 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
289 "10", "11..", "0x1000", "0x1001..0x7FFF", "0x8000.." },
290 Values { "Job Completed with No Error", "Not Supported",
291 "Unknown", "Timeout", "Failed", "Invalid Parameter",
292 "FileExportService Not Accessible", "Root is not accessible",
293 "Base Directory element of Root is Not Accessible",
294 "Path does not specify a shareable element",
295 karl 1.1 "Share in use and cannot be Modified, Failed",
296 "DMTF Reserved", "Method Parameters Checked - Job Started",
297 "Method Reserved", "Vendor Specific" }]
298 uint32 ModifyExportedShare (
299 [IN ( false ), OUT, Description (
300 "Reference to the job (may be null if job completed).")]
301 CIM_ConcreteJob REF Job,
302 [IN, Description (
303 "A reference indicating an element whose sub-element is "
304 "being exported. The class that Root references must be a "
305 "FileSystem, a FileShare that has a MountedElement "
306 "association (or a derived class of MountedElement) to a "
307 "Directory, or a Directory that has a MountedElement "
308 "association to a FileShare or FileSystem. If the "
309 "FileShare being modified is currently exported or "
310 "imported, this parameter should indicate the same Root "
311 "FileSystem or FileShare element. \n"
312 "If Root is NULL, it indicates no change to the current "
313 "root.")]
314 CIM_LogicalElement REF Root,
315 [IN, Description (
316 karl 1.1 "A string representing a path to the shared element from "
317 "the Directory element indicated by Root. If the "
318 "FileShare being modified is currently exported or "
319 "imported, this parameter should specify the same shared "
320 "element, even if via a different path. \n"
321 "Multiple paths could lead to the same element but the "
322 "access rights or other privileges could be specific to "
323 "the path. The client must specify the path during "
324 "creation. \n"
325 "If SharedElementPath is NULL, it indicates no change to "
326 "the current path. If SharedElementPath is the empty "
327 "string, it indicates the element indicated by Root.")]
328 string SharedElementPath,
329 [IN, Description (
330 "The client-specified requirements for how the export "
331 "settings for the specified FileShare element are to be "
332 "modifed by the FileExportService. If the FileShare is "
333 "currently imported and not exported this will set up the "
334 "necessary SharedElement, SharedElementRoot, HostedShare, "
335 "and other associations. Goal is an element of the "
336 "CIM_ExportedFileShareSetting class, or a derived class, "
337 karl 1.1 "encoded as a string-valued embedded object parameter. If "
338 "NULL or the empty string, the existing configuration "
339 "must include an ExportedFileShareSetting which will not "
340 "be changed. Any differences in property values will be "
341 "merged by the FileExportService."),
342 EmbeddedInstance ( "CIM_ExportedFileShareSetting" )]
343 string Goal,
344 [IN, Description (
345 "TheShare indicates the FileShare that is to be modified. "
346 "This can be an existing exported FileShare or an "
347 "existing imported FileShare.")]
348 CIM_FileShare REF TheShare,
349 [IN, Description (
350 "An enumerated integer that specifies the action that the "
351 "provider should take if the FileShare is still in use "
352 "when this request is made. The WaitTime parameter "
353 "indicates the 'specified time' used for this function. \n"
354 "This option is only relevant if the FileShare must be "
355 "made unavailable while the request is being executed."),
356 ValueMap { "2", "3", "4", "..", "0x1000..0xFFFF" },
357 Values { "Do Not Execute Request",
358 karl 1.1 "Wait for specified time, then Execute Request "
359 "Immediately",
360 "Attempt Quiescence for specified time, "
361 "then Execute Request Immediately", "DMTF Reserved",
362 "Vendor Defined" }]
363 uint16 InUseOptions,
364 [IN, Description (
365 "An integer that indicates the time (in seconds) that the "
366 "provider must wait before executing this request if it "
367 "cannot be done while the FileShare is in use. If "
368 "WaitTime is not zero, the method will create a job, if "
369 "supported by the provider, and return immediately. If "
370 "the provider does not support asynchronous jobs, there "
371 "is a possibility that the client could time-out before "
372 "the job is completed. \n"
373 "The combination of InUseOptions = '4' and WaitTime ='0' "
374 "(the default) is interpreted as 'Wait (forever) until "
375 "Quiescence, then Execute Request' and will be performed "
376 "asynchronously if possible."),
377 Units ( "seconds" )]
378 uint32 WaitTime,
379 karl 1.1 [IN, Description (
380 "A reference to a concrete derived class of CIM_Identity "
381 "that indicates the user id to use for default access to "
382 "this share. A NULL value indicates that any existing "
383 "user id is not changed. The provider is expected to "
384 "surface this access using the privilege model. This "
385 "method does not support disabling the currently "
386 "specified default user id, which must be done using the "
387 "privilege model.")]
388 CIM_Identity REF DefaultUserId,
389 [IN, Description (
390 "An array of strings that specify additional hosts that "
391 "have root access to this Share, if the "
392 "CIM_ExportedFileShareSetting.RootAccess property is set "
393 "to 'Allow Root Access'. Each entry specifies a host by a "
394 "vendor-specific host-id, prefixed with '+' or '-' to "
395 "indicate that access is either Granted or Denied. The "
396 "name of the host is its Durable Name, which is expected "
397 "to be a fully-qualified-domain-name or its IP Address. "
398 "If one of the entries is '+*', root access will be "
399 "allowed from all hosts. If one of the entries is '-*', "
400 karl 1.1 "root access will be denied to all hosts, effectively "
401 "overriding the value of the property "
402 "CIM_ExportedFileShareSetting.RootAccess. If this is a "
403 "null entry, the currently configured set of hosts will "
404 "not be changed. If this is an empty array, the currently "
405 "configured set of hosts will be cleared. The provider is "
406 "expected to surface this access using the privilege "
407 "model. \n"
408 "This property needs to be a string because the remote "
409 "host may not be known to the provider and therefore a "
410 "REF to the host may not exist."),
411 ArrayType ( "Indexed" ),
412 ModelCorrespondence {
413 "CIM_ExportedFileShareSetting.RootAccess" }]
414 string RootAccessHosts[],
415 [IN, Description (
416 "An array of strings that specify additional "
417 "ServiceAccessPoints that can connect to this Share, if "
418 "the CIM_ExportedFileShareSettings.AccessPoints property "
419 "is set to 'Named Ports'. Each entry specifies one or "
420 "more access points by its Name, unique within the System "
421 karl 1.1 "hosting the FileShare. The ids may be prefixed with '+' "
422 "or '-'to indicate that access is to be granted or "
423 "denied. \n"
424 "If one of the entries is '+*', all access points "
425 "supported by the service will be supported. If one of "
426 "the entries is '-*', all access points will be denied "
427 "access, effectively overriding the value of the property "
428 "CIM_ExportedFileShareSetting.AccessPoints. If this is a "
429 "null entry, the currently configured set of access "
430 "points will not be changed. If this is an empty array, "
431 "the currently configured set of access points will be "
432 "cleared. The provider is expected to surface these "
433 "access rights (whether granted or denied) using the "
434 "privilege model. Any AccessPoints granted access via "
435 "this parameter will also be associated to this share "
436 "with CIM_SAPAvailableForElement. If the AccessPoint is "
437 "not already enabled it will appear in a disabled state. "
438 "\nThis property needs to be a string because the access "
439 "point may not be known to the provider and therefore a "
440 "REF to the ServiceAccessPoint may not exist."),
441 ArrayType ( "Indexed" ),
442 karl 1.1 ModelCorrespondence {
443 "CIM_ExportedFileShareSetting.AccessPoints" }]
444 string AccessPointPorts[]);
445
446 [Description (
447 "Start a Job to release an exported Share. \n"
448 "If 0 is returned, the method completed successfully and no "
449 "ConcreteJob instance was required. If 0x1000 is returned, a "
450 "ConcreteJob will be started to release the Share. The Job's "
451 "reference will be returned in the OUT parameter Job. \n"
452 "If the method is successful, the Share element will not be "
453 "surfaced for export and the shared element will not be "
454 "exported anymore through this Share. \n"
455 "If InUseOptions are specified, this method will succeed "
456 "only if no more clients are accessing the share."),
457 ValueMap { "0", "1", "2", "3", "4", "5", "10", "..", "0x1000",
458 "0x1001..0x7FFF", "0x8000.." },
459 Values { "Job Completed with No Error", "Not Supported",
460 "Unknown", "Timeout", "Failed", "Invalid Parameter",
461 "Share in use, Failed", "DMTF Reserved",
462 "Method Parameters Checked - Job Started", "Method Reserved",
463 karl 1.1 "Vendor Specific" }]
464 uint32 ReleaseExportedShare (
465 [IN ( false ), OUT, Description (
466 "Reference to the job (may be null if job completed).")]
467 CIM_ConcreteJob REF Job,
468 [IN, Description (
469 "The imported Share to be released.")]
470 CIM_Share REF TheShare,
471 [IN, Description (
472 "An enumerated integer that specifies the action that the "
473 "provider should take if the FileShare is still in use "
474 "when this request is made. The WaitTime parameter "
475 "indicates the 'specified time' used for this function. \n"
476 "This option is only relevant if the FileShare must be "
477 "made unavailable while the request is being executed."),
478 ValueMap { "2", "3", "4", "..", "0x1000..0xFFFF" },
479 Values { "Do Not Execute Request",
480 "Wait for specified time, then Release Immediately",
481 "Attempt Quiescence for specified time, then Release "
482 "Immediately", "DMTF Reserved", "Vendor Defined" }]
483 uint16 InUseOptions,
484 karl 1.1 [IN, Description (
485 "An integer that indicates the time (in seconds) that the "
486 "provider must wait before releasing this FileShare. If "
487 "WaitTime is not zero, the method will create a job, if "
488 "supported by the provider, and return immediately. If "
489 "the provider does not support asynchronous jobs, there "
490 "is a possibility that the client could time-out before "
491 "the job is completed. \n"
492 "The combination of InUseOptions = '4' and WaitTime ='0' "
493 "(the default) is interpreted as 'Wait (forever) until "
494 "Quiescence, then Release' and will be performed "
495 "asynchronously if possible."),
496 Units ( "seconds" )]
497 uint32 WaitTime);
498 };
499
500 // ===================================================================
501 // FileExportCapabilities
502 // ===================================================================
503 [Experimental, Version ( "2.8.1000" ), Description (
504 "FileExportCapabilities specifies the capability of a "
505 karl 1.1 "FileExportService to support the specified methods.")]
506 class CIM_FileExportCapabilities : CIM_Capabilities {
507
508 [Description (
509 "An array of enumerated integers indicating the filesharing "
510 "protocols that this service can support. Duplicate entries "
511 "are permitted because they may be associated with different "
512 "versions in the corresponding ProtocolVersions property. "
513 "For each file sharing protocol supported nby the Service, "
514 "there will be at least one FileExportCapabilities element."),
515 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
516 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
517 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
518 ArrayType ( "Indexed" ),
519 ModelCorrespondence {
520 "CIM_ExportedFileShareSetting.FileSharingProtocol",
521 "CIM_FileImportCapabilities.FileSharingProtocol",
522 "CIM_FileExportCapabilities.ProtocolVersions" }]
523 uint16 FileSharingProtocol[];
524
525 [Description (
526 karl 1.1 "An array of strings listing the versions of the file "
527 "sharing protocol in the corresponding FileSharingProtocol "
528 "property that can be supported by this FileExportService."),
529 Read, ArrayType ( "Indexed" ),
530 ModelCorrespondence {
531 "CIM_ExportedFileShareSetting.ProtocolVersions",
532 "CIM_FileImportCapabilities.ProtocolVersions",
533 "CIM_FileExportCapabilities.FileSharingProtocol" }]
534 string ProtocolVersions[];
535
536 [Description (
537 "An array of methods of this Service that are supported as "
538 "synchronous methods."),
539 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
540 Values { "CreateExportedShare", "ModifyExportedShare",
541 "ReleaseExportedShare", "CreateGoal", "DMTF Reserved",
542 "Vendor Defined" }, Read]
543 uint16 SupportedSynchronousMethods[];
544
545 [Description (
546 "An array of methods of this Service that are supported as "
547 karl 1.1 "asynchronous methods."),
548 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
549 Values { "CreateExportedShare", "ModifyExportedShare",
550 "ReleaseExportedShare", "CreateGoal", "DMTF Reserved",
551 "Vendor Defined" }, Read]
552 uint16 SupportedAsynchronousMethods[];
553
554 [Description (
555 "An enumerated value that indicates the enabled/disabled "
556 "states to which the Service can initialize the created file "
557 "share. Unlike FileShare.EnabledState it cannot indicate "
558 "transitions between requested states because those states "
559 "cannot be requested. The following text briefly summarizes "
560 "the various enabled/disabled initial states: \n"
561 "Enabled (2) indicates that the element will execute "
562 "commands, will process any queued commands, and will queue "
563 "new requests. \n"
564 "Disabled (3) indicates that the element will not execute "
565 "commands and will drop any new requests. \n"
566 "In Test (7) indicates that the element will be in a test "
567 "state. \n"
568 karl 1.1 "Deferred (8) indicates that the element will not process "
569 "any commands but will queue new requests. \n"
570 "Quiesce (9) indicates that the element is enabled but in a "
571 "restricted mode. The element's behavior is similar to the "
572 "Enabled state, but it only processes a restricted set of "
573 "commands. All other requests are queued."),
574 ValueMap { "0", "2", "3", "7", "8", "9", "..", "0x8000.." },
575 Values { "Unknown", "Enabled", "Disabled", "In Test",
576 "Deferred", "Quiesce", "DMTF Reserved", "Vendor Defined" },
577 Read]
578 uint16 InitialEnabledState = 8;
579 };
580
581 // =====================================================================
582 // ExportedFileShareSetting
583 // =====================================================================
584
585 [Experimental, Version ( "2.8.1000" ), Description (
586 "The ExportedFileShareSetting describes the attribute values "
587 "that were set when a FileShare was created for a LogicalFile "
588 "by a FileExportService. These settings may be associated with "
589 karl 1.1 "the created Share via the ElementSettingData association; or, "
590 "associated with an ExportedFileShareCapabilities element via "
591 "SettingAssociatedToCapabilities; or, used as an "
592 "EmbeddedInstanceparameter in a method (for instance, as a "
593 "Goal). If the setting is associated with a FileShare, it "
594 "cannot have undefined or NULL properties. If it is associated "
595 "with an ExportedFileShareCapabilities, a NULL property "
596 "indicates that the property is not supported or that the value "
597 "is a vendor-specific context-dependent default that may not be "
598 "changed. The FileSharingProtocol and "
599 "ProtocolVersions properties cannot have a default value. If "
600 "this Setting is associated with a "
601 "ExportedFileShareCapabilities element via "
602 "SettingAssociatedToCapabilities, the corresponding "
603 "FileSharingProtocol and ProtocolVersions properties must match.")]
604 class CIM_ExportedFileShareSetting : CIM_SettingData {
605
606 [Description (
607 "An enumerated integer indicating the filesharing protocol "
608 "that this share can support. This property must exist and "
609 "have a value. The version of the protocol must be specified "
610 karl 1.1 "in the corresponding ProtocolVersions property."),
611 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
612 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
613 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
614 ModelCorrespondence {
615 "CIM_ExportedFileShareCapabilities.FileSharingProtocol",
616 "CIM_ImportedFileShareSetting.FileSharingProtocol",
617 "CIM_ExportedFileShareSetting.ProtocolVersions" }]
618 uint16 FileSharingProtocol;
619
620 [Description (
621 "An array of strings listing the versions of the file "
622 "sharing protocol that this share can support. This property "
623 "must exist and have at least one entry."),
624 Read, ArrayType ( "Indexed" ),
625 ModelCorrespondence {
626 "CIM_ExportedFileShareCapabilities.ProtocolVersions",
627 "CIM_ImportedFileShareSetting.ProtocolVersions",
628 "CIM_ExportedFileShareSetting.FileSharingProtocol" }]
629 string ProtocolVersions[];
630
631 karl 1.1 [Description (
632 "InitialEnabledState is an integer enumeration that "
633 "indicates the enabled/disabled states initially set for a "
634 "file share element. Unlike FileShare.EnabledState it cannot "
635 "indicate transitions between requested states because those "
636 "states cannot be requested. The following text briefly "
637 "summarizes the various enabled/disabled initial states: \n"
638 "Enabled (2) indicates that the element will execute "
639 "commands, will process any queued commands, and will queue "
640 "new requests. \n"
641 "Disabled (3) indicates that the element will not execute "
642 "commands and will drop any new requests. \n"
643 "In Test (7) indicates that the element will be in a test "
644 "state. \n"
645 "Deferred (8) indicates that the element will not process "
646 "any commands but will queue new requests. \n"
647 "Quiesce (9) indicates that the element is enabled but in a "
648 "restricted mode. The element's behavior is similar to the "
649 "Enabled state, but it only processes a restricted set of "
650 "commands. All other requests are queued."),
651 ValueMap { "0", "1", "2", "3", "7", "8", "9", "11..32767",
652 karl 1.1 "32768..65535" },
653 Values { "Unknown", "Other", "Enabled", "Disabled", "In Test",
654 "Deferred", "Quiesce", "DMTF Reserved", "Vendor Reserved" },
655 ModelCorrespondence {
656 "CIM_ExportedFileShareSetting.OtherEnabledState",
657 "CIM_EnabledLogicalElement.EnabledState" }]
658 uint16 InitialEnabledState = 8;
659
660 [Description (
661 "A string describing the element's initial enabled/disabled "
662 "state when the InitialEnabledState property is set to 1 "
663 "(\"Other\"). This property MUST be set to NULL when "
664 "InitialEnabledState is any value other than 1."),
665 ModelCorrespondence {
666 "CIM_ExportedFileShareSetting.InitialEnabledState" }]
667 string OtherEnabledState;
668
669 [Description (
670 "An enumerated value that specifies the default privileges "
671 "that can be supported for read-write authorization. These "
672 "default privileges can be overridden by privileges "
673 karl 1.1 "explicitly defined by a supported authorization "
674 "mechanism(s). \n"
675 "'No Access' indicates that access is not allowed. 'Read "
676 "Only' indicates that read-only access is implicitly granted "
677 "to all clients and write access is implicitly denied to all "
678 "clients. 'Read/Write' indicates that both read and write "
679 "access is implicitly granted to all clients. Any other "
680 "reading or writing privileges must be granted or denied "
681 "explicitly using the vendor's authorization mechanism or by "
682 "using the CIM_Privilege model. The resulting access "
683 "privileges will be surfaced using the CIM_Privilege model."),
684 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
685 Values { "Unknown", "No Access", "Read Only", "Read/Write",
686 "DMTF Reserved", "Vendor Defined" }, Read]
687 uint16 DefaultReadWrite = 0;
688
689 [Description (
690 "An enumerated value that specifies the default privileges "
691 "that can be supported for 'execute' authorization in an "
692 "appropriate operating environment. These default privileges "
693 "can be overridden by privileges explicitly defined by a "
694 karl 1.1 "supported authorization mechanism(s). \n"
695 "'No Access' indicates that execute access is not allowed. "
696 "'Execute' indicates that execute access is implicitly "
697 "granted to all clients. Any other execution privileges must "
698 "be granted or denied explicitly using the vendor's "
699 "authorization mechanism or by using the CIM_Privilege "
700 "model. The resulting access privileges will be surfaced "
701 "using the CIM_Privilege model."),
702 ValueMap { "0", "2", "3", "..", "0x8000.." },
703 Values { "Unknown", "No Access", "Execute", "DMTF Reserved",
704 "Vendor Defined" }, Read]
705 uint16 DefaultExecute = 0;
706
707 [Description (
708 "An enumerated value that specifies whether this share can "
709 "support executable objects in any way. For instance, can "
710 "this share be used as a paging file by a client. \n"
711 "'Not Supported' indicates that no special support for "
712 "executable objects is provided. 'Execution Supported' "
713 "indicates that execution is supported, though this does not "
714 "specify the kind of support. A vendor can extend this to "
715 karl 1.1 "indicate specific support mechanisms that may be provided."),
716 ValueMap { "0", "2", "3", "..", "0x8000.." },
717 Values { "Unknown", "Not Supported", "Execution Supported",
718 "DMTF Reserved", "Vendor Defined" }, Read]
719 uint16 ExecuteSupport = 0;
720
721 [Description (
722 "An enumerated integer that indicates whether the FileShare "
723 "will use a default user id to control access to the share "
724 "if the id of the importing client is not provided. 'No "
725 "Default User Id' indicates that a default user should not "
726 "be used. 'System-Specified Default User Id' indicates that "
727 "only system-specified id should be used. 'Share-Specified "
728 "Default Used Id' indicates that the default user id will be "
729 "specified by the method that created or modified the share. "
730 "If a default user id is supported, all the default access "
731 "privileges will provided through that user as proxy. The "
732 "resulting access privileges will be surfaced using the "
733 "CIM_Privilege model."),
734 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
735 Values { "Unknown", "No Default User Id",
736 karl 1.1 "System-Specified Default User Id",
737 "Share-Specified Default User Id", "DMTF Reserved",
738 "Vendor Defined" }, Read]
739 uint16 DefaultUserIdSupported = 0;
740
741 [Description (
742 "An enumerated value that specifies whether the Share "
743 "supports default access by privileged, system "
744 "administrator- level ('root') users from specific hosts. "
745 "These default privileges can always be overridden by "
746 "privileges explicitly defined by a supported authorization "
747 "mechanism(s). \n"
748 "'No Root Access' indicates that the Share will deny root "
749 "access to all clients. 'Allow Root Access' indicates that "
750 "the Share will allow root access as specified by the "
751 "RootAccessHosts parameter when the FileShare was created. "
752 "The actual access allowed will be mediated by the "
753 "authorization mechanism supported by the device and "
754 "provider. \n"
755 "Any other root-access privileges must be granted or denied "
756 "explicitly using the vendor's authorization mechanism or by "
757 karl 1.1 "using the CIM-specified privilege model. The resulting "
758 "access privileges will be surfaced using the CIM_Privilege "
759 "model."),
760 ValueMap { "0", "2", "3", "..", "0x8000.." },
761 Values { "Unknown", "No Root Access", "Allow Root Access",
762 "DMTF Reserved", "Vendor Defined" }, Read,
763 ModelCorrespondence {
764 "CIM_FileExportService.CreateExportedShare.RootAccessHosts",
765 "CIM_FileExportService.ModifyExportedShare.RootAccessHosts" }]
766 uint16 RootAccess = 0;
767
768 [Description (
769 "An enumerated value that specifies the default policy "
770 "followed by the Share for how to handle writes to the "
771 "Share. \n"
772 "'Synchronous' indicates that the Share will perform "
773 "synchronous writes. 'Asynchronous' indicates that the Share "
774 "may perform asynchronous writes. (The WritePolicy settings "
775 "may be overridden in the future with use of the Policy "
776 "model.)"),
777 ValueMap { "0", "2", "3", "..", "0x8000.." },
778 karl 1.1 Values { "Unknown", "Synchronous", "Asynchronous",
779 "DMTF Reserved", "Vendor Defined" }, Read]
780 uint16 WritePolicy = 0;
781
782 [Description (
783 "An enumerated value that specifies the service access "
784 "points that are available to this FileShare by default for "
785 "use by clients to connect. These default access points can "
786 "always be overridden by the privileges explicitly defined "
787 "by a supported authorization mechanism(s). \n"
788 "Any ServiceAccessPoints that actually connect to this share "
789 "will be associated to it by CIM_SAPAvailableForElement. The "
790 "resulting access privileges will be surfaced using the "
791 "CIM_Privilege model. \n"
792 "'None' implies that no SAPs will have access by default. \n"
793 "'Service Default' indicates that any SAPs specified as the "
794 "default port by the Service will have default access - this "
795 "could be vendor-specific. \n"
796 "'All' indicates that all SAPs supported by the service will "
797 "have access by default. \n"
798 "'Named Points' indicates that the Service Access Points "
799 karl 1.1 "that have default access may be specified as a parameter "
800 "when this share was created or modified. These ports or "
801 "endpoints will be given the necessary privileges to access "
802 "this share."),
803 ValueMap { "0", "2", "3", "4", "5", "..", "0x8000.." },
804 Values { "Unknown", "None", "Service Default", "All",
805 "Named Points", "DMTF Reserved", "Vendor Defined" }, Read]
806 uint16 AccessPoints = 2;
807
808 };
809
810 // =====================================================================
811 // ExportedFileShareCapabilities
812 // =====================================================================
813 [Experimental, Version ( "2.8.1000" ), Description (
814 "ExportedFileShareCapabilities specifies the combination of "
815 "properties that a FileExportService can support when creating "
816 "or maintaining FileShares. Each supported combination of "
817 "properties is specified by a ExportedFileShareSetting that is "
818 "associated with the ExportedFileShareCapabilities element via "
819 "SettingAssociatedToCapabilities. \n"
820 karl 1.1 "An ExportedFileShareCapabilities element specifies the "
821 "properties supported when using it. A CreateGoal method is "
822 "provided that creates an ExportedFileShareSetting element to "
823 "be used as a goal when creating or modifying a file share.")]
824 class CIM_ExportedFileShareCapabilities : CIM_Capabilities {
825
826 [Description (
827 "An enumerated integer indicating the filesharing protocol "
828 "that this share can support. All settings associated with "
829 "this Capabilities must have the same value for the "
830 "FileSharingProtocol property. This property must exist and "
831 "have a value."),
832 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
833 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
834 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
835 ModelCorrespondence {
836 "CIM_ImportedFileShareSetting.FileSharingProtocol",
837 "CIM_ExportedFileShareSetting.FileSharingProtocol",
838 "CIM_ExportedFileShareCapabilities.ProtocolVersions" }]
839 uint16 FileSharingProtocol;
840
841 karl 1.1 [Description (
842 "An array of strings listing the versions of the file "
843 "sharing protocol that can be supported via these "
844 "capabilities. All settings associated with this "
845 "Capabilities must have a non-empty subset of these values "
846 "in the corresponding ProtocolVersions property."),
847 Read,
848 ModelCorrespondence {
849 "CIM_ExportedFileShareSetting.ProtocolVersions",
850 "CIM_ImportedFileShareSetting.ProtocolVersions",
851 "CIM_ExportedFileShareCapabilities.FileSharingProtocol" }]
852 string ProtocolVersions[];
853
854 [Description (
855 "An array of property names of the Setting that this "
856 "Capabilities element supports."),
857 ValueMap { "2", "3", "4", "5", "6", "7", "8", "..", "0x8000.." },
858 Values { "DefaultReadWrite", "DefaultExecute", "DefaultUserId",
859 "RootAccess", "WritePolicy", "AccessPoints",
860 "InitialEnabledState", "DMTF Reserved", "Vendor Defined" },
861 Read]
862 karl 1.1 uint16 SupportedProperties[];
863
864 [Description (
865 "Start a job to create an ExportedFileShareSetting from an "
866 "ExportedFileShareSetting provided by the caller. If the "
867 "operation completes successfully and did not require a "
868 "long-running ConcreteJob, it will return 0. If 4096/0x1000 "
869 "is returned, a ConcreteJob will be started to create the "
870 "element. A Reference to the ConcreteJob will be returned in "
871 "the output parameter Job. \n"
872 "This method MAY return a CIM_Error representing that a "
873 "single named property of a setting (or other) parameter "
874 "(either reference or embedded object) has an invalid value "
875 "or that an invalid combination of named properties of a "
876 "setting (or other) parameter (either reference or embedded "
877 "object) has been requested. \n"
878 "If the input TemplateGoal is NULL or the empty string, this "
879 "method returns a default ExportedFileShareSetting that is "
880 "supported by this ExportedFileShareCapabilities. \n"
881 "The output is returned as the SupportedGoal parameter. Both "
882 "TemplateGoal and SupportedGoal are embedded objects and do "
883 karl 1.1 "not exist in the provider but are maintained by the client. "
884 "\nIf the TemplateGoal specifies values that cannot be "
885 "supported, this method must return an appropriate error and "
886 "should return a best match for a SupportedGoal."),
887 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
888 "4097..32767", "32768..65535" },
889 Values { "Job Completed with No Error", "Not Supported",
890 "Unknown", "Timeout", "Failed", "Invalid Parameter",
891 "Template Goal cannot be matched.", "DMTF Reserved",
892 "Method Parameters Checked - Job Started", "Method Reserved",
893 "Vendor Specific" }]
894 uint16 CreateGoal(
895 [IN ( false ), OUT, Description (
896 "Reference to the job (may be null if job completed).")]
897 CIM_ConcreteJob REF Job,
898 [IN, Description (
899 "This is an element of the CIM_ExportedFileShareSetting "
900 "class, or a derived class, encoded as a string-valued "
901 "embedded object parameter. It specifies the goal element "
902 "to be used for matching."),
903 EmbeddedInstance ( "CIM_ExportedFileShareSetting" )]
904 karl 1.1 string TemplateGoal,
905 [IN ( false ), OUT, Description (
906 "This is an element of the CIM_ExportedFileShareSetting "
907 "class, or a derived class, encoded as a string-valued "
908 "embedded object parameter. It specifies the element that "
909 "is returned as the best supported match to the "
910 "TemplateGoal."),
911 EmbeddedInstance ( "CIM_ExportedFileShareSetting" )]
912 string SupportedGoal);
913 };
914
915 // ===================================================================
916 // FileImportService
917 // ===================================================================
918 [Experimental, Version ( "2.8.1000" ), Description (
919 "Provides configuration support for importing and hosting "
920 "FileShares exported from other ComputerSystems. "
921 "FileImportService is the base class managing the client-side "
922 "application in a client-server-based shared file system. A "
923 "FileImportService is hosted by a ComputerSystem and supports "
924 "'mounting' (binding to a name in a local namespace) a "
925 karl 1.1 "FileSystem element or a FileShare element exported by a remote "
926 "ComputerSystem host. Specifically this local name will be a "
927 "LogicalFile sub-element of a FileSystem hosted by the local "
928 "ComputerSystem. The relationship between the mount-point and "
929 "the Share is represented by a CIM_ImportedShare association. \n"
930 "The FileSystem required here only needs to support a namespace "
931 "for a LogicalFile (it need not support the full complexity of "
932 "a LocalFileSystem, for instance, real storage). The namespace "
933 "could be constructed using any provider-specific algorithm - "
934 "if it is based on LocalFileSystem, it would be configured by a "
935 "FileSystemConfigurationService, hosted by the same "
936 "ComputerSystem, on a StorageExtent, also hosted by that "
937 "ComputerSystem. \n"
938 "The remote Share is identified by a durable Id - this is a "
939 "string that represents a path that uniquely identifies the "
940 "remote Share.")]
941 class CIM_FileImportService : CIM_Service {
942 [Description (
943 "Start a Job to import a share exported by a remote host. \n"
944 "If 0 is returned, the method completed successfully and no "
945 "ConcreteJob instance was required. If 0x1000 is returned, a "
946 karl 1.1 "ConcreteJob will be started to import the Share. The Job's "
947 "Reference will be returned in the OUT parameter Job. \n"
948 "If the method is successful, a CIM_FileShare will be "
949 "created, hosted (via CIM_HostedShare) by the ComputerSystem "
950 "host of this service. A reference to the FileShare will be "
951 "returned in TheShare. The created FileShare will be mounted "
952 "on a local mount-point (possibly a file/directory of a "
953 "local file system) with the CIM_ImportedShare association. "
954 "\nThis method MUST return a CIM_Error representing that a "
955 "single named property of a setting (or other) parameter "
956 "(either reference or embedded object) has an invalid value "
957 "or that an invalid combination of named properties of a "
958 "setting (or other) parameter (either reference or embedded "
959 "object) has been requested. \n"
960 "The remote Share is specified by the IN parameter "
961 "TheRemote, which can be either a CIM_FileShare or a "
962 "CIM_FileSystem and therefore is typed as a "
963 "CIM_EnabledLogicalElement. \n"
964 "Goal is a CIM_ImportedFileShareSetting element encoded as a "
965 "string-valued EmbeddedInstance; this allows the client to "
966 "specify the properties desired for the share. \n"
967 karl 1.1 "The associated CIM_HostedShare.RemoteWWN property will hold "
968 "the name of TheRemote file share."),
969 ValueMap { "0", "1", "2", "3", "4", "5", "6", "...", "0x1000",
970 "0x1001..0x7FFF", "0x8000.." },
971 Values { "Job Completed with No Error", "Not Supported",
972 "Unknown", "Timeout", "Failed", "Invalid Parameter",
973 "Mount-point already in use, Failed", "DMTF Reserved",
974 "Method Parameters Checked - Job Started", "Method Reserved",
975 "Vendor Specific" }]
976 uint16 CreateImportedShare (
977 [IN ( false ), OUT, Description (
978 "Reference to the job (may be null if job completed).")]
979 CIM_ConcreteJob REF Job,
980 [IN, Description (
981 "A reference to the remote FileShare or FileSystem that "
982 "is to be imported.")]
983 CIM_EnabledLogicalElement REF TheRemote,
984 [IN, Description (
985 "A reference indicating an element whose sub-element is "
986 "the mount-point. The class that Root references must be "
987 "a FileSystem, or a FileShare that has an ImportedShare "
988 karl 1.1 "association (or a derived class of ImportedShare) to a "
989 "LogicalFile (or Directory), or a LogicalFile (or "
990 "Directory) that has a AttachedElement association to a "
991 "FileShare or FileSystem. \n"
992 "If Root is NULL, it indicates the root of the "
993 "FileImportService host's default local FileSystem, that "
994 "is used as the default local name space. It is a "
995 "requirement that the host of the FileImportService must "
996 "be the host for the newly created FileShare, as well as "
997 "the host for the FileSystem or FileShare indicated by "
998 "Root.")]
999 CIM_LogicalElement REF Root,
1000 [IN, Description (
1001 "A string representing a path to the mount-point attached "
1002 "to the share from the element indicated by Root. \n"
1003 "If MountPointPath is NULL or the empty string, it "
1004 "indicates the FileSystem element indicated by Root. It "
1005 "is an error if the element indicated by MountPointPath "
1006 "is already in use as a mount-point (has a "
1007 "CIM_ImportedShare association). If both Root and "
1008 "MountPointPath are NULL, it would be considered an "
1009 karl 1.1 "attempt to reuse a mount-point and would also return an "
1010 "error.")]
1011 string MountPointPath,
1012 [IN, Description (
1013 "The client-specified requirements for how the specified "
1014 "FileShare element is to be shared or imported by the "
1015 "FileImportService. This is an element of the "
1016 "CIM_ImportedFileShareSetting class, or a derived class, "
1017 "encoded as a string-valued embedded object parameter. If "
1018 "NULL or the empty string, the default configuration will "
1019 "be specified by the FileImportService."),
1020 EmbeddedInstance ( "CIM_ImportedFileShareSetting" )]
1021 string Goal,
1022 [OUT, Description (
1023 "This specifies the FileShare element (or its derived "
1024 "class) that is created by the method, if successful.")]
1025 CIM_FileShare REF TheShare,
1026 [IN, Description (
1027 "An array of references to RemotePorts that this Share "
1028 "may use to connect to the remote Share, if the "
1029 "CIM_ImportedFileShareSettings.AccessPoints property is "
1030 karl 1.1 "set to 'Named Ports'. \n"
1031 "The array will be processed in index order. If the array "
1032 "is NULL, or an entry in the array is NULL, all access "
1033 "points supported by the remote share will be surfaced as "
1034 "RemotePorts and made available. If the array is empty, "
1035 "no access points will be made available. All the "
1036 "RemotePorts will be associated with the created "
1037 "FileShare via the SAPAvailableForElement association."),
1038 ArrayType ( "Indexed" ),
1039 ModelCorrespondence {
1040 "CIM_ImportedFileShareSetting.AccessPoints" }]
1041 CIM_RemotePort REF AccessPointPorts[]);
1042
1043 [Description (
1044 "Start a Job to modify an imported share. \n"
1045 "If 0 is returned, the method completed successfully and no "
1046 "ConcreteJob instance was required. If 0x1000 is returned, a "
1047 "ConcreteJob will be started to modify the Share. The Job's "
1048 "Reference will be returned in the OUT parameter Job. \n"
1049 "If the Job succeeds, the FileShare will be modified and "
1050 "re-configured and ready to be enabled. A reference to the "
1051 karl 1.1 "FileShare will be returned in TheShare. The FileShare will "
1052 "have a HostedShare association to the host ComputerSystem, "
1053 "as before. \n"
1054 "This method MUST return a CIM_Error representing that a "
1055 "single named property of a setting (or other) parameter "
1056 "(either reference or embedded object) has an invalid value "
1057 "or that an invalid combination of named properties of a "
1058 "setting (or other) parameter (either reference or embedded "
1059 "object) has been requested. \n"
1060 "This method cannot be used to change the remotely shared "
1061 "entity or the mount point in the local namespace, but a "
1062 "provider may support changing the pathname to the "
1063 "mount-point by specifying Root and/or MountPointPath. The "
1064 "reference parameter Root indicates the FileSystem or "
1065 "FileShare whose element provides the mount-point, either "
1066 "directly, or indirectly by specifying a Directory element "
1067 "that is associated via MountedElement to the FileSystem or "
1068 "FileShare. The FileSystem or FileShare so indicated cannot "
1069 "be changed by this method. \n"
1070 "The parameter MountPointPath indicates the mount-point "
1071 "element within the file hierarchy by a path relative to the "
1072 karl 1.1 "Root. If the Root is a FileSystem, this path begins at the "
1073 "root directory of the FileSystem; if the Root is a "
1074 "FileShare, this path begins at the directory associated to "
1075 "the FileShare via MountedElement; if the Root is a "
1076 "Directory, this path begins at that Directory. If this path "
1077 "is modified, it must still indicate the same terminal "
1078 "element. \n"
1079 "Goal is a CIM_ImportedFileShareSetting element encoded as a "
1080 "string-valued embedded object parameter; this allows the "
1081 "client to specify the properties desired for the share. \n"
1082 "If the method is successful, it will return a reference to "
1083 "the same CIM_FileShare in the INOUT parameter TheShare. The "
1084 "settings for the FileShare and the ServiceAccessPoint "
1085 "associations may change, but the HostedShare and "
1086 "ServiceAffectsElement associations to the share must not be "
1087 "changed by this method. \n"
1088 "The input TheShare must not be NULL."),
1089 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1090 "10", "..", "0x1000", "0x1001..0x7FFF", "0x8000.." },
1091 Values { "Job Completed with No Error", "Not Supported",
1092 "Unknown", "Timeout", "Failed", "Invalid Parameter",
1093 karl 1.1 "FileImportService Not Accessible", "Root is not accessible",
1094 "Base Directory element of Root is Not Accessible",
1095 "Path does not specify a mount point element",
1096 "Share in use, cannot be Modify, Failed", "DMTF Reserved",
1097 "Method Parameters Checked - Job Started", "Method Reserved",
1098 "Vendor Specific" }]
1099 uint16 ModifyImportedShare (
1100 [IN ( false ), OUT, Description (
1101 "Reference to the job (may be null if job completed).")]
1102 CIM_ConcreteJob REF Job,
1103 [IN, Description (
1104 "A reference indicating an element whose sub-element is "
1105 "the mount point. The class that Root references must be "
1106 "a FileSystem, a FileShare that has an ImportedShare "
1107 "association (or a derived class of ImportedShare) to a "
1108 "LogicalFile (or Directory), or a LogicalFile (or "
1109 "Directory) that has a MountedElement association to a "
1110 "FileShare or FileSystem. If the FileShare being modified "
1111 "is currently exported or imported, this parameter should "
1112 "indicate the same Root FileSystem or FileShare element. "
1113 "\nIf Root is NULL, it indicates no change to the current "
1114 karl 1.1 "root.")]
1115 CIM_LogicalElement REF Root,
1116 [IN, Description (
1117 "A string representing a path to the mount point from the "
1118 "element indicated by Root. If the FileShare being "
1119 "modified is currently exported or imported, this "
1120 "parameter should specify the same mount point element, "
1121 "even if via a different path. \n"
1122 "If MountPointPath is NULL, it indicates no change to the "
1123 "current path. If MountPointPath is the empty string, it "
1124 "indicates the FileSystem element indicated by Root.")]
1125 string MountPointPath,
1126 [IN, Description (
1127 "The client-specified requirements for how the import "
1128 "settings for the specified FileShare element are to be "
1129 "modifed by the FileImportService. This operation cannot "
1130 "be performed on a FileShare that not already imported "
1131 "(implying that it is currently only exported). Goal is "
1132 "an element of the CIM_ImportedFileShareSetting class, or "
1133 "a derived class, encoded as a string-valued embedded "
1134 "object parameter. If NULL or the empty string, the "
1135 karl 1.1 "existing configuration must include an "
1136 "ImportedFileShareSetting which may be unchanged. Any "
1137 "differences in property values will be resolved by the "
1138 "FileImportService and CIM_Errors generated if "
1139 "appropriate."),
1140 EmbeddedInstance ( "CIM_ImportedFileShareSetting" )]
1141 string Goal,
1142 [IN, OUT, Description (
1143 "TheShare indicates the FileShare element that is to be "
1144 "modified and must be an existing imported FileShare.")]
1145 CIM_FileShare REF TheShare,
1146 [IN, Description (
1147 "An enumerated integer that specifies the action that the "
1148 "provider should take if the FileShare is still in use "
1149 "when this request is made. The WaitTime parameter "
1150 "indicates the 'specified time' used for this function. \n"
1151 "This option is only relevant if the FileShare must be "
1152 "made unavailable while the request is being executed."),
1153 ValueMap { "2", "3", "4", "..", "0x1000..0xFFFF" },
1154 Values { "Do Not Execute Request",
1155 "Wait for specified time, then Execute Request "
1156 karl 1.1 "Immediately",
1157 "Attempt Quiescence for specified time, "
1158 "then Execute Request Immediately", "DMTF Reserved",
1159 "Vendor Defined" }]
1160 uint16 InUseOptions,
1161 [IN, Description (
1162 "An integer that indicates the time (in seconds) that the "
1163 "provider must wait before executing this request if it "
1164 "cannot be made while the share is in use. If WaitTime is "
1165 "not zero, the method will create a job, if supported by "
1166 "the provider, and return immediately. If the provider "
1167 "does not support asynchronous jobs, there is a "
1168 "possibility that the client could time-out before the "
1169 "job is completed. \n"
1170 "The combination of InUseOptions = '4' and WaitTime ='0' "
1171 "(the default) is interpreted as 'Wait (forever) until "
1172 "Quiescence, then Execute Request' and will be performed "
1173 "asynchronously if possible."),
1174 Units ( "seconds" )]
1175 uint32 WaitTime,
1176 [IN, Description (
1177 karl 1.1 "An array of references to RemotePorts that this Share "
1178 "may use to connect to the remote Share, if the "
1179 "CIM_ImportedFileShareSettings.AccessPoints property is "
1180 "set to 'Named Ports'. \n"
1181 "The array will be processed in index order and added to "
1182 "the existing set of RemotePorts. If the array is NULL, "
1183 "the existing set will not be changed. If an entry in the "
1184 "array is NULL, all access points supported by the remote "
1185 "share will be surfaced as RemotePorts and made "
1186 "available. If the array is empty, no access points will "
1187 "be made available, and existing access points will be "
1188 "disabled. All the RemotePorts will be associated with "
1189 "the created FileShare via the SAPAvailableForElement "
1190 "association."),
1191 ArrayType ( "Indexed" ),
1192 ModelCorrespondence {
1193 "CIM_ImportedFileShareSetting.AccessPoints" }]
1194 CIM_RemotePort REF AccessPointPorts[]);
1195
1196 [Description (
1197 "Start a Job to release an imported FileShare. \n"
1198 karl 1.1 "If 0 is returned, the method completed successfully and no "
1199 "ConcreteJob instance was required. If 0x1000 is returned, a "
1200 "ConcreteJob will be started to release the Share. The Job's "
1201 "reference will be returned in the OUT parameter Job. \n"
1202 "If the method is successful, the FileShare element will not "
1203 "be imported anymore. This method cannot be called if the "
1204 "FileShare element is also being exported - the "
1205 "FileExportService.ReleaseExportedShare method must be "
1206 "called first. \n"
1207 "If InUseOptions are specified, this method will succeed "
1208 "only if no more clients are accessing the share."),
1209 ValueMap { "0", "1", "2", "3", "4", "5", "10", "..", "0x1000",
1210 "0x1001..0x7FFF", "0x8000.." },
1211 Values { "Job Completed with No Error", "Not Supported",
1212 "Unknown", "Timeout", "Failed", "Invalid Parameter",
1213 "Share in use, Failed", "DMTF Reserved",
1214 "Method Parameters Checked - Job Started", "Method Reserved",
1215 "Vendor Specific" }]
1216 uint32 ReleaseImportedShare(
1217 [IN ( false ), OUT, Description (
1218 "Reference to the job (may be null if job completed).")]
1219 karl 1.1 CIM_ConcreteJob REF Job,
1220 [IN, Description (
1221 "The imported FileShare to be released.")]
1222 CIM_FileShare REF TheShare,
1223 [IN, Description (
1224 "An enumerated integer that specifies the action that the "
1225 "provider should take if the FileShare is still in use "
1226 "when this request is made. The WaitTime parameter "
1227 "indicates the 'specified time' used for this function."),
1228 ValueMap { "2", "3", "4", "..", "0x1000..0xFFFF" },
1229 Values { "Do Not Release",
1230 "Wait for specified time, then Release Immediately",
1231 "Attempt Quiescence for specified time, "
1232 "then Release Immediately", "DMTF Reserved",
1233 "Vendor Defined" }]
1234 uint16 InUseOptions,
1235 [IN, Description (
1236 "An integer that indicates the time (in seconds) that the "
1237 "provider must wait before releasing this FileShare. If "
1238 "WaitTime is not zero, the method will create a job, if "
1239 "supported by the provider, and return immediately. If "
1240 karl 1.1 "the provider does not support asynchronous jobs, there "
1241 "is a possibility that the client could time-out before "
1242 "the job is completed. \n"
1243 "The combination of InUseOptions = '4' and WaitTime ='0' "
1244 "(the default) is interpreted as 'Wait (forever) until "
1245 "Quiescence, then Release' and will be performed "
1246 "asynchronously if possible."),
1247 Units ( "seconds" )]
1248 uint32 WaitTime);
1249 };
1250
1251 // ===================================================================
1252 // FileImportCapabilities
1253 // ===================================================================
1254 [Experimental, Version ( "2.8.1000" ), Description (
1255 "FileImportCapabilities specifies the capability of a "
1256 "FileImportService to support the specified methods.")]
1257 class CIM_FileImportCapabilities : CIM_Capabilities {
1258
1259 [Description (
1260 "An array of enumerated integers indicating the filesharing "
1261 karl 1.1 "protocols that this service can support. Duplicate entries "
1262 "are permitted because they may be associated with different "
1263 "versions in the corresponding ProtocolVersions property. "
1264 "For each file sharing protocol supported, there will be at "
1265 "least one FileImportCapabilities element."),
1266 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
1267 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
1268 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
1269 ArrayType ( "Indexed" ),
1270 ModelCorrespondence {
1271 "CIM_ImportedFileShareSetting.FileSharingProtocol",
1272 "CIM_FileExportCapabilities.FileSharingProtocol",
1273 "CIM_FileImportCapabilities.ProtocolVersions" }]
1274 uint16 FileSharingProtocol[];
1275
1276 [Description (
1277 "An array of strings listing the versions of the file "
1278 "sharing protocol in the corresponding FileSharingProtocol "
1279 "property that can be supported by this FileImportService."),
1280 Read, ArrayType ( "Indexed" ),
1281 ModelCorrespondence {
1282 karl 1.1 "CIM_ImportedFileShareSetting.ProtocolVersions",
1283 "CIM_FileExportCapabilities.ProtocolVersions",
1284 "CIM_FileImportCapabilities.FileSharingProtocol" }]
1285 string ProtocolVersions[];
1286
1287 [Description (
1288 "An array of methods of this Service that are supported as "
1289 "synchronous methods."),
1290 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
1291 Values { "CreateImportedShare", "ModifyImportedShare",
1292 "ReleaseImportedShare", "CreateGoal", "DMTF Reserved",
1293 "Vendor Defined" }, Read]
1294 uint16 SupportedSynchronousMethods[];
1295
1296 [Description (
1297 "An array of methods of this Service that are supported as "
1298 "asynchronous methods."),
1299 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
1300 Values { "CreateImportedShare", "ModifyImportedShare",
1301 "ReleaseImportedShare", "CreateGoal", "DMTF Reserved",
1302 "Vendor Defined" }, Read]
1303 karl 1.1 uint16 SupportedAsynchronousMethods[];
1304
1305 [Description (
1306 "An enumerated value that indicates the enabled/disabled "
1307 "states to which the Service can initialize the created file "
1308 "share. Unlike FileShare.EnabledState it cannot indicate "
1309 "transitions between requested states because those states "
1310 "cannot be requested. The following text briefly summarizes "
1311 "the various enabled/disabled initial states: \n"
1312 "Enabled (2) indicates that the element will execute "
1313 "commands, will process any queued commands, and will queue "
1314 "new requests. \n"
1315 "Disabled (3) indicates that the element will not execute "
1316 "commands and will drop any new requests. \n"
1317 "In Test (7) indicates that the element will be in a test "
1318 "state. \n"
1319 "Deferred (8) indicates that the element will not process "
1320 "any commands but will queue new requests. \n"
1321 "Quiesce (9) indicates that the element is enabled but in a "
1322 "restricted mode. The element's behavior is similar to the "
1323 "Enabled state, but it only processes a restricted set of "
1324 karl 1.1 "commands. All other requests are queued."),
1325 ValueMap { "0", "2", "3", "7", "8", "9", "..", "0x8000.." },
1326 Values { "Unknown", "Enabled", "Disabled", "In Test",
1327 "Deferred", "Quiesce", "DMTF Reserved", "Vendor Defined" },
1328 Read]
1329 uint16 InitialEnabledState = 2;
1330 };
1331
1332 // ===================================================================
1333 // ImportedFileShareSetting
1334 // ===================================================================
1335 [Experimental, Version ( "2.8.1000" ), Description (
1336 "The ImportedFileShareSetting describes the attribute values "
1337 "that were set when a FileShare was created for a LogicalFile "
1338 "by a FileImportService. These settings are associated with the "
1339 "created Share via the ElementSettingData association. These "
1340 "settings can also be associated with an "
1341 "ImportedFileShareCapabilities element via "
1342 "SettingAssociatedToCapabilities. If the setting is associated "
1343 "with a FileShare, it cannot have undefined or NULL properties. "
1344 "If it is associated with an ImportedFileShareCapabilities, a "
1345 karl 1.1 "null property indicates that the property is not supported or "
1346 "that the value is a vendor-specific context-dependent default "
1347 "that may not be set.")]
1348 class CIM_ImportedFileShareSetting : CIM_SettingData {
1349
1350 [Description (
1351 "An enumerated integer indicating the share protocol that "
1352 "this share can support. This property must exist and have a "
1353 "value. The version of the protocol must be specified in the "
1354 "corresponding ProtocolVersions property."),
1355 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
1356 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
1357 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
1358 ModelCorrespondence {
1359 "CIM_ImportedFileShareCapabilities.FileSharingProtocol",
1360 "CIM_ExportedFileShareSetting.FileSharingProtocol",
1361 "CIM_ImportedFileShareSetting.ProtocolVersions" }]
1362 uint16 FileSharingProtocol;
1363
1364 [Description (
1365 "An array of strings listing the versions of the file "
1366 karl 1.1 "sharing protocol that this share can support. This property "
1367 "must exist and have at least one entry."),
1368 Read,
1369 ModelCorrespondence {
1370 "CIM_ImportedFileShareCapabilities.ProtocolVersions",
1371 "CIM_ExportedFileShareSetting.ProtocolVersions",
1372 "CIM_ImportedFileShareSetting.FileSharingProtocol" }]
1373 string ProtocolVersions[];
1374
1375 [Description (
1376 "InitialEnabledState is an integer enumeration that "
1377 "indicates the enabled/disabled states initially set for a "
1378 "file share element. Unlike FileShare.EnabledState it cannot "
1379 "indicate transitions between requested states because those "
1380 "states cannot be requested. The following text briefly "
1381 "summarizes the various enabled/disabled initial states: \n"
1382 "Enabled (2) indicates that the element will execute "
1383 "commands, will process any queued commands, and will queue "
1384 "new requests. \n"
1385 "Disabled (3) indicates that the element will not execute "
1386 "commands and will drop any new requests. \n"
1387 karl 1.1 "In Test (7) indicates that the element will be in a test "
1388 "state. \n"
1389 "Deferred (8) indicates that the element will not process "
1390 "any commands but will queue new requests. \n"
1391 "Quiesce (9) indicates that the element is enabled but in a "
1392 "restricted mode. The element's behavior is similar to the "
1393 "Enabled state, but it only processes a restricted set of "
1394 "commands. All other requests are queued."),
1395 ValueMap { "0", "1", "2", "3", "7", "8", "9", "11..32767",
1396 "32768..65535" },
1397 Values { "Unknown", "Other", "Enabled", "Disabled", "In Test",
1398 "Deferred", "Quiesce", "DMTF Reserved", "Vendor Reserved" },
1399 ModelCorrespondence {
1400 "CIM_ImportedFileShareSetting.OtherEnabledState",
1401 "CIM_EnabledLogicalElement.EnabledState" }]
1402 uint16 InitialEnabledState = 8;
1403
1404 [Description (
1405 "A string describing the element's initial enabled/disabled "
1406 "state when the InitialEnabledState property is set to 1 "
1407 "(\"Other\"). This property MUST be set to NULL when "
1408 karl 1.1 "InitialEnabledState is any value other than 1."),
1409 ModelCorrespondence {
1410 "CIM_ImportedFileShareSetting.InitialEnabledState",
1411 "CIM_FileShare.OtherEnabledState" }]
1412 string OtherEnabledState;
1413
1414 [Description (
1415 "An enumerated value representing the policy that is "
1416 "supported by the FileImportService on the FileShare. The "
1417 "value specifies whether/how the FileImportService should "
1418 "retry a request that either failed or left the system "
1419 "hanging. If the request is being performed in the "
1420 "foreground, the options are to try once and fail if a "
1421 "timeout happens, or, to try repeatedly. If the request can "
1422 "be performed in the background, the returned Job will try "
1423 "repeatedly until stopped."),
1424 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
1425 Values { "Unknown", "Try Once", "Try Again",
1426 "Try in Background", "DMTF Reserved", "Vendor Defined" },
1427 Read,
1428 ModelCorrespondence {
1429 karl 1.1 "CIM_ImportedFileShareSetting.TransmissionRetriesMax",
1430 "CIM_ImportedFileShareSetting.RetransmissionTimeoutMin" }]
1431 uint16 RequestRetryPolicy = 0;
1432
1433 [Description (
1434 "An integer specifying the maximum number of retransmission "
1435 "attempts to be made when the transmission of a request "
1436 "fails or makes the system hang. A value of '0' specifies an "
1437 "implementation-specific default."),
1438 Read,
1439 ModelCorrespondence {
1440 "CIM_ImportedFileShareSetting.RequestRetryPolicy",
1441 "CIM_ImportedFileShareSetting.RetransmissionTimeoutMin" }]
1442 uint32 TransmissionRetriesMax = 0;
1443
1444 [Description (
1445 "An integer specifying the minimum number of milliseconds "
1446 "that the provider must wait before assuming that a "
1447 "transmission has failed. '0' indicates an "
1448 "implementation-specific default."),
1449 Read,
1450 karl 1.1 ModelCorrespondence {
1451 "CIM_ImportedFileShareSetting.TransmissionRetriesMax",
1452 "CIM_ImportedFileShareSetting.RequestRetryPolicy" }]
1453 uint32 RetransmissionTimeoutMin = 0;
1454
1455 [Description (
1456 "An enumerated value that specifies if the import operation "
1457 "should be attempted one or more times in the foreground or "
1458 "tried repeatedly in the background until it succeeds. The "
1459 "number of attempts would be limited by the corresponding "
1460 "ImportRetriesMax property of the setting."),
1461 ValueMap { "0", "2", "3", "..", "0x8000.." },
1462 Values { "Unknown", "Foreground", "Background", "DMTF Reserved",
1463 "Vendor Defined" }, Read,
1464 ModelCorrespondence {
1465 "CIM_ImportedFileShareSetting.ImportRetriesMax" }]
1466 uint16 ImportFailurePolicy = 0;
1467
1468 [Description (
1469 "An integer specifying the maximum number of attempts that "
1470 "should be made to import an FileShare using this element as "
1471 karl 1.1 "the proxy. A value of '0' specifies an "
1472 "implementation-specific default."),
1473 Read,
1474 ModelCorrespondence {
1475 "CIM_ImportedFileShareSetting.ImportFailurePolicy" }]
1476 uint32 ImportRetriesMax = 0;
1477
1478 [Description (
1479 "An integer specifying the minimum number of bytes that must "
1480 "be allocated to each buffer used for reading. A value of "
1481 "'0' specifies an implementation-specific default."),
1482 Read,
1483 ModelCorrespondence {
1484 "CIM_ImportedFileShareSetting.ReadBufferSizeMax" }]
1485 uint32 ReadBufferSizeMin = 0;
1486
1487 [Description (
1488 "An integer specifying the maximum number of bytes that may "
1489 "be allocated to each buffer used for reading. A value of "
1490 "'0' specifies an implementation-specific default."),
1491 Read,
1492 karl 1.1 ModelCorrespondence {
1493 "CIM_ImportedFileShareSetting.ReadBufferSizeMin" }]
1494 uint32 ReadBufferSizeMax = 0;
1495
1496 [Description (
1497 "An integer specifying the minimum number of bytes that must "
1498 "be allocated to each buffer used for writing. A value of "
1499 "'0' specifies an implementation-specific default."),
1500 Read,
1501 ModelCorrespondence {
1502 "CIM_ImportedFileShareSetting.WriteBufferSizeMax" }]
1503 uint32 WriteBufferSizeMin = 0;
1504
1505 [Description (
1506 "An integer specifying the maximum number of bytes that may "
1507 "be allocated to each buffer used for writing. A value of "
1508 "'0' specifies an implementation-specific default."),
1509 Read,
1510 ModelCorrespondence {
1511 "CIM_ImportedFileShareSetting.WriteBufferSizeMin" }]
1512 uint32 WriteBufferSizeMax = 0;
1513 karl 1.1
1514 [Description (
1515 "An array of enumerated values that specify whether "
1516 "attribute caching is (or is not) supported for some object. "
1517 "The object class and the support parameters are specified "
1518 "in the corresponding AttributeCachingObjects, "
1519 "AttributeCachingTimeMin, and AttributeCachingTimeMax "
1520 "properties. \n"
1521 "FileShare object types that can be imported by this "
1522 "FileImportService are represented by an entry in these "
1523 "arrays. The entry in the AttributeCaching array can be "
1524 "'On', 'Off', or 'Unknown'. Implementation of this feature "
1525 "requires support from other system components, so it is "
1526 "quite possible that specifying 'On' may still not result in "
1527 "caching behavior. 'Unknown' indicates that the "
1528 "FileImportService will try to work with whatever options "
1529 "the host system can support. In all cases, "
1530 "AttributeCachingTimeMin and AttributeCachingTimeMax provide "
1531 "the minimum and maximum time for which the attributes can "
1532 "be cached. When this Setting is used as a Goal, the client "
1533 "may specify 'Unknown', but the Setting in the created "
1534 karl 1.1 "object should contain the supported setting, whether 'On' "
1535 "or 'Off'."),
1536 ValueMap { "0", "2", "3", "..", "0x8000.." },
1537 Values { "Unknown", "On", "Off", "DMTF Reserved",
1538 "Vendor Defined" }, Read, ArrayType ( "Indexed" ),
1539 ModelCorrespondence {
1540 "CIM_ImportedFileShareSetting.AttributeCachingObjects",
1541 "CIM_ImportedFileShareSetting.AttributeCachingTimeMin",
1542 "CIM_ImportedFileShareSetting.AttributeCachingTimeMax" }]
1543 uint16 AttributeCaching[] = { 0 };
1544
1545 [Description (
1546 "An array of enumerated values that specify the attribute "
1547 "caching support provided to various object classes. These "
1548 "classes represent types of shareable objects stored in a "
1549 "LocalFileSystem -- files and directories as well as others "
1550 "that may be defined in the future. The corresponding "
1551 "properties, AttributeCaching, AttributeCachingTimeMin, and "
1552 "provide AttributeCachingTimeMax the supported features for "
1553 "the type of object. 'None' and 'All' cannot both be "
1554 "specified; if either one is specified, it must be the first "
1555 karl 1.1 "entry in the array and the entry is interpreted as the "
1556 "default setting for all objects. If neither 'None' or 'All' "
1557 "are specified, the caching settings for other objects are "
1558 "defaulted by the implementation. If 'Rest' is specified, "
1559 "the entry applies to all known object types other than the "
1560 "named ones. If 'Unknown' is specified it applies to object "
1561 "types not known to this application (this can happen when "
1562 "foreign file systems are mounted."),
1563 ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." },
1564 Values { "Unknown", "None", "All", "Rest", "File", "Directory",
1565 "DMTF Reserved", "Vendor Defined" }, Read,
1566 ArrayType ( "Indexed" ),
1567 ModelCorrespondence {
1568 "CIM_ImportedFileShareSetting.AttributeCaching",
1569 "CIM_ImportedFileShareSetting.AttributeCachingTimeMin",
1570 "CIM_ImportedFileShareSetting.AttributeCachingTimeMax" }]
1571 uint16 AttributeCachingObjects[] = { 2 };
1572
1573 [Description (
1574 "An array of integers specifying, in milliseconds, the "
1575 "minimum time for which an object of the type specified by "
1576 karl 1.1 "the corresponding AttributeCaching property must be "
1577 "retained in the attribute cache. When used as a Goal, a "
1578 "value of '0' indicates an implementation-specific default."),
1579 Read, ArrayType ( "Indexed" ),
1580 ModelCorrespondence {
1581 "CIM_ImportedFileShareSetting.AttributeCaching" }]
1582 uint32 AttributeCachingTimeMin[]= { 0 };
1583
1584 [Description (
1585 "An array of integers specifying, in milliseconds, the "
1586 "maximum time for which an object of the type specified by "
1587 "the corresponding AttributeCaching property must be "
1588 "retained in the attribute cache. When used as a Goal, a "
1589 "value of '0' indicates an implementation-specific default."),
1590 Read, ArrayType ( "Indexed" ),
1591 ModelCorrespondence {
1592 "CIM_ImportedFileShareSetting.AttributeCaching" }]
1593 uint32 AttributeCachingTimeMax[] = { 0 };
1594
1595 [Description (
1596 "An enumerated value that specifies the Service Access "
1597 karl 1.1 "Points on the exporting system that may be used to access "
1598 "the remote Share. This does not specify either the actual "
1599 "availability of these ServiceAccessPoints or the right to "
1600 "use them.; rather, these are the points that the "
1601 "FileImportService will attempt to use.to access the share. "
1602 "\nIf this property is NULL or empty, it indicates that "
1603 "there will be no change to the current set of access "
1604 "points. 'Service-Default' indicates that it should include "
1605 "the default Service Access points of the remote "
1606 "FileExportService. 'All' indicates that it should include "
1607 "all the supported Service Access points of the remote "
1608 "FileExportService. 'None' indicates that the set of access "
1609 "points is to be reset to the empty set. 'Named Points' "
1610 "indicates that the Service Access Points that will be used "
1611 "may be specified as the AccessPoints parameter of the "
1612 "CreateImportedShare or ModifyImportedShare methods. As a "
1613 "Setting for a FileShare, this property cannot be undefined "
1614 "or NULL."),
1615 ValueMap { "0", "2", "3", "4", "5", "..", "0x8000.." },
1616 Values { "Unknown", "None", "Service Default", "All",
1617 "Named Points", "DMTF Reserved", "Vendor Defined" }, Read]
1618 karl 1.1 uint16 AccessPoints;
1619
1620 [Description (
1621 "An enumerated value that specifies the Read-Write policy "
1622 "set on the ImportedShare association and supported by the "
1623 "FileImportService servicing this FileShare. 'Read Only' "
1624 "specifies that the FileShare is set up solely for reading. "
1625 "'Read/Write' specifies that the FileShare is set up for "
1626 "'read' and 'write' operations. 'Force Read/Write' specifies "
1627 "that 'Read-Only' has been over-ridden by a client with "
1628 "write access to the FileShare. This option is intended for "
1629 "use when the associated FileShare has been made 'Read Only' "
1630 "by default, as might happen if it were created to be the "
1631 "target of a Synchronization or Mirror operation."),
1632 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
1633 Values { "Unknown", "Read Only", "Read/Write",
1634 "Force Read/Write", "DMTF Reserved", "Vendor Defined" }, Read]
1635 uint16 ReadWritePolicy;
1636
1637 [Description (
1638 "An array of enumerated values that specify the policies "
1639 karl 1.1 "that are supported via a newly created imported FileShare "
1640 "for CIFS-style opportunistic locks. 'No' specifies that "
1641 "CIFS-style oplocks are not supported, and is exclusive of "
1642 "the other options. 'Type 1 oplocks supported' specifies "
1643 "that CIFS-style Type 1 oplocks are supported. 'Type 2 "
1644 "oplocks supported' specifies that CIFS-style Type 2 oplocks "
1645 "are supported. If defaulted, this is 'No' if the "
1646 "FileSharingProtocol is NFS; this is 'Type 1 oplocks "
1647 "supported' if the FileSharingProtocol is CIFS. The defaults "
1648 "for other FileSharingProtocols are not currently specified. "
1649 "\nNo matter what is requested as a Goal: If the "
1650 "FileSharingProtocol is NFS, only 'No' will be supported "
1651 "(i.e., the same as the default). If the FileSharingProtocol "
1652 "is CIFS, 'No' cannot be selected; the supported default "
1653 "will be vendor-specified. \n"
1654 "The reference to CIFS-style locking here is not intended to "
1655 "indicate required support for CIFS, but as an abbreviation "
1656 "for the functionality specified by CIFS."),
1657 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
1658 Values { "Unknown", "No", "Type 1 oplocks supported",
1659 "Type 2 oplocks supported", "DMTF Reserved",
1660 karl 1.1 "Vendor Defined" }, Read, ArrayType ( "Indexed" )]
1661 uint16 CIFSLocksSupportPolicy[] = { 0 };
1662
1663 [Description (
1664 "An array of enumerated values that specify the CIFS-style "
1665 "notifications that will generated by the FileImportService "
1666 "for the newly created imported FileShare. 'No' specifies "
1667 "that no notifications will be made. 'Yes' specifies that a "
1668 "notification will be generated. This property is specified "
1669 "as an array, so that a vendor can specify supported "
1670 "notifications at a finer grain. No matter what is requested "
1671 "as a Goal: If the FileSharingProtocol is NFS, only 'No' "
1672 "will be supported. Other FileSharingProtocol values may "
1673 "impose different constraints."),
1674 ValueMap { "0", "2", "3", "..", "0x8000.." },
1675 Values { "Unknown", "No", "Yes", "DMTF Reserved",
1676 "Vendor Defined" }, Read, ArrayType ( "Indexed" )]
1677 uint16 CifsNotificationPolicy[] = { 0 };
1678
1679 [Description (
1680 "An array of enumerated values that specify the policies "
1681 karl 1.1 "that are supported by the FileImportService via the created "
1682 "FileShare for accessing elements of the target FileShare. "
1683 "'Unknown' is the default and specifies that the policy will "
1684 "come from the FileShare target (for a LogicalFile or other "
1685 "File element, this would be the FileSystem containing the "
1686 "element). 'CIFS' specifies that CIFS-style access policies "
1687 "are supported. 'NFS' specifies that NFS-style access "
1688 "policies are supported. 'Other' specifies "
1689 "vendor-implemented or proprietary mechanisms. Parameters "
1690 "for these mechanisms are specified in the corresponding "
1691 "OtherAccessPoliciesParameter. More than one policy can be "
1692 "specified, in which case all are supported. More than one "
1693 "'Other' policy entry can exist. As a Goal, more than one "
1694 "policy can be requested. The privileges established by this "
1695 "property would be surfaced by the provider using the "
1696 "CIM_Privilege model."),
1697 ValueMap { "0", "1", "2", "3", "..", "0x8000.." },
1698 Values { "Unknown", "Other", "CIFS", "NFS", "DMTF Reserved",
1699 "Vendor Defined" }, Read, ArrayType ( "Indexed" ),
1700 ModelCorrespondence {
1701 "CIM_ImportedFileShareSetting.OtherAccessPoliciesParameters"
1702 karl 1.1 }]
1703 uint16 AccessPolicies[] = { 0 };
1704
1705 [Description (
1706 "An array of strings that specify parameters to use with the "
1707 "corresponding AccessPolicies entry -- if that entry is set "
1708 "to 'Other', the entry here MUST not be null, but it could "
1709 "be null otherwise."),
1710 Read, ArrayType ( "Indexed" ),
1711 ModelCorrespondence {
1712 "CIM_ImportedFileShareSetting.AccessPolicies" }]
1713 string OtherAccessPoliciesParameters[] = { "" };
1714
1715 [Description (
1716 "An enumerated value that specifies the CIFS Locking that "
1717 "will be enforced on the target of the ImportedShare by the "
1718 "supporting FileImportService if the 'AccessPolicies' "
1719 "property array includes 'CIFS'. \n"
1720 "'Enforce None' does not enforce CIFS locks. 'Enforce Write' "
1721 "does not allow writes to CIFS-locked files. 'Enforce "
1722 "Read/Write' does not allow reads or writes to CIFS-locked "
1723 karl 1.1 "files."),
1724 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
1725 Values { "Unknown", "Enforce None", "Enforce Write",
1726 "Enforce Read/Write", "DMTF Reserved", "Vendor Defined" },
1727 Read]
1728 uint16 CifsLockPolicy = 0;
1729
1730 [Description (
1731 "An enumerated value that specifies the client's preferences "
1732 "for local caching support. This property might be an "
1733 "appropriate setting on the FileShare element."),
1734 ValueMap { "0", "2", "3", "4", "..", "0x8000.." },
1735 Values { "Unknown", "Asynchronized", "Synchronized",
1736 "Write-Through", "DMTF Reserved", "Vendor Defined" }, Read]
1737 uint16 CachingOptions = 0;
1738
1739 [Description (
1740 "An enumerated value that specifies if this FileShare should "
1741 "be enabled when the operational FileImportService is "
1742 "started. This property might be an appropriate setting for "
1743 "the FileShare element."),
1744 karl 1.1 ValueMap { "0", "1", "2", "..", "0x8000.." },
1745 Values { "Vendor-specific Default", "Automatic", "Manual",
1746 "DMTF Reserved", "Vendor Defined" }, Read]
1747 uint16 ImportOnServiceStart = 0;
1748
1749 [Description (
1750 "An instance of a CIM_Privilege, encoded as a string, that "
1751 "expresses the client's expectations about access to "
1752 "elements of the exported FileShare. The provider is "
1753 "expected to surface this access using the privilege model."),
1754 EmbeddedInstance ( "CIM_Privilege" ), Read]
1755 string ReadWritePref;
1756
1757 [Description (
1758 "An enumerated value that specifies if support should be "
1759 "provided on the local host for executing elements accessed "
1760 "through this FileShare. This may require setting up "
1761 "specialized paging or execution buffers either on the "
1762 "client or on the server side (as appropriate for the "
1763 "implementation). Note that this does not provide any rights "
1764 "to actually execute any element but only specifies support "
1765 karl 1.1 "for such execution, if permitted."),
1766 ValueMap { "0", "2", "3", "..", "0x8000.." },
1767 Values { "Unknown", "Execution Supported",
1768 "Execution Not Supported", "DMTF Reserved",
1769 "Vendor Defined" }, Read]
1770 uint16 ExecutePref = 0;
1771
1772 [Description (
1773 "An instance of a CIM_Privilege, encoded as a string, that "
1774 "expresses the client's expectations about privileged access "
1775 "by appropriately privileged System Administrative users on "
1776 "the local host ('root' or 'superuser') to the exported "
1777 "FileShare and its elements. The provider is expected to "
1778 "surface this access using the privilege model. \n"
1779 "Support for the privileged access might require setup at "
1780 "both the exported FileShare and imported FileShare hosts, "
1781 "so there is no guarantee that the request can be satisfied."),
1782 EmbeddedInstance ( "CIM_Privilege" ), Read]
1783 string RootAccessPref;
1784 };
1785
1786 karl 1.1 // =====================================================================
1787 // ImportedFileShareCapabilities
1788 // =====================================================================
1789
1790 [Experimental, Version ( "2.8.1000" ), Description (
1791 "ImportedFileShareCapabilities specifies the combination of "
1792 "properties that a FileImportService can support when creating "
1793 "or maintaining FileShares. Each supported combination of "
1794 "properties is specified by an ImportedFileShareSetting that is "
1795 "associated with the ImportedFileShareCapabilities element via "
1796 "SettingAssociatedToCapabilities. \n"
1797 "A ImportedFileShareCapabilities element specifies the "
1798 "properties supported when using it. \n"
1799 "This class also provides a CreateGoal method that can be used "
1800 "to create a ImportedFileShareSetting element that can be used "
1801 "as a goal for creating or modifying a file share.")]
1802 class CIM_ImportedFileShareCapabilities : CIM_Capabilities {
1803
1804 [Description (
1805 "An enumerated integer indicating the filesharing protocol "
1806 "that this share can support. All settings associated with "
1807 karl 1.1 "this Capabilities must have the same value for the "
1808 "FileSharingProtocol property. This property must exist and "
1809 "have a value."),
1810 ValueMap { "0", "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
1811 Values { "Unknown", "NFS", "CIFS", "DAFS", "WebDAV", "HTTP",
1812 "FTP", "DMTF Reserved", "Vendor Defined" }, Read,
1813 ModelCorrespondence {
1814 "CIM_ImportedFileShareSetting.FileSharingProtocol",
1815 "CIM_ExportedFileShareSetting.FileSharingProtocol",
1816 "CIM_ImportedFileShareCapabilities.ProtocolVersions" }]
1817 uint16 FileSharingProtocol;
1818
1819 [Description (
1820 "An array of strings listing the versions of the file "
1821 "sharing protocol that can be supported via these "
1822 "capabilities. All settings associated with this "
1823 "Capabilities must have a non-empty subset of these values "
1824 "in the corresponding ProtocolVersions property."),
1825 Read,
1826 ModelCorrespondence {
1827 "CIM_ExportedFileShareSetting.ProtocolVersions",
1828 karl 1.1 "CIM_ImportedFileShareSetting.ProtocolVersions",
1829 "CIM_ImportedFileShareCapabilities.FileSharingProtocol" }]
1830 string ProtocolVersions[];
1831
1832 [Description (
1833 "An array of property names of the Setting that this "
1834 "Capabilities element supports."),
1835 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
1836 "12", "13", "14", "15", "16", "17", "18", "19", "20", "21",
1837 "..", "0x8000.." },
1838 Values { "RequestRetryPolicy", "TransmissionRetriesMax",
1839 "RetransmissionTimeout", "ImportFailurePolicy",
1840 "ImportRetriesMax", "ReadBufferSize", "WriteBufferSize",
1841 "AttributeCaching", "AccessPoints", "ReadWritePolicy",
1842 "CifsLocksSupportPolicy", "CifsNotificationPolicy",
1843 "AccessPolicies", "CifsLockPolicy", "ReadWritePref",
1844 "CachingOptions", "ImportOnServiceStart", "ExecutePref",
1845 "RootAccessPref", "InitialEnabledState", "DMTF Reserved",
1846 "Vendor Defined" }, Read]
1847 uint16 SupportedProperties[];
1848
1849 karl 1.1 [Description (
1850 "Start a job to create a ImportedFileShareSetting from an "
1851 "ImportedFileShareSetting provided by the caller. If the "
1852 "operation completes successfully and did not require a "
1853 "long-running ConcreteJob, it will return 0. If 4096/0x1000 "
1854 "is returned, a ConcreteJob will be started to create the "
1855 "element. A Reference to the ConcreteJob will be returned in "
1856 "the output parameter Job. \n"
1857 "This method MAY return a CIM_Error representing that a "
1858 "single named property of a setting (or other) parameter "
1859 "(either reference or embedded object) has an invalid value "
1860 "or that an invalid combination of named properties of a "
1861 "setting (or other) parameter (either reference or embedded "
1862 "object) has been requested. \n"
1863 "If the input TemplateGoal is NULL or the empty string, this "
1864 "method returns a default ImportedFileShareSetting that is "
1865 "supported by this ImportedFileShareCapabilities. \n"
1866 "The output is returned as the SupportedGoal parameter. Both "
1867 "TemplateGoal and SupportedGoal are embedded objects and do "
1868 "not exist in the provider but are maintained by the client. "
1869 "\nIf the TemplateGoal specifies values that cannot be "
1870 karl 1.1 "supported, this method must return an appropriate error and "
1871 "should return a best match for a SupportedGoal."),
1872 ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
1873 "4097..32767", "32768..65535" },
1874 Values { "Job Completed with No Error", "Not Supported",
1875 "Unknown", "Timeout", "Failed", "Invalid Parameter",
1876 "Template Goal cannot be matched.", "DMTF Reserved",
1877 "Method Parameters Checked - Job Started", "Method Reserved",
1878 "Vendor Specific" }]
1879 uint16 CreateGoal(
1880 [IN ( false ), OUT, Description (
1881 "Reference to the job (may be null if job completed).")]
1882 CIM_ConcreteJob REF Job,
1883 [IN, Description (
1884 "This is an element of the CIM_ImportedFileShareSetting "
1885 "class, or a derived class, encoded as a string-valued "
1886 "embedded object parameter. It specifies the goal element "
1887 "to be used for matching."),
1888 EmbeddedInstance ( "CIM_ImportedFileShareSetting" )]
1889 string TemplateGoal,
1890 [IN ( false ), OUT, Description (
1891 karl 1.1 "This is an element of the CIM_ImportedFileShareSetting "
1892 "class, or a derived class, encoded as a string-valued "
1893 "embedded object parameter. It specifies the element that "
1894 "is returned as the best supported match to the "
1895 "TemplateGoal."),
1896 EmbeddedInstance ( "CIM_ImportedFileShareSetting" )]
1897 string SupportedGoal);
1898 };
1899
1900 // ===================================================================
1901 // end of file
1902 // ===================================================================
|