blob: b6abe58b22ae893e3add0f00d1d7417fdcb95ca9 [file] [log] [blame]
Krzysztof Kuzmicki11e395a2021-10-05 14:10:35 +02001openapi: 3.0.1
2info:
3 title: TS 28.550 Performance Measurement Job Control Service
4 version: 16.5.0
5 description: >-
6 OAS 3.0.1 specification of the Performance Measurement Job Control Service
7 @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
8 All rights reserved.
9externalDocs:
10 description: 3GPP TS 28.550 V16.5.0; Performance assurance
11 url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/
12servers:
13 - url: 'http://{URI-DN-prefix}/{root}/PerfMeasJobCtrlMnS/v1650/{LDN-first-part}'
14 variables:
15 URI-DN-prefix:
16 description: See subclause 4.4 of TS 32.158
17 default: example.com
18 root:
19 description: See subclause 4.4 of TS 32.158
20 default: 3GPPManagement
21 LDN-first-part:
22 description: See subclause 4.4 of TS 32.158
23 default: ''
24paths:
25 /measJobs:
26 post:
27 summary: Create a measurement job
28 description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource.
29 requestBody:
30 required: true
31 content:
32 application/json:
33 schema:
34 $ref: '#/components/schemas/measJobCreation-RequestType'
35 responses:
36 '201':
37 description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned.
38 content:
39 application/json:
40 schema:
41 $ref: '#/components/schemas/measJobCreation-ResponseType'
42 '202':
43 description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned.
44 content:
45 application/json:
46 schema:
47 $ref: '#/components/schemas/measJobCreation-ResponseType'
48 default:
49 description: Error case.
50 content:
51 application/json:
52 schema:
53 $ref: '#/components/schemas/error-ResponseType'
54 get:
55 summary: Read resources of measurement jobs
56 description: 'With HTTP GET, resources of measurement jobs are read. The resources to be read are identified with the path component (base resource) and the query component (jobIdList) of the URI. The fields query component allows to select the resource properties to be returned.'
57 parameters:
58 - name: jobIdList
59 in: query
60 description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI.
61 required: true
62 schema:
63 type: array
64 items:
65 type: string
66 responses:
67 '200':
68 description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.'
69 content:
70 application/json:
71 schema:
72 $ref: '#/components/schemas/measJobsRetrieval-ResponseType'
73 default:
74 description: Error case.
75 content:
76 application/json:
77 schema:
78 $ref: '#/components/schemas/error-ResponseType'
79 '/measJobs/{jobId}':
80 get:
81 summary: Read resource of a single measurement job
82 description: 'With HTTP GET, resource of a measurement job is read. The resource to be read is identified with the path component of the URI.'
83 parameters:
84 - name: jobId
85 in: path
86 description: Identifies the measurement job to be read.
87 required: true
88 schema:
89 $ref: '#/components/schemas/uri-Type'
90 responses:
91 '200':
92 description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. '
93 content:
94 application/json:
95 schema:
96 $ref: '#/components/schemas/measJobsRetrieval-ResponseType'
97 default:
98 description: Error case.
99 content:
100 application/json:
101 schema:
102 $ref: '#/components/schemas/error-ResponseType'
103 delete:
104 summary: Delete a single measurement job
105 description: The measurement job is deleted by deleting the corresponding measurement job resource. The resource to be deleted is identified with the path component of the URI.
106 parameters:
107 - name: jobId
108 in: path
109 description: Identifies the measurement job to be deleted.
110 required: true
111 schema:
112 $ref: '#/components/schemas/uri-Type'
113 responses:
114 '204':
115 description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent.
116 default:
117 description: Error case.
118 content:
119 application/json:
120 schema:
121 $ref: '#/components/schemas/error-ResponseType'
122components:
123 schemas:
124 dateTime-Type:
125 type: string
126 format: date-Time
127 uri-Type:
128 type: string
129 measJobCreation-RequestType:
130 type: object
131 properties:
132 iOCName:
133 type: string
134 iOCInstanceList:
135 type: array
136 items:
137 $ref: '#/components/schemas/uri-Type'
138 measurementCategoryList:
139 type: array
140 items:
141 type: string
142 reportingMethod:
143 $ref: '#/components/schemas/reportingMethod-Type'
144 granularityPeriod:
145 type: integer
146 reportingPeriod:
147 type: integer
148 startTime:
149 $ref: '#/components/schemas/dateTime-Type'
150 stopTime:
151 $ref: '#/components/schemas/dateTime-Type'
152 schedule:
153 $ref: '#/components/schemas/schedule-Type'
154 streamTarget:
155 type: string
156 priority:
157 $ref: '#/components/schemas/priority-Type'
158 reliability:
159 type: string
160 measJobCreation-ResponseType:
161 type: object
162 properties:
163 unsupportedList:
164 type: array
165 items:
166 $ref: '#/components/schemas/unsupportedMeas-Type'
167 measJobsRetrieval-ResponseType:
168 type: object
169 properties:
170 jobInfoList:
171 type: array
172 items:
173 $ref: '#/components/schemas/measJobInfo-ResourceType'
174 error-ResponseType:
175 type: object
176 properties:
177 error:
178 type: object
179 properties:
180 errorInfo:
181 type: string
182 measJobInfo-ResourceType:
183 type: object
184 properties:
185 href:
186 $ref: '#/components/schemas/uri-Type'
187 iOCName:
188 type: string
189 iOCInstanceList:
190 type: array
191 items:
192 $ref: '#/components/schemas/uri-Type'
193 measurementCategoryList:
194 type: array
195 items:
196 type: string
197 reportingMethod:
198 $ref: '#/components/schemas/reportingMethod-Type'
199 granularityPeriod:
200 type: integer
201 reportingPeriod:
202 type: integer
203 startTime:
204 $ref: '#/components/schemas/dateTime-Type'
205 stopTime:
206 $ref: '#/components/schemas/dateTime-Type'
207 schedule:
208 $ref: '#/components/schemas/schedule-Type'
209 streamTarget:
210 type: string
211 priority:
212 $ref: '#/components/schemas/priority-Type'
213 reliability:
214 type: string
215 schedule-Type:
216 type: object
217 properties:
218 scheduleOption:
219 $ref: '#/components/schemas/scheduleOption-Type'
220 dailySchedule:
221 type: array
222 items:
223 $ref: '#/components/schemas/timeInterval-Type'
224 weeklySchedule:
225 type: array
226 items:
227 $ref: '#/components/schemas/scheduleOfDay-Type'
228 timeInterval-Type:
229 type: object
230 properties:
231 intervalStart:
232 type: string
233 format: Time
234 intervalEnd:
235 type: string
236 format: Time
237 scheduleOfDay-Type:
238 type: object
239 properties:
240 dayOfWeek:
241 $ref: '#/components/schemas/dayOfWeek-Type'
242 intervalsOfDay:
243 type: array
244 items:
245 $ref: '#/components/schemas/timeInterval-Type'
246 unsupportedMeas-Type:
247 type: object
248 properties:
249 iOCInstance:
250 $ref: '#/components/schemas/uri-Type'
251 measurementTypeName:
252 type: string
253 reason:
254 type: string
255 reportingMethod-Type:
256 type: string
257 enum:
258 - file
259 - streaming
260 priority-Type:
261 type: string
262 enum:
263 - low
264 - medium
265 - high
266 scheduleOption-Type:
267 type: string
268 enum:
269 - daily
270 - weekly
271 dayOfWeek-Type:
272 type: string
273 enum:
274 - Monday
275 - Tuesday
276 - Wednesday
277 - Thursday
278 - Friday
279 - Saturday
280 - Sunday