[SDNC-5] Boron port and bug fixes
[sdnc/core.git] / sli / common / src / test / resources / svclogic.xsd
1 <?xml version = "1.0" encoding = "UTF-8"?>\r
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.openecomp.org/sdnc/svclogic" xmlns="http://www.openecomp.org/sdnc/svclogic">\r
3 \r
4         <xsd:simpleType name="modeType">\r
5                 <xsd:restriction base="xsd:string">\r
6                         <xsd:enumeration value="sync" />\r
7                         <xsd:enumeration value="async" />\r
8                 </xsd:restriction>\r
9         </xsd:simpleType>\r
10 \r
11         <xsd:group name="node">\r
12                 <xsd:choice>\r
13                         <xsd:element ref="block" />\r
14                         <xsd:element ref="is-available" />\r
15                         <xsd:element ref="exists" />\r
16                         <xsd:element ref="reserve" />\r
17                         <xsd:element ref="release" />\r
18                         <xsd:element ref="allocate" />\r
19                         <xsd:element ref="get-resource" />\r
20                         <xsd:element ref="configure" />\r
21                         <xsd:element ref="return" />\r
22                         <xsd:element ref="switch" />\r
23                         <xsd:element ref="record" />\r
24                         <xsd:element ref="save" />\r
25                         <xsd:element ref="for" />\r
26                         <xsd:element ref="set" />\r
27                         <xsd:element ref="execute" />\r
28                         <xsd:element ref="delete" />\r
29                         <xsd:element ref="update" />\r
30                         <xsd:element ref="call" />\r
31                         <xsd:element ref="notify" />\r
32                         <xsd:element ref="break" />\r
33                 </xsd:choice>\r
34         </xsd:group>\r
35 \r
36         <xsd:element name="service-logic">\r
37                 <xsd:complexType>\r
38                         <xsd:sequence>\r
39                                 <xsd:element ref="method" minOccurs="0" maxOccurs="unbounded" />\r
40                         </xsd:sequence>\r
41                         <xsd:attribute name="module" use="required" type="xsd:string" />\r
42                         <xsd:attribute name="version" use="required" type="xsd:string" />\r
43                 </xsd:complexType>\r
44         </xsd:element>\r
45 \r
46         <xsd:element name="method">\r
47                 <xsd:complexType>\r
48                         <xsd:sequence>\r
49                                 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />\r
50                         </xsd:sequence>\r
51                         <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
52                         <xsd:attribute name="mode" use="optional" type="modeType" />\r
53                 </xsd:complexType>\r
54         </xsd:element>\r
55 \r
56         <xsd:element name="block">\r
57                 <xsd:complexType>\r
58                         <xsd:sequence>\r
59                                 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />\r
60                         </xsd:sequence>\r
61                         <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
62                 </xsd:complexType>\r
63         </xsd:element>\r
64 \r
65         <xsd:element name="is-available">\r
66                 <xsd:complexType>\r
67                         <xsd:sequence>\r
68                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
69                         </xsd:sequence>\r
70                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
71                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
72                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
73                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
74                 </xsd:complexType>\r
75         </xsd:element>\r
76 \r
77         <xsd:element name="exists">\r
78                 <xsd:complexType>\r
79                         <xsd:sequence>\r
80                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
81                         </xsd:sequence>\r
82                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
83                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
84                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
85                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
86                 </xsd:complexType>\r
87         </xsd:element>\r
88 \r
89         <xsd:element name="outcome">\r
90                 <xsd:complexType>\r
91                         <xsd:sequence>\r
92                                 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />\r
93                         </xsd:sequence>\r
94                         <xsd:attribute name="ref" use="optional" type="xsd:string" />\r
95                         <xsd:attribute name="value" use="required" type="xsd:string" />\r
96                 </xsd:complexType>\r
97         </xsd:element>\r
98 \r
99         <xsd:element name="reserve">\r
100                 <xsd:complexType>\r
101                         <xsd:sequence>\r
102                                 <!-- This node does not actually read from parameters -->\r
103                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
104                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
105                         </xsd:sequence>\r
106                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
107                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
108                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
109                         <xsd:attribute name="select" use="optional" type="xsd:string" />\r
110                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
111                 </xsd:complexType>\r
112         </xsd:element>\r
113 \r
114         <xsd:element name="release">\r
115                 <xsd:complexType>\r
116                         <xsd:sequence>\r
117                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
118                         </xsd:sequence>\r
119                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
120                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
121                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
122                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
123                 </xsd:complexType>\r
124         </xsd:element>\r
125 \r
126         <xsd:element name="record">\r
127                 <xsd:complexType>\r
128                         <xsd:sequence>\r
129                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
130                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
131                         </xsd:sequence>\r
132                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
133                 </xsd:complexType>\r
134         </xsd:element>\r
135 \r
136         <xsd:element name="allocate">\r
137                 <xsd:complexType>\r
138                         <xsd:sequence>\r
139                                 <!-- This node does not actually read from parameters -->\r
140                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
141                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
142                         </xsd:sequence>\r
143                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
144                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
145                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
146                         <xsd:attribute name="pfx" use="required" type="xsd:string" />\r
147                 </xsd:complexType>\r
148         </xsd:element>\r
149 \r
150         <xsd:element name="get-resource">\r
151                 <xsd:complexType>\r
152                         <xsd:sequence>\r
153                                 <!-- This node does not actually read from parameters -->\r
154                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
155                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
156                         </xsd:sequence>\r
157                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
158                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
159                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
160                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
161                         <xsd:attribute name="order-by" use="optional" type="xsd:string" />\r
162                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
163                         <!-- force is retired and does not do anything -->\r
164                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
165                 </xsd:complexType>\r
166         </xsd:element>\r
167 \r
168         <xsd:element name="configure">\r
169                 <xsd:complexType>\r
170                         <xsd:sequence>\r
171                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
172                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
173                         </xsd:sequence>\r
174                         <xsd:attribute name="adaptor" use="required" type="xsd:string" />\r
175                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
176                         <xsd:attribute name="activate" use="optional" type="xsd:boolean" />\r
177                 </xsd:complexType>\r
178         </xsd:element>\r
179 \r
180 \r
181         <xsd:element name="parameter">\r
182                 <xsd:complexType>\r
183                         <xsd:attribute name="name" use="required" type="xsd:string" />\r
184                         <xsd:attribute name="value" use="required" type="xsd:string" />\r
185                 </xsd:complexType>\r
186         </xsd:element>\r
187 \r
188 \r
189         <xsd:element name="return">\r
190                 <xsd:complexType>\r
191                         <xsd:sequence>\r
192                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
193                         </xsd:sequence>\r
194                         <xsd:attribute name="status" use="optional" type="xsd:string" />\r
195                 </xsd:complexType>\r
196         </xsd:element>\r
197 \r
198         <xsd:element name="switch">\r
199                 <xsd:complexType>\r
200                         <xsd:sequence>\r
201                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
202                         </xsd:sequence>\r
203                         <xsd:attribute name="test" use="required" type="xsd:string" />\r
204                 </xsd:complexType>\r
205         </xsd:element>\r
206 \r
207         <xsd:element name="save">\r
208                 <xsd:complexType>\r
209                         <xsd:sequence>\r
210                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
211                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
212                         </xsd:sequence>\r
213                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
214                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
215                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
216                         <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
217                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
218                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
219                 </xsd:complexType>\r
220         </xsd:element>\r
221 \r
222         <xsd:element name="delete">\r
223                 <xsd:complexType>\r
224                         <xsd:sequence>\r
225                                 <!-- This node does not actually read from parameters -->\r
226                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
227                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
228                         </xsd:sequence>\r
229                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
230                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
231                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
232                         <!-- force is retired and does not do anything -->\r
233                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
234                         <!-- local-only is retired and does not do anything -->\r
235                         <xsd:attribute name="local-only" use="optional" type="xsd:string" />\r
236                         <!-- pfx is retired and does not do anything -->\r
237                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
238                 </xsd:complexType>\r
239         </xsd:element>\r
240 \r
241         <xsd:element name="for">\r
242                 <xsd:complexType>\r
243                         <xsd:sequence>\r
244                                 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />\r
245                         </xsd:sequence>\r
246                         <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
247                         <xsd:attribute name="index" use="required" type="xsd:string" />\r
248                         <xsd:attribute name="start" use="required" type="xsd:string" />\r
249                         <xsd:attribute name="end" use="required" type="xsd:string" />\r
250                         <xsd:attribute name="silentFailure" use="optional" type="xsd:boolean" default="false" />\r
251                 </xsd:complexType>\r
252         </xsd:element>\r
253 \r
254         <xsd:element name="set">\r
255                 <xsd:complexType>\r
256                         <xsd:sequence>\r
257                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
258                         </xsd:sequence>\r
259                         <xsd:attribute name="only-if-unset" use="optional"\r
260                                 type="xsd:boolean" />\r
261                 </xsd:complexType>\r
262         </xsd:element>\r
263 \r
264         <xsd:element name="execute">\r
265                 <xsd:complexType>\r
266                         <xsd:sequence>\r
267                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
268                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
269                         </xsd:sequence>\r
270                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
271                         <xsd:attribute name="method" use="required" type="xsd:string" />\r
272                         <xsd:attribute name="emitsOutcome" use="optional" type="xsd:boolean" />\r
273                 </xsd:complexType>\r
274         </xsd:element>\r
275 \r
276         <xsd:element name="update">\r
277                 <xsd:complexType>\r
278                         <xsd:sequence>\r
279                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
280                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
281                         </xsd:sequence>\r
282                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
283                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
284                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
285                         <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
286                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
287                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
288                 </xsd:complexType>\r
289         </xsd:element>\r
290 \r
291         <xsd:element name="call">\r
292                 <xsd:complexType>\r
293                         <xsd:sequence>\r
294                                 <!-- This node does not actually read from parameters -->\r
295                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />\r
296                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
297                         </xsd:sequence>\r
298                         <xsd:attribute name="module" use="optional" type="xsd:string" />\r
299                         <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
300                         <xsd:attribute name="version" use="optional" type="xsd:string" />\r
301                         <xsd:attribute name="mode" use="required" type="xsd:string" />\r
302                 </xsd:complexType>\r
303         </xsd:element>\r
304 \r
305         <xsd:element name="notify">\r
306                 <xsd:complexType>\r
307                         <xsd:sequence>\r
308                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />\r
309                         </xsd:sequence>\r
310                         <xsd:attribute name="plugin" use="optional" type="xsd:string" />\r
311                         <xsd:attribute name="resource" use="optional" type="xsd:string" />\r
312                         <xsd:attribute name="action" use="required" type="xsd:string" />\r
313                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
314                         <!-- force is retired and does not do anything -->\r
315                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
316                 </xsd:complexType>\r
317         </xsd:element>\r
318 \r
319         <xsd:element name="break">\r
320                 <xsd:complexType />\r
321         </xsd:element>\r
322 \r
323 </xsd:schema>\r