xref: /onnv-gate/usr/src/cmd/isns/isnsd/xml_def/isnsmgmtSchema.xsd (revision 7836:4e95154b5b7a)
1*7836SJohn.Forte@Sun.COM<?xml version="1.0" encoding="UTF-8"?>
2*7836SJohn.Forte@Sun.COM
3*7836SJohn.Forte@Sun.COM<!--
4*7836SJohn.Forte@Sun.COM
5*7836SJohn.Forte@Sun.COM        CDDL HEADER START
6*7836SJohn.Forte@Sun.COM
7*7836SJohn.Forte@Sun.COM        The contents of this file are subject to the terms of the
8*7836SJohn.Forte@Sun.COM        Common Development and Distribution License (the "License").
9*7836SJohn.Forte@Sun.COM        You may not use this file except in compliance with the License.
10*7836SJohn.Forte@Sun.COM
11*7836SJohn.Forte@Sun.COM        You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12*7836SJohn.Forte@Sun.COM        or http://www.opensolaris.org/os/licensing.
13*7836SJohn.Forte@Sun.COM        See the License for the specific language governing permissions
14*7836SJohn.Forte@Sun.COM        and limitations under the License.
15*7836SJohn.Forte@Sun.COM
16*7836SJohn.Forte@Sun.COM        When distributing Covered Code, include this CDDL HEADER in each
17*7836SJohn.Forte@Sun.COM        file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18*7836SJohn.Forte@Sun.COM        If applicable, add the following below this CDDL HEADER, with the
19*7836SJohn.Forte@Sun.COM        fields enclosed by brackets "[]" replaced with your own identifying
20*7836SJohn.Forte@Sun.COM        information: Portions Copyright [yyyy] [name of copyright owner]
21*7836SJohn.Forte@Sun.COM
22*7836SJohn.Forte@Sun.COM        CDDL HEADER END
23*7836SJohn.Forte@Sun.COM
24*7836SJohn.Forte@Sun.COM        Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
25*7836SJohn.Forte@Sun.COM        Use is subject to license terms.
26*7836SJohn.Forte@Sun.COM
27*7836SJohn.Forte@Sun.COM
28*7836SJohn.Forte@Sun.COM-->
29*7836SJohn.Forte@Sun.COM
30*7836SJohn.Forte@Sun.COM<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
31*7836SJohn.Forte@Sun.COM            targetNamespace="http://www.sun.com/schema/isnsmanagement"
32*7836SJohn.Forte@Sun.COM            xmlns:isns="http://www.sun.com/schema/isnsmanagement"
33*7836SJohn.Forte@Sun.COM            elementFormDefault="qualified">
34*7836SJohn.Forte@Sun.COM
35*7836SJohn.Forte@Sun.COM    <!--
36*7836SJohn.Forte@Sun.COM        Object type names that are asspcoated with isns Object,
37*7836SJohn.Forte@Sun.COM        Discovery Domain, Discovery Domain Set, Node.
38*7836SJohn.Forte@Sun.COM    -->
39*7836SJohn.Forte@Sun.COM    <xsd:element name="isnsObjectType">
40*7836SJohn.Forte@Sun.COM        <xsd:simpleType>
41*7836SJohn.Forte@Sun.COM            <xsd:restriction base="xsd:string">
42*7836SJohn.Forte@Sun.COM                <xsd:enumeration value="DiscoveryDomainSet"></xsd:enumeration>
43*7836SJohn.Forte@Sun.COM                <xsd:enumeration value="DiscoveryDomain"></xsd:enumeration>
44*7836SJohn.Forte@Sun.COM                <xsd:enumeration value="Node"></xsd:enumeration>
45*7836SJohn.Forte@Sun.COM            </xsd:restriction>
46*7836SJohn.Forte@Sun.COM        </xsd:simpleType>
47*7836SJohn.Forte@Sun.COM    </xsd:element>
48*7836SJohn.Forte@Sun.COM
49*7836SJohn.Forte@Sun.COM    <!--
50*7836SJohn.Forte@Sun.COM        Association type name for Discovery Domain membership and Discovery
51*7836SJohn.Forte@Sun.COM        Domain Set membership.
52*7836SJohn.Forte@Sun.COM    -->
53*7836SJohn.Forte@Sun.COM    <xsd:element name="AssociationType">
54*7836SJohn.Forte@Sun.COM        <xsd:simpleType>
55*7836SJohn.Forte@Sun.COM            <xsd:restriction base="xsd:string">
56*7836SJohn.Forte@Sun.COM                <xsd:enumeration value="DiscoveryDomainMember"/>
57*7836SJohn.Forte@Sun.COM                <xsd:enumeration value="DiscoveryDomainSetMember"/>
58*7836SJohn.Forte@Sun.COM            </xsd:restriction>
59*7836SJohn.Forte@Sun.COM        </xsd:simpleType>
60*7836SJohn.Forte@Sun.COM    </xsd:element>
61*7836SJohn.Forte@Sun.COM
62*7836SJohn.Forte@Sun.COM    <!--
63*7836SJohn.Forte@Sun.COM        Discovery Domain object.
64*7836SJohn.Forte@Sun.COM        Attribute name represent DD Symbolic Name defined in the iSNS spec.
65*7836SJohn.Forte@Sun.COM        Group isnsDDAttrGroup represents other attrtibutes defined in the
66*7836SJohn.Forte@Sun.COM        iSNS spec.
67*7836SJohn.Forte@Sun.COM        Note that the existence of isnsDDAttrGroup is made as optional.
68*7836SJohn.Forte@Sun.COM    -->
69*7836SJohn.Forte@Sun.COM    <xsd:element name="DiscoveryDomain">
70*7836SJohn.Forte@Sun.COM        <xsd:complexType>
71*7836SJohn.Forte@Sun.COM            <xsd:group ref="isns:isnsDDAttrGroup" minOccurs="0"/>
72*7836SJohn.Forte@Sun.COM            <xsd:attribute name="name" type="xsd:string" use="required"/>
73*7836SJohn.Forte@Sun.COM            <xsd:attribute name="id" type="xsd:positiveInteger" use="optional"/>
74*7836SJohn.Forte@Sun.COM            <xsd:attribute name="nodeCount" type="xsd:nonNegativeInteger" use="optional"/>
75*7836SJohn.Forte@Sun.COM        </xsd:complexType>
76*7836SJohn.Forte@Sun.COM    </xsd:element>
77*7836SJohn.Forte@Sun.COM    <xsd:group name="isnsDDAttrGroup">
78*7836SJohn.Forte@Sun.COM        <xsd:sequence>
79*7836SJohn.Forte@Sun.COM            <xsd:element name="BootList_Enabled" type="xsd:boolean"/>
80*7836SJohn.Forte@Sun.COM        </xsd:sequence>
81*7836SJohn.Forte@Sun.COM    </xsd:group>
82*7836SJohn.Forte@Sun.COM
83*7836SJohn.Forte@Sun.COM    <!--
84*7836SJohn.Forte@Sun.COM        Discovery Domain Set object.
85*7836SJohn.Forte@Sun.COM        Attribute name represent DD Set Symbolic Name defined in the iSNS spec.
86*7836SJohn.Forte@Sun.COM        Group isnsDDsetAttrGroup represents other attrtibutes defined in the
87*7836SJohn.Forte@Sun.COM        iSNS spec.
88*7836SJohn.Forte@Sun.COM        Note that the existence of isnsDDsetAttrGroup is made as optional.
89*7836SJohn.Forte@Sun.COM    -->
90*7836SJohn.Forte@Sun.COM    <xsd:element name="DiscoveryDomainSet">
91*7836SJohn.Forte@Sun.COM        <xsd:complexType>
92*7836SJohn.Forte@Sun.COM            <xsd:group ref="isns:isnsDDsetAttrGroup" minOccurs="0"/>
93*7836SJohn.Forte@Sun.COM            <xsd:attribute name="name" type="xsd:string" use="required"/>
94*7836SJohn.Forte@Sun.COM            <xsd:attribute name="id" type="xsd:positiveInteger" use="optional"/>
95*7836SJohn.Forte@Sun.COM        </xsd:complexType>
96*7836SJohn.Forte@Sun.COM    </xsd:element>
97*7836SJohn.Forte@Sun.COM    <xsd:group name="isnsDDsetAttrGroup">
98*7836SJohn.Forte@Sun.COM        <xsd:sequence>
99*7836SJohn.Forte@Sun.COM            <xsd:element name="Enabled" type="xsd:boolean"/>
100*7836SJohn.Forte@Sun.COM        </xsd:sequence>
101*7836SJohn.Forte@Sun.COM    </xsd:group>
102*7836SJohn.Forte@Sun.COM
103*7836SJohn.Forte@Sun.COM    <!--
104*7836SJohn.Forte@Sun.COM       isnsServer object for administratively configurable setting.
105*7836SJohn.Forte@Sun.COM    -->
106*7836SJohn.Forte@Sun.COM    <xsd:element name="isnsServer">
107*7836SJohn.Forte@Sun.COM        <xsd:complexType>
108*7836SJohn.Forte@Sun.COM            <xsd:group ref="isns:isnsServerAttrGroup" minOccurs="0"/>
109*7836SJohn.Forte@Sun.COM        </xsd:complexType>
110*7836SJohn.Forte@Sun.COM    </xsd:element>
111*7836SJohn.Forte@Sun.COM
112*7836SJohn.Forte@Sun.COM    <xsd:group name="isnsServerAttrGroup">
113*7836SJohn.Forte@Sun.COM        <xsd:sequence>
114*7836SJohn.Forte@Sun.COM                <xsd:element name="datastoreLocation" type="xsd:string"></xsd:element>
115*7836SJohn.Forte@Sun.COM                <xsd:element name="esiRetryThreshold" type="xsd:nonNegativeInteger"></xsd:element>
116*7836SJohn.Forte@Sun.COM                <xsd:element name="managementSCNEnabled" type="xsd:boolean"></xsd:element>
117*7836SJohn.Forte@Sun.COM                <xsd:element name="controlNodeName" type="xsd:string" nillable="true"></xsd:element>
118*7836SJohn.Forte@Sun.COM        </xsd:sequence>
119*7836SJohn.Forte@Sun.COM    </xsd:group>
120*7836SJohn.Forte@Sun.COM
121*7836SJohn.Forte@Sun.COM    <!--
122*7836SJohn.Forte@Sun.COM        Node object. Attribute name represent iSCSI name for a node
123*7836SJohn.Forte@Sun.COM        defined in the iSNS spec.
124*7836SJohn.Forte@Sun.COM        Group isnsNodeAttrGroup represents other attrtibutes including
125*7836SJohn.Forte@Sun.COM        Network Entity, Portal and Portal Group Tag.
126*7836SJohn.Forte@Sun.COM        Note that the existence of isnsNodeAttrGroup is made as optional.
127*7836SJohn.Forte@Sun.COM    -->
128*7836SJohn.Forte@Sun.COM    <xsd:element name="Node">
129*7836SJohn.Forte@Sun.COM        <xsd:complexType>
130*7836SJohn.Forte@Sun.COM            <xsd:group ref="isns:isnsNodeAttrGroup" minOccurs="0"/>
131*7836SJohn.Forte@Sun.COM            <xsd:attributeGroup ref="isns:nodeAttrs"/>
132*7836SJohn.Forte@Sun.COM        </xsd:complexType>
133*7836SJohn.Forte@Sun.COM    </xsd:element>
134*7836SJohn.Forte@Sun.COM
135*7836SJohn.Forte@Sun.COM    <!--
136*7836SJohn.Forte@Sun.COM       Attributes for Node object.
137*7836SJohn.Forte@Sun.COM       name and nodeType are specified.
138*7836SJohn.Forte@Sun.COM       Both attributes are required.
139*7836SJohn.Forte@Sun.COM    -->
140*7836SJohn.Forte@Sun.COM    <xsd:attributeGroup name="nodeAttrs">
141*7836SJohn.Forte@Sun.COM        <xsd:attribute name="name" type="xsd:string" use="required"/>
142*7836SJohn.Forte@Sun.COM        <xsd:attribute name="alias" type="xsd:string"/>
143*7836SJohn.Forte@Sun.COM        <!--
144*7836SJohn.Forte@Sun.COM           Add support for management clients needing XML documents
145*7836SJohn.Forte@Sun.COM           with properties representing whether or not the given node is
146*7836SJohn.Forte@Sun.COM           assigned or not, is registered or not, and a status timestamp stating
147*7836SJohn.Forte@Sun.COM           when the last time this information was determined.
148*7836SJohn.Forte@Sun.COM
149*7836SJohn.Forte@Sun.COM           @todo Since these properties are client-specific, we want to factor
150*7836SJohn.Forte@Sun.COM           them out into a separate schema that includes and extends this one.
151*7836SJohn.Forte@Sun.COM           Since this task has proven difficult in the short term, we defer this
152*7836SJohn.Forte@Sun.COM           until a future product cycle.
153*7836SJohn.Forte@Sun.COM        -->
154*7836SJohn.Forte@Sun.COM        <xsd:attribute name="assigned" type="xsd:boolean" use="optional"/>
155*7836SJohn.Forte@Sun.COM        <xsd:attribute name="registered" type="xsd:boolean" use="optional"/>
156*7836SJohn.Forte@Sun.COM        <xsd:attribute name="timestamp" type="xsd:string" use="optional"/>
157*7836SJohn.Forte@Sun.COM        <xsd:attribute name="type">
158*7836SJohn.Forte@Sun.COM            <xsd:simpleType>
159*7836SJohn.Forte@Sun.COM                <xsd:restriction base="xsd:string">
160*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Target"/>
161*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Initiator"/>
162*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Control"/>
163*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Unknown"/>
164*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Control/Target"/>
165*7836SJohn.Forte@Sun.COM                    <xsd:enumeration value="Control/Initiator"/>
166*7836SJohn.Forte@Sun.COM                </xsd:restriction>
167*7836SJohn.Forte@Sun.COM            </xsd:simpleType>
168*7836SJohn.Forte@Sun.COM        </xsd:attribute>
169*7836SJohn.Forte@Sun.COM    </xsd:attributeGroup>
170*7836SJohn.Forte@Sun.COM
171*7836SJohn.Forte@Sun.COM    <!--
172*7836SJohn.Forte@Sun.COM       Child elements for Node object.
173*7836SJohn.Forte@Sun.COM    -->
174*7836SJohn.Forte@Sun.COM    <xsd:group name="isnsNodeAttrGroup">
175*7836SJohn.Forte@Sun.COM        <xsd:sequence>
176*7836SJohn.Forte@Sun.COM            <xsd:element name="SCN_Subscription" minOccurs="0" maxOccurs="8">
177*7836SJohn.Forte@Sun.COM                <xsd:simpleType>
178*7836SJohn.Forte@Sun.COM                    <xsd:restriction base="xsd:string">
179*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Initiator and Self information only"/>
180*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Target and Self information only"/>
181*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Management Registration/SCN"/>
182*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Object Removed"/>
183*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Object Added"/>
184*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="Object Updated"/>
185*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="DD/DD-Set Member Removed"/>
186*7836SJohn.Forte@Sun.COM                        <xsd:enumeration value="DD/DD-Set Member Added"/>
187*7836SJohn.Forte@Sun.COM                    </xsd:restriction>
188*7836SJohn.Forte@Sun.COM                </xsd:simpleType>
189*7836SJohn.Forte@Sun.COM            </xsd:element>
190*7836SJohn.Forte@Sun.COM            <!--
191*7836SJohn.Forte@Sun.COM                Network Entity attributes
192*7836SJohn.Forte@Sun.COM            -->
193*7836SJohn.Forte@Sun.COM            <xsd:element name="Network_Entity">
194*7836SJohn.Forte@Sun.COM                <xsd:complexType>
195*7836SJohn.Forte@Sun.COM                    <xsd:sequence>
196*7836SJohn.Forte@Sun.COM                    <xsd:element name="Entity_ID">
197*7836SJohn.Forte@Sun.COM                        <xsd:simpleType>
198*7836SJohn.Forte@Sun.COM                            <xsd:restriction base="xsd:string">
199*7836SJohn.Forte@Sun.COM                                <xsd:minLength value="4"/>
200*7836SJohn.Forte@Sun.COM                                <xsd:maxLength value="256"/>
201*7836SJohn.Forte@Sun.COM                            </xsd:restriction>
202*7836SJohn.Forte@Sun.COM                       </xsd:simpleType>
203*7836SJohn.Forte@Sun.COM                    </xsd:element>
204*7836SJohn.Forte@Sun.COM                    <xsd:element name="Entity_Protocol" type="xsd:integer" minOccurs="0"></xsd:element>
205*7836SJohn.Forte@Sun.COM                    <xsd:element name="Management_IP_Addr" minOccurs="0">
206*7836SJohn.Forte@Sun.COM                        <xsd:simpleType>
207*7836SJohn.Forte@Sun.COM                            <xsd:restriction base="xsd:string">
208*7836SJohn.Forte@Sun.COM                                <xsd:maxLength value="46"/>
209*7836SJohn.Forte@Sun.COM                            </xsd:restriction>
210*7836SJohn.Forte@Sun.COM                        </xsd:simpleType>
211*7836SJohn.Forte@Sun.COM                    </xsd:element>
212*7836SJohn.Forte@Sun.COM                    <xsd:element name="Entity_Reg_Timestamp" type="xsd:unsignedLong" minOccurs="0"/>
213*7836SJohn.Forte@Sun.COM                    <xsd:element name="Protocol_Version_Range" minOccurs="0">
214*7836SJohn.Forte@Sun.COM                        <xsd:complexType>
215*7836SJohn.Forte@Sun.COM                            <xsd:sequence>
216*7836SJohn.Forte@Sun.COM                                <xsd:element name="minVersion" type="xsd:unsignedShort"/>
217*7836SJohn.Forte@Sun.COM                                <xsd:element name="maxVersion" type="xsd:unsignedShort"/>
218*7836SJohn.Forte@Sun.COM                            </xsd:sequence>
219*7836SJohn.Forte@Sun.COM                        </xsd:complexType>
220*7836SJohn.Forte@Sun.COM                    </xsd:element>
221*7836SJohn.Forte@Sun.COM                    <xsd:element name="Registration_Period" type="xsd:unsignedInt" minOccurs="0"/>
222*7836SJohn.Forte@Sun.COM                </xsd:sequence>
223*7836SJohn.Forte@Sun.COM            </xsd:complexType>
224*7836SJohn.Forte@Sun.COM            </xsd:element>
225*7836SJohn.Forte@Sun.COM
226*7836SJohn.Forte@Sun.COM           <!--
227*7836SJohn.Forte@Sun.COM                Portal attributes including Portal Group Tag
228*7836SJohn.Forte@Sun.COM           -->
229*7836SJohn.Forte@Sun.COM
230*7836SJohn.Forte@Sun.COM            <xsd:element name="Portal" maxOccurs="unbounded" >
231*7836SJohn.Forte@Sun.COM                <xsd:complexType>
232*7836SJohn.Forte@Sun.COM                    <xsd:sequence>
233*7836SJohn.Forte@Sun.COM                        <xsd:element name="IP_Addr">
234*7836SJohn.Forte@Sun.COM                            <xsd:simpleType>
235*7836SJohn.Forte@Sun.COM                                <xsd:restriction base="xsd:string">
236*7836SJohn.Forte@Sun.COM                                    <xsd:maxLength value="46"/>
237*7836SJohn.Forte@Sun.COM                                </xsd:restriction>
238*7836SJohn.Forte@Sun.COM                            </xsd:simpleType>
239*7836SJohn.Forte@Sun.COM                        </xsd:element>
240*7836SJohn.Forte@Sun.COM                        <xsd:element name="UDP_TCP_port">
241*7836SJohn.Forte@Sun.COM                            <xsd:complexType>
242*7836SJohn.Forte@Sun.COM                                <xsd:sequence>
243*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Type">
244*7836SJohn.Forte@Sun.COM                                        <xsd:simpleType>
245*7836SJohn.Forte@Sun.COM                                            <xsd:restriction base="xsd:string">
246*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="TCP"/>
247*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="UDP"/>
248*7836SJohn.Forte@Sun.COM                                            </xsd:restriction>
249*7836SJohn.Forte@Sun.COM                                        </xsd:simpleType>
250*7836SJohn.Forte@Sun.COM                                    </xsd:element>
251*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Number" type="xsd:unsignedShort"/>
252*7836SJohn.Forte@Sun.COM                                </xsd:sequence>
253*7836SJohn.Forte@Sun.COM                            </xsd:complexType>
254*7836SJohn.Forte@Sun.COM                        </xsd:element>
255*7836SJohn.Forte@Sun.COM                        <xsd:element name="Group_Tag">
256*7836SJohn.Forte@Sun.COM                            <xsd:simpleType>
257*7836SJohn.Forte@Sun.COM                                <xsd:restriction base="xsd:nonNegativeInteger">
258*7836SJohn.Forte@Sun.COM                                    <xsd:maxInclusive value="65535"/>
259*7836SJohn.Forte@Sun.COM                                </xsd:restriction>
260*7836SJohn.Forte@Sun.COM                            </xsd:simpleType>
261*7836SJohn.Forte@Sun.COM                        </xsd:element>
262*7836SJohn.Forte@Sun.COM                        <xsd:element name="Symbolic_Name" minOccurs="0">
263*7836SJohn.Forte@Sun.COM                            <xsd:simpleType>
264*7836SJohn.Forte@Sun.COM                                <xsd:restriction base="xsd:string">
265*7836SJohn.Forte@Sun.COM                                    <xsd:maxLength value="256"/>
266*7836SJohn.Forte@Sun.COM                                </xsd:restriction>
267*7836SJohn.Forte@Sun.COM                            </xsd:simpleType>
268*7836SJohn.Forte@Sun.COM                        </xsd:element>
269*7836SJohn.Forte@Sun.COM                        <xsd:element name="ESI_Interval" type="xsd:positiveInteger" minOccurs="0"/>
270*7836SJohn.Forte@Sun.COM                        <xsd:element name="ESI_Port" minOccurs="0">
271*7836SJohn.Forte@Sun.COM                            <xsd:complexType>
272*7836SJohn.Forte@Sun.COM                                <xsd:sequence>
273*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Type">
274*7836SJohn.Forte@Sun.COM                                        <xsd:simpleType>
275*7836SJohn.Forte@Sun.COM                                            <xsd:restriction base="xsd:string">
276*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="TCP"/>
277*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="UDP"/>
278*7836SJohn.Forte@Sun.COM                                            </xsd:restriction>
279*7836SJohn.Forte@Sun.COM                                        </xsd:simpleType>
280*7836SJohn.Forte@Sun.COM                                    </xsd:element>
281*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Number" type="xsd:unsignedShort"/>
282*7836SJohn.Forte@Sun.COM                                </xsd:sequence>
283*7836SJohn.Forte@Sun.COM                            </xsd:complexType>
284*7836SJohn.Forte@Sun.COM                            </xsd:element>
285*7836SJohn.Forte@Sun.COM                        <xsd:element name="SCN_Port" minOccurs="0">
286*7836SJohn.Forte@Sun.COM                            <xsd:complexType>
287*7836SJohn.Forte@Sun.COM                                <xsd:sequence>
288*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Type">
289*7836SJohn.Forte@Sun.COM                                        <xsd:simpleType>
290*7836SJohn.Forte@Sun.COM                                            <xsd:restriction base="xsd:string">
291*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="TCP"/>
292*7836SJohn.Forte@Sun.COM                                                <xsd:enumeration value="UDP"/>
293*7836SJohn.Forte@Sun.COM                                            </xsd:restriction>
294*7836SJohn.Forte@Sun.COM                                        </xsd:simpleType>
295*7836SJohn.Forte@Sun.COM                                    </xsd:element>
296*7836SJohn.Forte@Sun.COM                                    <xsd:element name="Port_Number" type="xsd:unsignedShort"/>
297*7836SJohn.Forte@Sun.COM                                </xsd:sequence>
298*7836SJohn.Forte@Sun.COM                            </xsd:complexType>
299*7836SJohn.Forte@Sun.COM                        </xsd:element>
300*7836SJohn.Forte@Sun.COM                   </xsd:sequence>
301*7836SJohn.Forte@Sun.COM                </xsd:complexType>
302*7836SJohn.Forte@Sun.COM            </xsd:element>
303*7836SJohn.Forte@Sun.COM        </xsd:sequence>
304*7836SJohn.Forte@Sun.COM    </xsd:group>
305*7836SJohn.Forte@Sun.COM
306*7836SJohn.Forte@Sun.COM    <!--
307*7836SJohn.Forte@Sun.COM        Discovery Domain Membership Association.
308*7836SJohn.Forte@Sun.COM        Attribute DDName represents Discovery Domain name and NodeName
309*7836SJohn.Forte@Sun.COM        a node name to indicate the association pair.
310*7836SJohn.Forte@Sun.COM        Note that the element has only attributes.
311*7836SJohn.Forte@Sun.COM    -->
312*7836SJohn.Forte@Sun.COM    <xsd:element name="DiscoveryDomainMember">
313*7836SJohn.Forte@Sun.COM        <xsd:complexType>
314*7836SJohn.Forte@Sun.COM            <xsd:attribute name="DDName" type="xsd:string" use="required"/>
315*7836SJohn.Forte@Sun.COM            <xsd:attribute name="NodeName" type="xsd:string" use="required"/>
316*7836SJohn.Forte@Sun.COM        </xsd:complexType>
317*7836SJohn.Forte@Sun.COM    </xsd:element>
318*7836SJohn.Forte@Sun.COM
319*7836SJohn.Forte@Sun.COM    <!--
320*7836SJohn.Forte@Sun.COM        Discovery Domain Set Membership Association.
321*7836SJohn.Forte@Sun.COM        Attribute DDName represents Discovery Domain name and DDsetName
322*7836SJohn.Forte@Sun.COM        Discovery Domain Set name to indicate the association pair.
323*7836SJohn.Forte@Sun.COM        Note that the element has only attributes.
324*7836SJohn.Forte@Sun.COM    -->
325*7836SJohn.Forte@Sun.COM    <xsd:element name="DiscoveryDomainSetMember">
326*7836SJohn.Forte@Sun.COM        <xsd:complexType>
327*7836SJohn.Forte@Sun.COM            <xsd:attribute name="DDName" type="xsd:string" use="required"/>
328*7836SJohn.Forte@Sun.COM            <xsd:attribute name="DDsetName" type="xsd:string" use="required"/>
329*7836SJohn.Forte@Sun.COM        </xsd:complexType>
330*7836SJohn.Forte@Sun.COM    </xsd:element>
331*7836SJohn.Forte@Sun.COM    <xsd:element name="Association">
332*7836SJohn.Forte@Sun.COM        <xsd:complexType>
333*7836SJohn.Forte@Sun.COM            <xsd:choice>
334*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:DiscoveryDomainMember"/>
335*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:DiscoveryDomainSetMember"/>
336*7836SJohn.Forte@Sun.COM            </xsd:choice>
337*7836SJohn.Forte@Sun.COM        </xsd:complexType>
338*7836SJohn.Forte@Sun.COM    </xsd:element>
339*7836SJohn.Forte@Sun.COM
340*7836SJohn.Forte@Sun.COM    <!--
341*7836SJohn.Forte@Sun.COM        Super element for iSNS object, Discovery Domain, Disocvery Domain
342*7836SJohn.Forte@Sun.COM        set and Node.
343*7836SJohn.Forte@Sun.COM    -->
344*7836SJohn.Forte@Sun.COM    <xsd:element name="isnsObject">
345*7836SJohn.Forte@Sun.COM        <xsd:complexType>
346*7836SJohn.Forte@Sun.COM            <xsd:choice>
347*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:Node"/>
348*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:DiscoveryDomain"/>
349*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:DiscoveryDomainSet"/>
350*7836SJohn.Forte@Sun.COM            </xsd:choice>
351*7836SJohn.Forte@Sun.COM        </xsd:complexType>
352*7836SJohn.Forte@Sun.COM    </xsd:element>
353*7836SJohn.Forte@Sun.COM
354*7836SJohn.Forte@Sun.COM
355*7836SJohn.Forte@Sun.COM    <!--
356*7836SJohn.Forte@Sun.COM        Result element represent the response value for an isns request
357*7836SJohn.Forte@Sun.COM        operation including status and error information.
358*7836SJohn.Forte@Sun.COM    -->
359*7836SJohn.Forte@Sun.COM    <xsd:element name="result">
360*7836SJohn.Forte@Sun.COM        <xsd:complexType>
361*7836SJohn.Forte@Sun.COM            <xsd:sequence>
362*7836SJohn.Forte@Sun.COM                <xsd:element name="status" type="xsd:integer" minOccurs="1"/>
363*7836SJohn.Forte@Sun.COM                <xsd:element name="message" minOccurs="0" nillable="false">
364*7836SJohn.Forte@Sun.COM                    <xsd:simpleType>
365*7836SJohn.Forte@Sun.COM                        <xsd:restriction base="xsd:string">
366*7836SJohn.Forte@Sun.COM                            <xsd:whiteSpace value="preserve"/>
367*7836SJohn.Forte@Sun.COM                        </xsd:restriction>
368*7836SJohn.Forte@Sun.COM                    </xsd:simpleType>
369*7836SJohn.Forte@Sun.COM                </xsd:element>
370*7836SJohn.Forte@Sun.COM            </xsd:sequence>
371*7836SJohn.Forte@Sun.COM        </xsd:complexType>
372*7836SJohn.Forte@Sun.COM     </xsd:element>
373*7836SJohn.Forte@Sun.COM
374*7836SJohn.Forte@Sun.COM     <!--
375*7836SJohn.Forte@Sun.COM        Request operations for iSNS management applicatioin.
376*7836SJohn.Forte@Sun.COM        Any of request can be included multiple times.
377*7836SJohn.Forte@Sun.COM     -->
378*7836SJohn.Forte@Sun.COM     <xsd:element name="isnsRequest">
379*7836SJohn.Forte@Sun.COM         <xsd:complexType>
380*7836SJohn.Forte@Sun.COM             <xsd:sequence>
381*7836SJohn.Forte@Sun.COM                 <xsd:element name="description" type="xsd:string" minOccurs="0"/>
382*7836SJohn.Forte@Sun.COM                 <xsd:choice maxOccurs="1">
383*7836SJohn.Forte@Sun.COM
384*7836SJohn.Forte@Sun.COM                 <!--
385*7836SJohn.Forte@Sun.COM                    get operation returns details of a given iSNS object instance.
386*7836SJohn.Forte@Sun.COM
387*7836SJohn.Forte@Sun.COM                    input: an object instance.  Specifying only the name
388*7836SJohn.Forte@Sun.COM                        attribute of an isnsObject insance will be sufficient
389*7836SJohn.Forte@Sun.COM                        for the server to serve the request.
390*7836SJohn.Forte@Sun.COM                        Ex) <get
391*7836SJohn.Forte@Sun.COM                    output: an object instance with fully populated
392*7836SJohn.Forte@Sun.COM                        isns{Node|Discveroy_Domain|Discovery_Domain_Set]AttrGroup
393*7836SJohn.Forte@Sun.COM                        or error info when there is failure.
394*7836SJohn.Forte@Sun.COM                 -->
395*7836SJohn.Forte@Sun.COM                    <xsd:element name="get">
396*7836SJohn.Forte@Sun.COM                         <xsd:complexType>
397*7836SJohn.Forte@Sun.COM                             <xsd:choice>
398*7836SJohn.Forte@Sun.COM                                <xsd:element ref="isns:isnsObject" maxOccurs="unbounded"/>
399*7836SJohn.Forte@Sun.COM                                <xsd:element ref="isns:isnsServer" maxOccurs="1"/>
400*7836SJohn.Forte@Sun.COM                             </xsd:choice>
401*7836SJohn.Forte@Sun.COM                         </xsd:complexType>
402*7836SJohn.Forte@Sun.COM                    </xsd:element>
403*7836SJohn.Forte@Sun.COM
404*7836SJohn.Forte@Sun.COM                <!--
405*7836SJohn.Forte@Sun.COM                    getAssociated operation returns a list of object
406*7836SJohn.Forte@Sun.COM                    instances that are asscoiated with the given Association
407*7836SJohn.Forte@Sun.COM                    type name and a given object instance.
408*7836SJohn.Forte@Sun.COM
409*7836SJohn.Forte@Sun.COM                    input: an Association type name and an object instance.
410*7836SJohn.Forte@Sun.COM                        Specifying the name attribute is sufficient for
411*7836SJohn.Forte@Sun.COM                        the request.
412*7836SJohn.Forte@Sun.COM                        Ex) <get
413*7836SJohn.Forte@Sun.COM                    output: a list of object instances which is assciated with
414*7836SJohn.Forte@Sun.COM                        the given object instance through the given association.
415*7836SJohn.Forte@Sun.COM
416*7836SJohn.Forte@Sun.COM                        When there is failure for the request, error info will
417*7836SJohn.Forte@Sun.COM                        be returned.
418*7836SJohn.Forte@Sun.COM                -->
419*7836SJohn.Forte@Sun.COM                     <xsd:element name="getAssociated">
420*7836SJohn.Forte@Sun.COM                         <xsd:complexType>
421*7836SJohn.Forte@Sun.COM                             <xsd:sequence maxOccurs="unbounded">
422*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:AssociationType"/>
423*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:isnsObject"/>
424*7836SJohn.Forte@Sun.COM                             </xsd:sequence>
425*7836SJohn.Forte@Sun.COM                         </xsd:complexType>
426*7836SJohn.Forte@Sun.COM                     </xsd:element>
427*7836SJohn.Forte@Sun.COM
428*7836SJohn.Forte@Sun.COM                         <!--
429*7836SJohn.Forte@Sun.COM                    create operation either creates a new object instance
430*7836SJohn.Forte@Sun.COM                    or modify an object instance if the name of the given object
431*7836SJohn.Forte@Sun.COM                    instance already exists.
432*7836SJohn.Forte@Sun.COM
433*7836SJohn.Forte@Sun.COM                    input: an object instance with fully populated
434*7836SJohn.Forte@Sun.COM                        isns{Node|Discveroy_Domain|Discovery_Domain_Set]AttrGroup
435*7836SJohn.Forte@Sun.COM
436*7836SJohn.Forte@Sun.COM                    output: status
437*7836SJohn.Forte@Sun.COM                -->
438*7836SJohn.Forte@Sun.COM                     <xsd:element name="createModify">
439*7836SJohn.Forte@Sun.COM                         <xsd:complexType>
440*7836SJohn.Forte@Sun.COM                             <xsd:choice>
441*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainMember" maxOccurs="unbounded" />
442*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomain" maxOccurs="unbounded"/>
443*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainSetMember" maxOccurs="unbounded"/>
444*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainSet" maxOccurs="unbounded"/>
445*7836SJohn.Forte@Sun.COM                             </xsd:choice>
446*7836SJohn.Forte@Sun.COM                         </xsd:complexType>
447*7836SJohn.Forte@Sun.COM                     </xsd:element>
448*7836SJohn.Forte@Sun.COM
449*7836SJohn.Forte@Sun.COM
450*7836SJohn.Forte@Sun.COM                         <!--
451*7836SJohn.Forte@Sun.COM                    delete operation delete the given object instance.
452*7836SJohn.Forte@Sun.COM
453*7836SJohn.Forte@Sun.COM                    input: an object instance.  Specifying only the name
454*7836SJohn.Forte@Sun.COM                        attribute of an isnsObject insance will be sufficient
455*7836SJohn.Forte@Sun.COM                        for the server to serve the request.
456*7836SJohn.Forte@Sun.COM                        Ex) <get
457*7836SJohn.Forte@Sun.COM                    output: status
458*7836SJohn.Forte@Sun.COM                -->
459*7836SJohn.Forte@Sun.COM                     <xsd:element name="delete">
460*7836SJohn.Forte@Sun.COM                         <xsd:complexType>
461*7836SJohn.Forte@Sun.COM                             <xsd:choice>
462*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomain" maxOccurs="unbounded"/>
463*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainSet" maxOccurs="unbounded"/>
464*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainMember" maxOccurs="unbounded"/>
465*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:DiscoveryDomainSetMember" maxOccurs="unbounded"/>
466*7836SJohn.Forte@Sun.COM                             </xsd:choice>
467*7836SJohn.Forte@Sun.COM                         </xsd:complexType>
468*7836SJohn.Forte@Sun.COM                     </xsd:element>
469*7836SJohn.Forte@Sun.COM
470*7836SJohn.Forte@Sun.COM               <!--
471*7836SJohn.Forte@Sun.COM                    enumerate operation returns a list of object instances for the
472*7836SJohn.Forte@Sun.COM                    given object type.
473*7836SJohn.Forte@Sun.COM
474*7836SJohn.Forte@Sun.COM                    input: an object type name.
475*7836SJohn.Forte@Sun.COM                        Ex) <get
476*7836SJohn.Forte@Sun.COM                    output: a list of object instances for the given obect type
477*7836SJohn.Forte@Sun.COM                    or error info when there is failure.
478*7836SJohn.Forte@Sun.COM                -->
479*7836SJohn.Forte@Sun.COM                     <xsd:element name="enumerate">
480*7836SJohn.Forte@Sun.COM                         <xsd:complexType>
481*7836SJohn.Forte@Sun.COM                             <xsd:sequence>
482*7836SJohn.Forte@Sun.COM                                 <xsd:element ref="isns:isnsObjectType"/>
483*7836SJohn.Forte@Sun.COM                             </xsd:sequence>
484*7836SJohn.Forte@Sun.COM                         </xsd:complexType>
485*7836SJohn.Forte@Sun.COM                     </xsd:element>
486*7836SJohn.Forte@Sun.COM                     </xsd:choice>
487*7836SJohn.Forte@Sun.COM             </xsd:sequence>
488*7836SJohn.Forte@Sun.COM         </xsd:complexType>
489*7836SJohn.Forte@Sun.COM    </xsd:element>
490*7836SJohn.Forte@Sun.COM
491*7836SJohn.Forte@Sun.COM
492*7836SJohn.Forte@Sun.COM   <!--
493*7836SJohn.Forte@Sun.COM       isnsResponse returns either object instance information or
494*7836SJohn.Forte@Sun.COM       status.
495*7836SJohn.Forte@Sun.COM
496*7836SJohn.Forte@Sun.COM       When the request is 'get'
497*7836SJohn.Forte@Sun.COM            the response should be fully populated an obejct instance.
498*7836SJohn.Forte@Sun.COM       When the request is createModify or delete
499*7836SJohn.Forte@Sun.COM            the response should be status.
500*7836SJohn.Forte@Sun.COM       When the request is getAssociated or enumerate
501*7836SJohn.Forte@Sun.COM            the response should be a list of an object instance
502*7836SJohn.Forte@Sun.COM            with name attribute set.
503*7836SJohn.Forte@Sun.COM    -->
504*7836SJohn.Forte@Sun.COM
505*7836SJohn.Forte@Sun.COM    <xsd:element name="isnsResponse">
506*7836SJohn.Forte@Sun.COM        <xsd:complexType>
507*7836SJohn.Forte@Sun.COM            <xsd:sequence>
508*7836SJohn.Forte@Sun.COM            <xsd:element name="description" type="xsd:string" minOccurs="0"/>
509*7836SJohn.Forte@Sun.COM            <xsd:element ref="isns:result" maxOccurs="1" minOccurs="1"/>
510*7836SJohn.Forte@Sun.COM            <xsd:choice minOccurs="0">
511*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:isnsObject" maxOccurs="unbounded" minOccurs="0"/>
512*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:isnsServer" maxOccurs="1" minOccurs="0"/>
513*7836SJohn.Forte@Sun.COM                <xsd:element ref="isns:Association" maxOccurs="unbounded" minOccurs="0"/>
514*7836SJohn.Forte@Sun.COM            </xsd:choice>
515*7836SJohn.Forte@Sun.COM            </xsd:sequence>
516*7836SJohn.Forte@Sun.COM        </xsd:complexType>
517*7836SJohn.Forte@Sun.COM    </xsd:element>
518*7836SJohn.Forte@Sun.COM</xsd:schema>
519