1 a.dunfey 1.1 // ===================================================================
2 // Title: User-Security Storage Hardware ID
3 // $State: Preliminary $
4 // $Date: 2005/01/05 00:54:01 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/User_StorageHardwareID.mof,v $
6 // $Revision: 1.4 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 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 a.dunfey 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 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The User Model extends the management concepts that
47 // are related to users and security.
48 // This file defines the concepts and classes related to
49 // hardware World Wide Names used as credentials
50 // for accessing Storage services and credentials.
51 //
52 // The object classes below are listed in an order that
53 // avoids forward references. Required objects, defined
54 // by other working groups, are omitted.
55 // ===================================================================
56 // Change Log for v2.9 Prelim
57 // CR1299 - Add iSCSI support to the enum of ID Types used for
58 // SCSI LUN Masking
59 //
60 // Change Log for v2.8 Final
61 // CR1221 - Accepted changes from Preliminary to Final
62 // CR1235 - Corrected copyright, updated the enumeration for all the
63 // methods' return values (Unknown -> Unspecified Error), and
64 a.dunfey 1.1 // added missing Description for DeleteStorageHardwareID's
65 // HardwareID parameter
66 //
67 // Change Log for v2.8 Preliminary (Company Review)
68 // CR1139 - Fixed ModelCorrespondence referring to ClientSettingData
69 // vs. StorageClientSettingData in StorageClientSettingData
70 //
71 // Change Log for v2.8 Preliminary
72 // CR1017 - Created this file
73 // ===================================================================
74
75 #pragma Locale ("en_US")
76
77
78 // ==================================================================
79 // StorageClientSettingData
80 // ==================================================================
81 [Version ( "2.8.0" ), Description (
82 "This class models host environment factors that influence the "
83 "behavior of Storage Systems. For example, a disk array has "
84 "different SCSI responses for clients (initiators) configured "
85 a.dunfey 1.1 "as AIX verses HPUX. Instances of this setting class can be "
86 "associated via ElementSettingData to a storage system's "
87 "LogicalPort, ProtocolController, or Volume instances when "
88 "these elements have host awareness. These associations are "
89 "created by the management instrumentation provider to reflect "
90 "the current configuration. A client deletes/creates these "
91 "associations to request changes in element host-awareness. "
92 "This settings class can also be associated with "
93 "StorageHardwareID instances when that HW ID is configured with "
94 "host information. An instance of this setting may include "
95 "several ClientType values if the storage system treats them "
96 "identically. The storage system exposes all supported setting "
97 "instances to a WBEM Enumerate request; the client uses the "
98 "returned settings to determine which types are available.")]
99 class CIM_StorageClientSettingData : CIM_SettingData {
100
101 [Description (
102 "This enumeration defines operating system, version, driver, "
103 "and other host environment factors that influence the "
104 "behavior exposed by storage systems. Values in this array "
105 "are combined with data from the OtherClientTypeDescriptions "
106 a.dunfey 1.1 "property to provide complete information on the host "
107 "environment."),
108 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
109 "10", "11", "12", "13", "14", "15", "16", "17", "18",
110 "19..32767", "32768..65535" },
111 Values { "Unknown", "Other", "Standard", "Solaris", "HPUX",
112 "OpenVMS", "Tru64", "Netware", "Sequent", "AIX", "DGUX",
113 "Dynix", "Irix", "Cisco iSCSI Storage Router", "Linux",
114 "Microsoft Windows", "OS400", "TRESPASS", "HI-UX",
115 "DMTF Reserved", "Vendor Specific" }, ArrayType ( "Indexed" ),
116 ModelCorrespondence {
117 "CIM_StorageClientSettingData.OtherClientTypeDescriptions" }]
118 uint16 ClientTypes[];
119
120 [Description (
121 "When the the corresponding array entry in ClientTypes[] is "
122 "\"Other\", this entry provides a string describing the "
123 "manufacturer and OS/Environment. When the corresponding "
124 "ClientTypes[] entry is not \"Other\", this entry allows "
125 "variations or qualifications of ClientTypes - for example, "
126 "different versions of Solaris."),
127 a.dunfey 1.1 ArrayType ( "Indexed" ),
128 ModelCorrespondence { "CIM_StorageClientSettingData.ClientTypes"
129 }]
130 string OtherClientTypeDescriptions[];
131 };
132
133
134 // ==================================================================
135 // StorageHardwareID
136 // ==================================================================
137 [Version ( "2.8.1000" ), Description (
138 "CIM_StorageHardwareID is a hardware ID that serves as an "
139 "authorization subject. Example are host controller IDs that "
140 "serve as authorization subjects in disk array LUN Masking.")]
141 class CIM_StorageHardwareID : CIM_Identity {
142
143 [Required, Description (
144 "The hardware worldwide unique ID."),
145 MaxLen ( 256 ),
146 ModelCorrespondence { "CIM_StorageHardwareID.IDType" }]
147 string StorageID;
148 a.dunfey 1.1
149 [Required, Description (
150 "The type of the ID property. iSCSI IDs may use one of three "
151 "iSCSI formats - iqn, eui, or naa. This three letter format "
152 "is the name prefix; so a single iSCSI type is provided "
153 "here, the prefix can be used to further refine the format."),
154 ValueMap { "1", "2", "3", "4", "5" },
155 Values { "Other", "PortWWN", "NodeWWN", "Hostname",
156 "iSCSI Name" },
157 ModelCorrespondence { "CIM_StorageHardwareID.StorageID" }]
158 uint16 IDType;
159
160 [Description (
161 "The ID type when IDType is \"Other\".")]
162 string OtherIDType;
163 };
164
165
166 // ==================================================================
167 // GatewayPathID
168 // ==================================================================
169 a.dunfey 1.1 [Version ( "2.8.1000" ), Description (
170 "GatewayPathID extends StorageHardwareID to name a path segment "
171 "defined by the end identities, HardwareID and GatewayID. The "
172 "purpose is to describe Identity to allow access control to be "
173 "applied to a particular path segment. Think of the element "
174 "identified by GatewayPathID as a Gateway between a non-trusted "
175 "world and a trusted world.")]
176 class CIM_GatewayPathID : CIM_StorageHardwareID {
177
178 [Required, Description (
179 "The ID representing the Gateway for a path segment from the "
180 "element identified in the HardwareID property to the "
181 "Gateway."),
182 ModelCorrespondence { "CIM_GatewayPathID.GatewayIDType",
183 "CIM_GatewayPathID.OtherGatewayIDType" }]
184 string GatewayID;
185
186 [Required, Description (
187 "The type of the ID property. iSCSI GatewayIDs may use one "
188 "of three iSCSI formats - iqn, eui, or naa. This three "
189 "letter format is the name prefix; so a single iSCSI type is "
190 a.dunfey 1.1 "provided here, the prefix can be used to further refine the "
191 "format."),
192 ValueMap { "1", "2", "3", "4", "5" },
193 Values { "Other", "PortWWN", "NodeWWN", "Hostname",
194 "iSCSI Name" },
195 ModelCorrespondence { "CIM_GatewayPathID.GatewayID" }]
196 uint16 GatewayIDType;
197
198 [Description (
199 "The gateway ID type when Gateway IDType is \"Other\"."),
200 ModelCorrespondence { "CIM_GatewayPathID.GatewayID" }]
201 string OtherGatewayIDType;
202 };
203
204
205 // ==================================================================
206 // StorageHardwareIDManagementService
207 // ==================================================================
208 [Version ( "2.8.1000" ), Description (
209 "StorageHardwareIDManagementService provides methods for "
210 "manipulating instances of StorageHardwareIDs and manipulating "
211 a.dunfey 1.1 "the trust of these IDs in the underlying storage system.")]
212 class CIM_StorageHardwareIDManagementService : CIM_AuthenticationService {
213
214 [Description (
215 "This method creates a CIM_StorageHardwareID, it creates the "
216 "association CIM_ConcreteDependency between this service and "
217 "the new CIM_StorageHardwareID."),
218 ValueMap { "0", "1", "2", "3", "4", "5", "6..0xFFF", "0x1000",
219 "0x1001", "0x1003..0x7FFF", "0x8000.." },
220 Values { "Success", "Not Supported", "Unspecified Error",
221 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
222 "ID already created",
223 "Hardware implementation does not support specified IDType",
224 "Method Reserved", "Vendor Specific" }]
225 uint32 CreateStorageHardwareID (
226
227 [IN, Description (
228 "The ElementName of the new StorageHardwareID instance.")]
229 string ElementName,
230
231 [IN, Description (
232 a.dunfey 1.1 "StorageID is the value used by the SecurityService to "
233 "represent Identity - in this case, a hardware worldwide "
234 "unique name.")]
235 string StorageID,
236
237 [IN, Description (
238 "The type of the StorageID property. iSCSI IDs may use "
239 "one of three iSCSI formats - iqn, eui, or naa. This "
240 "three letter format is the name prefix; so a single "
241 "iSCSI type is provided here, the prefix can be used to "
242 "further refine the format."),
243 ValueMap { "1", "2", "3", "4", "5" },
244 Values { "Other", "PortWWN", "NodeWWN", "Hostname",
245 "iSCSI Name" }]
246 uint16 IDType,
247
248 [IN, Description (
249 "The type of the storage ID, when IDType is \"Other\".")]
250 string OtherIDType,
251
252 [IN, Description (
253 a.dunfey 1.1 "REF to the StorageClientSettingData containing the "
254 "OSType appropriate for this initiator. If left NULL, the "
255 "instrumentation assumes a standard OSType - i.e., that "
256 "no OS-specific behavior for this initiator is defined.")]
257 CIM_StorageClientSettingData REF Setting,
258
259 [IN ( false ), OUT, Description (
260 "REF to the new StorageHardwareID instance.")]
261 CIM_StorageHardwareID REF HardwareID );
262
263 [Description (
264 "This method deletes a named CIM_StorageHardwareID, and also "
265 "tears down the associations that are no longer needed, "
266 "including CIM_ConcreteDependency and CIM_AuthorizedSubject."),
267 ValueMap { "0", "1", "2", "3", "4", "5", "6..0xFFF", "0x1000",
268 "0x1001..0x7FFF", "0x8000.." },
269 Values { "Success", "Not Supported", "Unspecified Error",
270 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
271 "Specified instance not found", "Method Reserved",
272 "Vendor Specific" }]
273 uint32 DeleteStorageHardwareID(
274 a.dunfey 1.1
275 [IN, Description (
276 "The storage hardware ID to be deleted.")]
277 CIM_StorageHardwareID REF HardwareID );
278
279 [Description (
280 "This method creates a CIM_GatewayPathID and the association "
281 "CIM_ConcreteDependency between this service and the new "
282 "GatewayPathID."),
283 ValueMap { "0", "1", "2", "3", "4", "5", "6..0xFFF", "0x1000",
284 "0x1001", "0x1003", "0x1004", "0x1005..0x7FFF", "0x8000.." },
285 Values { "Success", "Not Supported", "Unspecified Error",
286 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
287 "ID already created",
288 "Hardware implementation does not support specified IDType",
289 "GatewayPathID already created",
290 "Hardware implementation does not support specified "
291 "GatewayIDType", "Method Reserved", "Vendor Specific" }]
292 uint32 CreateGatewayPathID(
293
294 [IN, Description (
295 a.dunfey 1.1 "The ElementName of the new StorageHardwareID instance.")]
296 string ElementName,
297
298 [IN, Description (
299 "StorageID is the value used by the SecurityService to "
300 "represent Identity - in this case, a hardware worldwide "
301 "unique name.")]
302 string StorageID,
303
304 [IN, Description (
305 "The type of the StorageID property. iSCSI IDs may use "
306 "one of three iSCSI formats - iqn, eui, or naa. This "
307 "three letter format is the name prefix; so a single "
308 "iSCSI type is provided here, the prefix can be used to "
309 "further refine the format."),
310 ValueMap { "1", "2", "3", "4", "5" },
311 Values { "Other", "PortWWN", "NodeWWN", "Hostname",
312 "iSCSI Name" }]
313 uint16 IDType,
314
315 [IN, Description (
316 a.dunfey 1.1 "The type of the storage ID, when IDType is \"Other\".")]
317 string OtherIDType,
318
319 [IN, Description (
320 "GatewayID is the value used by the SecurityService to "
321 "represent identity of a Gateway element.")]
322 string GatewayID,
323
324 [IN, Description (
325 "The type of the GatewayID property. iSCSI IDs may use "
326 "one of three iSCSI formats - iqn, eui, or naa. This "
327 "three letter format is the name prefix; so a single "
328 "iSCSI type is provided here, the prefix can be used to "
329 "further refine the format."),
330 ValueMap { "1", "2", "3", "4", "5" },
331 Values { "Other", "PortWWN", "NodeWWN", "Hostname",
332 "iSCSI Name" }]
333 uint16 GatewayIDType,
334
335 [IN, Description (
336 "The type of the storage ID, when GatewayIDType is "
337 a.dunfey 1.1 "\"Other\".")]
338 string OtherGatewayIDType,
339
340 [IN ( false ), OUT, Description (
341 "REF to the new GatewayPathID instance.")]
342 CIM_GatewayPathID REF NewGatewayPathID );
343
344 [Description (
345 "Create a group of StorageHardwareIDs as a new instance of "
346 "SystemSpecificCollection. This is useful to define a set of "
347 "authorized subjects that can access volumes in a disk "
348 "array. This method allows the client to make a request of a "
349 "specific Service instance to create the collection and "
350 "provide the appropriate class name. When these capabilities "
351 "are standardized in CIM/WBEM, this method can be deprecated "
352 "and intrinsic methods used. In addition to creating the "
353 "collection, this method causes the creation of the "
354 "HostedCollection association (to this service's scoping "
355 "system) and MemberOfCollection association to members of "
356 "the IDs parameter."),
357 ValueMap { "0", "1", "2", "3", "4", "5", "6..0xFFF", "0x1000",
358 a.dunfey 1.1 "0x1001", "0x1002", "0x1003..0x7FFF", "0x8000.." },
359 Values { "Success", "Not Supported", "Unspecified Error",
360 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
361 "Invalid HardwareID instance",
362 "Implementation does not support hardware ID collections",
363 "Input hardware IDs cannot be used in same collection",
364 "Method Reserved", "Vendor Specific" }]
365 uint32 CreateHardwareIDCollection (
366
367 [IN, Description (
368 "The ElementName to be assigned to the created "
369 "collection.")]
370 string ElementName,
371
372 [IN, Description (
373 "Array of strings containing representations of "
374 "references to StorageHardwareID instances that will "
375 "become members of the new collection.")]
376 string HardwareIDs[],
377
378 [IN ( false ), OUT, Description (
379 a.dunfey 1.1 "The new instance of SystemSpecificCollection that is "
380 "created.")]
381 CIM_SystemSpecificCollection REF Collection );
382
383 [Description (
384 "Create MemberOfCollection instances between the specified "
385 "Collection and the StorageHardwareIDs. This method allows "
386 "the client to make a request of a specific Service instance "
387 "to create the associations. When these capabilities are "
388 "standardized in CIM/WBEM, this method can be deprecated and "
389 "intrinsic methods used."),
390 ValueMap { "0", "1", "2", "3", "4", "5", "6..0xFFF", "0x1000",
391 "0x1001", "0x1002", "0x1003..0x7FFF", "0x8000.." },
392 Values { "Success", "Not Supported", "Unspecified Error",
393 "Timeout", "Failed", "Invalid Parameter", "DMTF Reserved",
394 "Invalid LogicalDevice instance",
395 "Implementation does not support device collections",
396 "Input devices cannot be used in this collection",
397 "Method Reserved", "Vendor Specific" }]
398 uint32 AddHardwareIDsToCollection (
399
400 a.dunfey 1.1 [IN, Description (
401 "Array of strings containing representations of "
402 "references to StorageHardwareID instances that will "
403 "become members of the collection.")]
404 string HardwareIDs[],
405
406 [IN, Description (
407 "The Collection which groups the StorageHardwareIDs.")]
408 CIM_SystemSpecificCollection REF Collection );
409 };
410
411
412 // ===================================================================
413 // end of file
414 // ===================================================================
|