1 <?xml version=
"1.0" encoding=
"UTF-8"?>
7 The contents of this file are subject to the terms of the
8 Common Development and Distribution License (the "License").
9 You may not use this file except in compliance with the License.
11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12 or http://www.opensolaris.org/os/licensing.
13 See the License for the specific language governing permissions
14 and limitations under the License.
16 When distributing Covered Code, include this CDDL HEADER in each
17 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18 If applicable, add the following below this CDDL HEADER, with the
19 fields enclosed by brackets "[]" replaced with your own identifying
20 information: Portions Copyright [yyyy] [name of copyright owner]
24 Copyright 2008 Sun Microsystems, Inc. All rights reserved.
25 Use is subject to license terms.
30 <xsd:schema xmlns:
xsd=
"http://www.w3.org/2001/XMLSchema"
31 targetNamespace=
"http://www.sun.com/schema/isnsmanagement"
32 xmlns:
isns=
"http://www.sun.com/schema/isnsmanagement"
33 elementFormDefault=
"qualified">
36 Object type names that are asspcoated with isns Object,
37 Discovery Domain, Discovery Domain Set, Node.
39 <xsd:element name=
"isnsObjectType">
41 <xsd:restriction base=
"xsd:string">
42 <xsd:enumeration value=
"DiscoveryDomainSet"></xsd:enumeration>
43 <xsd:enumeration value=
"DiscoveryDomain"></xsd:enumeration>
44 <xsd:enumeration value=
"Node"></xsd:enumeration>
50 Association type name for Discovery Domain membership and Discovery
51 Domain Set membership.
53 <xsd:element name=
"AssociationType">
55 <xsd:restriction base=
"xsd:string">
56 <xsd:enumeration value=
"DiscoveryDomainMember"/>
57 <xsd:enumeration value=
"DiscoveryDomainSetMember"/>
63 Discovery Domain object.
64 Attribute name represent DD Symbolic Name defined in the iSNS spec.
65 Group isnsDDAttrGroup represents other attrtibutes defined in the
67 Note that the existence of isnsDDAttrGroup is made as optional.
69 <xsd:element name=
"DiscoveryDomain">
71 <xsd:group ref=
"isns:isnsDDAttrGroup" minOccurs=
"0"/>
72 <xsd:attribute name=
"name" type=
"xsd:string" use=
"required"/>
73 <xsd:attribute name=
"id" type=
"xsd:positiveInteger" use=
"optional"/>
74 <xsd:attribute name=
"nodeCount" type=
"xsd:nonNegativeInteger" use=
"optional"/>
77 <xsd:group name=
"isnsDDAttrGroup">
79 <xsd:element name=
"BootList_Enabled" type=
"xsd:boolean"/>
84 Discovery Domain Set object.
85 Attribute name represent DD Set Symbolic Name defined in the iSNS spec.
86 Group isnsDDsetAttrGroup represents other attrtibutes defined in the
88 Note that the existence of isnsDDsetAttrGroup is made as optional.
90 <xsd:element name=
"DiscoveryDomainSet">
92 <xsd:group ref=
"isns:isnsDDsetAttrGroup" minOccurs=
"0"/>
93 <xsd:attribute name=
"name" type=
"xsd:string" use=
"required"/>
94 <xsd:attribute name=
"id" type=
"xsd:positiveInteger" use=
"optional"/>
97 <xsd:group name=
"isnsDDsetAttrGroup">
99 <xsd:element name=
"Enabled" type=
"xsd:boolean"/>
104 isnsServer object for administratively configurable setting.
106 <xsd:element name=
"isnsServer">
108 <xsd:group ref=
"isns:isnsServerAttrGroup" minOccurs=
"0"/>
112 <xsd:group name=
"isnsServerAttrGroup">
114 <xsd:element name=
"datastoreLocation" type=
"xsd:string"></xsd:element>
115 <xsd:element name=
"esiRetryThreshold" type=
"xsd:nonNegativeInteger"></xsd:element>
116 <xsd:element name=
"managementSCNEnabled" type=
"xsd:boolean"></xsd:element>
117 <xsd:element name=
"controlNodeName" type=
"xsd:string" nillable=
"true"></xsd:element>
122 Node object. Attribute name represent iSCSI name for a node
123 defined in the iSNS spec.
124 Group isnsNodeAttrGroup represents other attrtibutes including
125 Network Entity, Portal and Portal Group Tag.
126 Note that the existence of isnsNodeAttrGroup is made as optional.
128 <xsd:element name=
"Node">
130 <xsd:group ref=
"isns:isnsNodeAttrGroup" minOccurs=
"0"/>
131 <xsd:attributeGroup ref=
"isns:nodeAttrs"/>
136 Attributes for Node object.
137 name and nodeType are specified.
138 Both attributes are required.
140 <xsd:attributeGroup name=
"nodeAttrs">
141 <xsd:attribute name=
"name" type=
"xsd:string" use=
"required"/>
142 <xsd:attribute name=
"alias" type=
"xsd:string"/>
144 Add support for management clients needing XML documents
145 with properties representing whether or not the given node is
146 assigned or not, is registered or not, and a status timestamp stating
147 when the last time this information was determined.
149 @todo Since these properties are client-specific, we want to factor
150 them out into a separate schema that includes and extends this one.
151 Since this task has proven difficult in the short term, we defer this
152 until a future product cycle.
154 <xsd:attribute name=
"assigned" type=
"xsd:boolean" use=
"optional"/>
155 <xsd:attribute name=
"registered" type=
"xsd:boolean" use=
"optional"/>
156 <xsd:attribute name=
"timestamp" type=
"xsd:string" use=
"optional"/>
157 <xsd:attribute name=
"type">
159 <xsd:restriction base=
"xsd:string">
160 <xsd:enumeration value=
"Target"/>
161 <xsd:enumeration value=
"Initiator"/>
162 <xsd:enumeration value=
"Control"/>
163 <xsd:enumeration value=
"Unknown"/>
164 <xsd:enumeration value=
"Control/Target"/>
165 <xsd:enumeration value=
"Control/Initiator"/>
169 </xsd:attributeGroup>
172 Child elements for Node object.
174 <xsd:group name=
"isnsNodeAttrGroup">
176 <xsd:element name=
"SCN_Subscription" minOccurs=
"0" maxOccurs=
"8">
178 <xsd:restriction base=
"xsd:string">
179 <xsd:enumeration value=
"Initiator and Self information only"/>
180 <xsd:enumeration value=
"Target and Self information only"/>
181 <xsd:enumeration value=
"Management Registration/SCN"/>
182 <xsd:enumeration value=
"Object Removed"/>
183 <xsd:enumeration value=
"Object Added"/>
184 <xsd:enumeration value=
"Object Updated"/>
185 <xsd:enumeration value=
"DD/DD-Set Member Removed"/>
186 <xsd:enumeration value=
"DD/DD-Set Member Added"/>
191 Network Entity attributes
193 <xsd:element name=
"Network_Entity">
196 <xsd:element name=
"Entity_ID">
198 <xsd:restriction base=
"xsd:string">
199 <xsd:minLength value=
"4"/>
200 <xsd:maxLength value=
"256"/>
204 <xsd:element name=
"Entity_Protocol" type=
"xsd:integer" minOccurs=
"0"></xsd:element>
205 <xsd:element name=
"Management_IP_Addr" minOccurs=
"0">
207 <xsd:restriction base=
"xsd:string">
208 <xsd:maxLength value=
"46"/>
212 <xsd:element name=
"Entity_Reg_Timestamp" type=
"xsd:unsignedLong" minOccurs=
"0"/>
213 <xsd:element name=
"Protocol_Version_Range" minOccurs=
"0">
216 <xsd:element name=
"minVersion" type=
"xsd:unsignedShort"/>
217 <xsd:element name=
"maxVersion" type=
"xsd:unsignedShort"/>
221 <xsd:element name=
"Registration_Period" type=
"xsd:unsignedInt" minOccurs=
"0"/>
227 Portal attributes including Portal Group Tag
230 <xsd:element name=
"Portal" maxOccurs=
"unbounded" >
233 <xsd:element name=
"IP_Addr">
235 <xsd:restriction base=
"xsd:string">
236 <xsd:maxLength value=
"46"/>
240 <xsd:element name=
"UDP_TCP_port">
243 <xsd:element name=
"Port_Type">
245 <xsd:restriction base=
"xsd:string">
246 <xsd:enumeration value=
"TCP"/>
247 <xsd:enumeration value=
"UDP"/>
251 <xsd:element name=
"Port_Number" type=
"xsd:unsignedShort"/>
255 <xsd:element name=
"Group_Tag">
257 <xsd:restriction base=
"xsd:nonNegativeInteger">
258 <xsd:maxInclusive value=
"65535"/>
262 <xsd:element name=
"Symbolic_Name" minOccurs=
"0">
264 <xsd:restriction base=
"xsd:string">
265 <xsd:maxLength value=
"256"/>
269 <xsd:element name=
"ESI_Interval" type=
"xsd:positiveInteger" minOccurs=
"0"/>
270 <xsd:element name=
"ESI_Port" minOccurs=
"0">
273 <xsd:element name=
"Port_Type">
275 <xsd:restriction base=
"xsd:string">
276 <xsd:enumeration value=
"TCP"/>
277 <xsd:enumeration value=
"UDP"/>
281 <xsd:element name=
"Port_Number" type=
"xsd:unsignedShort"/>
285 <xsd:element name=
"SCN_Port" minOccurs=
"0">
288 <xsd:element name=
"Port_Type">
290 <xsd:restriction base=
"xsd:string">
291 <xsd:enumeration value=
"TCP"/>
292 <xsd:enumeration value=
"UDP"/>
296 <xsd:element name=
"Port_Number" type=
"xsd:unsignedShort"/>
307 Discovery Domain Membership Association.
308 Attribute DDName represents Discovery Domain name and NodeName
309 a node name to indicate the association pair.
310 Note that the element has only attributes.
312 <xsd:element name=
"DiscoveryDomainMember">
314 <xsd:attribute name=
"DDName" type=
"xsd:string" use=
"required"/>
315 <xsd:attribute name=
"NodeName" type=
"xsd:string" use=
"required"/>
320 Discovery Domain Set Membership Association.
321 Attribute DDName represents Discovery Domain name and DDsetName
322 Discovery Domain Set name to indicate the association pair.
323 Note that the element has only attributes.
325 <xsd:element name=
"DiscoveryDomainSetMember">
327 <xsd:attribute name=
"DDName" type=
"xsd:string" use=
"required"/>
328 <xsd:attribute name=
"DDsetName" type=
"xsd:string" use=
"required"/>
331 <xsd:element name=
"Association">
334 <xsd:element ref=
"isns:DiscoveryDomainMember"/>
335 <xsd:element ref=
"isns:DiscoveryDomainSetMember"/>
341 Super element for iSNS object, Discovery Domain, Disocvery Domain
344 <xsd:element name=
"isnsObject">
347 <xsd:element ref=
"isns:Node"/>
348 <xsd:element ref=
"isns:DiscoveryDomain"/>
349 <xsd:element ref=
"isns:DiscoveryDomainSet"/>
356 Result element represent the response value for an isns request
357 operation including status and error information.
359 <xsd:element name=
"result">
362 <xsd:element name=
"status" type=
"xsd:integer" minOccurs=
"1"/>
363 <xsd:element name=
"message" minOccurs=
"0" nillable=
"false">
365 <xsd:restriction base=
"xsd:string">
366 <xsd:whiteSpace value=
"preserve"/>
375 Request operations for iSNS management applicatioin.
376 Any of request can be included multiple times.
378 <xsd:element name=
"isnsRequest">
381 <xsd:element name=
"description" type=
"xsd:string" minOccurs=
"0"/>
382 <xsd:choice maxOccurs=
"1">
385 get operation returns details of a given iSNS object instance.
387 input: an object instance. Specifying only the name
388 attribute of an isnsObject insance will be sufficient
389 for the server to serve the request.
391 output: an object instance with fully populated
392 isns{Node|Discveroy_Domain|Discovery_Domain_Set]AttrGroup
393 or error info when there is failure.
395 <xsd:element name=
"get">
398 <xsd:element ref=
"isns:isnsObject" maxOccurs=
"unbounded"/>
399 <xsd:element ref=
"isns:isnsServer" maxOccurs=
"1"/>
405 getAssociated operation returns a list of object
406 instances that are asscoiated with the given Association
407 type name and a given object instance.
409 input: an Association type name and an object instance.
410 Specifying the name attribute is sufficient for
413 output: a list of object instances which is assciated with
414 the given object instance through the given association.
416 When there is failure for the request, error info will
419 <xsd:element name=
"getAssociated">
421 <xsd:sequence maxOccurs=
"unbounded">
422 <xsd:element ref=
"isns:AssociationType"/>
423 <xsd:element ref=
"isns:isnsObject"/>
429 create operation either creates a new object instance
430 or modify an object instance if the name of the given object
431 instance already exists.
433 input: an object instance with fully populated
434 isns{Node|Discveroy_Domain|Discovery_Domain_Set]AttrGroup
438 <xsd:element name=
"createModify">
441 <xsd:element ref=
"isns:DiscoveryDomainMember" maxOccurs=
"unbounded" />
442 <xsd:element ref=
"isns:DiscoveryDomain" maxOccurs=
"unbounded"/>
443 <xsd:element ref=
"isns:DiscoveryDomainSetMember" maxOccurs=
"unbounded"/>
444 <xsd:element ref=
"isns:DiscoveryDomainSet" maxOccurs=
"unbounded"/>
451 delete operation delete the given object instance.
453 input: an object instance. Specifying only the name
454 attribute of an isnsObject insance will be sufficient
455 for the server to serve the request.
459 <xsd:element name=
"delete">
462 <xsd:element ref=
"isns:DiscoveryDomain" maxOccurs=
"unbounded"/>
463 <xsd:element ref=
"isns:DiscoveryDomainSet" maxOccurs=
"unbounded"/>
464 <xsd:element ref=
"isns:DiscoveryDomainMember" maxOccurs=
"unbounded"/>
465 <xsd:element ref=
"isns:DiscoveryDomainSetMember" maxOccurs=
"unbounded"/>
471 enumerate operation returns a list of object instances for the
474 input: an object type name.
476 output: a list of object instances for the given obect type
477 or error info when there is failure.
479 <xsd:element name=
"enumerate">
482 <xsd:element ref=
"isns:isnsObjectType"/>
493 isnsResponse returns either object instance information or
496 When the request is 'get'
497 the response should be fully populated an obejct instance.
498 When the request is createModify or delete
499 the response should be status.
500 When the request is getAssociated or enumerate
501 the response should be a list of an object instance
502 with name attribute set.
505 <xsd:element name=
"isnsResponse">
508 <xsd:element name=
"description" type=
"xsd:string" minOccurs=
"0"/>
509 <xsd:element ref=
"isns:result" maxOccurs=
"1" minOccurs=
"1"/>
510 <xsd:choice minOccurs=
"0">
511 <xsd:element ref=
"isns:isnsObject" maxOccurs=
"unbounded" minOccurs=
"0"/>
512 <xsd:element ref=
"isns:isnsServer" maxOccurs=
"1" minOccurs=
"0"/>
513 <xsd:element ref=
"isns:Association" maxOccurs=
"unbounded" minOccurs=
"0"/>