Krzysztof Kuzmicki | 11e395a | 2021-10-05 14:10:35 +0200 | [diff] [blame^] | 1 | openapi: 3.0.1 |
| 2 | info: |
| 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. |
| 9 | externalDocs: |
| 10 | description: 3GPP TS 28.550 V16.5.0; Performance assurance |
| 11 | url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/ |
| 12 | servers: |
| 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: '' |
| 24 | paths: |
| 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' |
| 122 | components: |
| 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 |