1 <?xml version = "1.0" encoding = "UTF-8"?>
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">
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" />
35 <xsd:element name="service-logic">
38 <xsd:element ref="method" minOccurs="0" maxOccurs="unbounded" />
40 <xsd:attribute name="module" use="required" type="xsd:string" />
41 <xsd:attribute name="version" use="required" type="xsd:string" />
45 <xsd:element name="method">
48 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />
50 <xsd:attribute name="rpc" use="required" type="xsd:string" />
51 <xsd:attribute name="mode" use="optional" type="modeType" />
55 <xsd:element name="block">
58 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />
60 <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
64 <xsd:element name="is-available">
67 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
69 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
70 <xsd:attribute name="plugin" use="required" type="xsd:string" />
71 <xsd:attribute name="resource" use="required" type="xsd:string" />
72 <xsd:attribute name="key" use="optional" type="xsd:string" />
76 <xsd:element name="exists">
79 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
81 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
82 <xsd:attribute name="plugin" use="required" type="xsd:string" />
83 <xsd:attribute name="resource" use="required" type="xsd:string" />
84 <xsd:attribute name="key" use="required" type="xsd:string" />
88 <xsd:element name="outcome">
91 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />
93 <xsd:attribute name="ref" use="optional" type="xsd:string" />
94 <xsd:attribute name="value" use="required" type="xsd:string" />
98 <xsd:element name="reserve">
101 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
102 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
104 <xsd:attribute name="plugin" use="required" type="xsd:string" />
105 <xsd:attribute name="resource" use="required" type="xsd:string" />
106 <xsd:attribute name="key" use="optional" type="xsd:string" />
107 <xsd:attribute name="select" use="optional" type="xsd:string" />
108 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
112 <xsd:element name="release">
115 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
117 <xsd:attribute name="plugin" use="required" type="xsd:string" />
118 <xsd:attribute name="resource" use="required" type="xsd:string" />
119 <xsd:attribute name="key" use="optional" type="xsd:string" />
120 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
124 <xsd:element name="record">
127 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
128 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
130 <xsd:attribute name="plugin" use="required" type="xsd:string" />
134 <xsd:element name="allocate">
137 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
138 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
140 <xsd:attribute name="plugin" use="required" type="xsd:string" />
141 <xsd:attribute name="resource" use="required" type="xsd:string" />
142 <xsd:attribute name="key" use="required" type="xsd:string" />
143 <xsd:attribute name="pfx" use="required" type="xsd:string" />
147 <xsd:element name="get-resource">
150 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
151 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
153 <xsd:attribute name="plugin" use="required" type="xsd:string" />
154 <xsd:attribute name="resource" use="required" type="xsd:string" />
155 <xsd:attribute name="key" use="optional" type="xsd:string" />
156 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
157 <xsd:attribute name="order-by" use="optional" type="xsd:string" />
158 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
159 <!-- force is retired and does not do anything -->
160 <xsd:attribute name="force" use="optional" type="xsd:string" />
164 <xsd:element name="configure">
167 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
168 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
170 <xsd:attribute name="adaptor" use="required" type="xsd:string" />
171 <xsd:attribute name="key" use="required" type="xsd:string" />
172 <xsd:attribute name="activate" use="optional" type="xsd:boolean" />
177 <xsd:element name="parameter">
179 <xsd:attribute name="name" use="required" type="xsd:string" />
180 <xsd:attribute name="value" use="required" type="xsd:string" />
185 <xsd:element name="return">
188 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
190 <xsd:attribute name="status" use="optional" type="xsd:string" />
191 <xsd:attribute name="value" use="optional" type="xsd:string" />
195 <xsd:element name="switch">
198 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
200 <xsd:attribute name="test" use="required" type="xsd:string" />
204 <xsd:element name="save">
207 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
208 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
210 <xsd:attribute name="plugin" use="required" type="xsd:string" />
211 <xsd:attribute name="resource" use="required" type="xsd:string" />
212 <xsd:attribute name="key" use="optional" type="xsd:string" />
213 <xsd:attribute name="force" use="optional" type="xsd:boolean" />
214 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
215 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
219 <xsd:element name="delete">
222 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
223 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
225 <xsd:attribute name="plugin" use="required" type="xsd:string" />
226 <xsd:attribute name="resource" use="required" type="xsd:string" />
227 <xsd:attribute name="key" use="optional" type="xsd:string" />
228 <!-- force is retired and does not do anything -->
229 <xsd:attribute name="force" use="optional" type="xsd:string" />
230 <!-- local-only is retired and does not do anything -->
231 <xsd:attribute name="local-only" use="optional" type="xsd:string" />
232 <!-- pfx is retired and does not do anything -->
233 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
237 <xsd:element name="for">
240 <xsd:group ref="node" minOccurs="0" maxOccurs="unbounded" />
242 <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
243 <xsd:attribute name="index" use="required" type="xsd:string" />
244 <xsd:attribute name="start" use="required" type="xsd:string" />
245 <xsd:attribute name="end" use="required" type="xsd:string" />
249 <xsd:element name="set">
252 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
254 <xsd:attribute name="only-if-unset" use="optional"
255 type="xsd:boolean" />
259 <xsd:element name="execute">
262 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
263 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
265 <xsd:attribute name="plugin" use="required" type="xsd:string" />
266 <xsd:attribute name="method" use="required" type="xsd:string" />
270 <xsd:element name="update">
273 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
274 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
276 <xsd:attribute name="plugin" use="required" type="xsd:string" />
277 <xsd:attribute name="resource" use="required" type="xsd:string" />
278 <xsd:attribute name="key" use="optional" type="xsd:string" />
279 <xsd:attribute name="force" use="optional" type="xsd:boolean" />
280 <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
281 <xsd:attribute name="pfx" use="optional" type="xsd:string" />
285 <xsd:element name="call">
288 <xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
289 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
291 <xsd:attribute name="module" use="optional" type="xsd:string" />
292 <xsd:attribute name="rpc" use="required" type="xsd:string" />
293 <xsd:attribute name="version" use="optional" type="xsd:string" />
294 <xsd:attribute name="mode" use="required" type="xsd:string" />
298 <xsd:element name="notify">
301 <xsd:element ref="outcome" minOccurs="0" maxOccurs="unbounded" />
303 <xsd:attribute name="plugin" use="optional" type="xsd:string" />
304 <xsd:attribute name="resource" use="optional" type="xsd:string" />
305 <xsd:attribute name="action" use="required" type="xsd:string" />
306 <xsd:attribute name="key" use="optional" type="xsd:string" />
307 <!-- force is retired and does not do anything -->
308 <xsd:attribute name="force" use="optional" type="xsd:string" />