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