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