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