1 <?xml version = "1.0" encoding = "UTF-8"?>
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onap.org/sdnc/svclogic" xmlns="http://www.onap.org/sdnc/svclogic">
4 <xsd:simpleType name="modeType">
5 <xsd:restriction base="xsd:string">
6 <xsd:enumeration value="sync" />
7 <xsd:enumeration value="async" />
11 <xsd:group name="node">
13 <xsd:element ref="block" />
14 <xsd:element ref="is-available" />
15 <xsd:element ref="exists" />
16 <xsd:element ref="reserve" />
17 <xsd:element ref="release" />
18 <xsd:element ref="allocate" />
19 <xsd:element ref="get-resource" />
20 <xsd:element ref="configure" />
21 <xsd:element ref="return" />
22 <xsd:element ref="switch" />
23 <xsd:element ref="record" />
24 <xsd:element ref="save" />
25 <xsd:element ref="for" />
26 <xsd:element ref="set" />
27 <xsd:element ref="execute" />
28 <xsd:element ref="delete" />
29 <xsd:element ref="update" />
30 <xsd:element ref="call" />
31 <xsd:element ref="notify" />
32 <xsd:element ref="break" />
33 <xsd:element ref="while" />
34 <xsd:element ref="exit" />
38 <xsd:element name="service-logic">
41 <xsd:element ref="method" minOccurs="0" maxOccurs="100" />
43 <xsd:attribute name="module" use="required" type="xsd:string" />
44 <xsd:attribute name="version" use="required" type="xsd:string" />
48 <xsd:element name="method">
51 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
53 <xsd:attribute name="rpc" use="required" type="xsd:string" />
54 <xsd:attribute name="mode" use="optional" type="modeType" />
58 <xsd:element name="block">
61 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
63 <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
67 <xsd:element name="is-available">
70 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
72 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
73 <xsd:attribute name="plugin" use="required" type="xsd:string" />
74 <xsd:attribute name="resource" use="required" type="xsd:string" />
75 <xsd:attribute name="key" use="optional" type="xsd:string" />
79 <xsd:element name="exists">
82 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
84 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
85 <xsd:attribute name="plugin" use="required" type="xsd:string" />
86 <xsd:attribute name="resource" use="required" type="xsd:string" />
87 <xsd:attribute name="key" use="required" type="xsd:string" />
91 <xsd:element name="outcome">
94 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
96 <xsd:attribute name="ref" use="optional" type="xsd:string" />
97 <xsd:attribute name="value" use="required" type="xsd:string" />
101 <xsd:element name="reserve">
104 <!-- This node does not actually read from parameters -->
105 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
106 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
108 <xsd:attribute name="plugin" use="required" type="xsd:string" />
109 <xsd:attribute name="resource" use="required" type="xsd:string" />
110 <xsd:attribute name="key" use="optional" type="xsd:string" />
111 <xsd:attribute name="select" use="optional" type="xsd:string" />
112 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
116 <xsd:element name="release">
119 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
121 <xsd:attribute name="plugin" use="required" type="xsd:string" />
122 <xsd:attribute name="resource" use="required" type="xsd:string" />
123 <xsd:attribute name="key" use="optional" type="xsd:string" />
124 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
128 <xsd:element name="record">
131 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
132 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
134 <xsd:attribute name="plugin" use="required" type="xsd:string" />
138 <xsd:element name="allocate">
141 <!-- This node does not actually read from parameters -->
142 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
143 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
145 <xsd:attribute name="plugin" use="required" type="xsd:string" />
146 <xsd:attribute name="resource" use="required" type="xsd:string" />
147 <xsd:attribute name="key" use="required" type="xsd:string" />
148 <xsd:attribute name="pfx" use="required" type="xsd:string" />
152 <xsd:element name="get-resource">
155 <!-- This node does not actually read from parameters -->
156 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
157 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
159 <xsd:attribute name="plugin" use="required" type="xsd:string" />
160 <xsd:attribute name="resource" use="required" type="xsd:string" />
161 <xsd:attribute name="key" use="optional" type="xsd:string" />
162 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
163 <xsd:attribute name="order-by" use="optional" type="xsd:string" />
164 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
165 <!-- force is retired and does not do anything -->
166 <xsd:attribute name="force" use="optional" type="xsd:string" />
170 <xsd:element name="configure">
173 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
174 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
176 <xsd:attribute name="adaptor" use="required" type="xsd:string" />
177 <xsd:attribute name="key" use="required" type="xsd:string" />
178 <xsd:attribute name="activate" use="optional" type="xsd:boolean" />
183 <xsd:element name="parameter">
185 <xsd:attribute name="name" use="required" type="xsd:string" />
186 <xsd:attribute name="value" use="required" type="xsd:string" />
191 <xsd:element name="return">
194 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
196 <xsd:attribute name="status" use="optional" type="xsd:string" />
200 <xsd:element name="switch">
203 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
205 <xsd:attribute name="test" use="required" type="xsd:string" />
209 <xsd:element name="save">
212 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
213 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
215 <xsd:attribute name="plugin" use="required" type="xsd:string" />
216 <xsd:attribute name="resource" use="required" type="xsd:string" />
217 <xsd:attribute name="key" use="optional" type="xsd:string" />
218 <xsd:attribute name="force" use="optional" type="xsd:boolean" />
219 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
220 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
224 <xsd:element name="delete">
227 <!-- This node does not actually read from parameters -->
228 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
229 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
231 <xsd:attribute name="plugin" use="required" type="xsd:string" />
232 <xsd:attribute name="resource" use="required" type="xsd:string" />
233 <xsd:attribute name="key" use="optional" type="xsd:string" />
234 <!-- force is retired and does not do anything -->
235 <xsd:attribute name="force" use="optional" type="xsd:string" />
236 <!-- local-only is retired and does not do anything -->
237 <xsd:attribute name="local-only" use="optional" type="xsd:string" />
238 <!-- pfx is retired and does not do anything -->
239 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
243 <xsd:element name="for">
246 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
248 <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
249 <xsd:attribute name="index" use="required" type="xsd:string" />
250 <xsd:attribute name="start" use="required" type="xsd:string" />
251 <xsd:attribute name="end" use="required" type="xsd:string" />
252 <xsd:attribute name="silentFailure" use="optional" type="xsd:boolean" default="false" />
256 <xsd:element name="set">
259 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
261 <xsd:attribute name="only-if-unset" use="optional"
262 type="xsd:boolean" />
266 <xsd:element name="execute">
269 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
270 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
272 <xsd:attribute name="plugin" use="required" type="xsd:string" />
273 <xsd:attribute name="method" use="required" type="xsd:string" />
274 <xsd:attribute name="emitsOutcome" use="optional" type="xsd:boolean" />
278 <xsd:element name="update">
281 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
282 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
284 <xsd:attribute name="plugin" use="required" type="xsd:string" />
285 <xsd:attribute name="resource" use="required" type="xsd:string" />
286 <xsd:attribute name="key" use="optional" type="xsd:string" />
287 <xsd:attribute name="force" use="optional" type="xsd:boolean" />
288 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
289 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
293 <xsd:element name="call">
296 <!-- This node does not actually read from parameters -->
297 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
298 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
300 <xsd:attribute name="module" use="optional" type="xsd:string" />
301 <xsd:attribute name="rpc" use="required" type="xsd:string" />
302 <xsd:attribute name="version" use="optional" type="xsd:string" />
303 <xsd:attribute name="mode" use="required" type="xsd:string" />
307 <xsd:element name="notify">
310 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
312 <xsd:attribute name="plugin" use="optional" type="xsd:string" />
313 <xsd:attribute name="resource" use="optional" type="xsd:string" />
314 <xsd:attribute name="action" use="required" type="xsd:string" />
315 <xsd:attribute name="key" use="optional" type="xsd:string" />
316 <!-- force is retired and does not do anything -->
317 <xsd:attribute name="force" use="optional" type="xsd:string" />
321 <xsd:element name="break">
325 <xsd:element name="exit">
329 <xsd:element name="while">
332 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
334 <xsd:attribute name="test" use="required" type="xsd:string" />
335 <xsd:attribute name="do" use="optional" type="xsd:boolean" />