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