blob: b6abe58b22ae893e3add0f00d1d7417fdcb95ca9 [file] [log] [blame]
openapi: 3.0.1
info:
title: TS 28.550 Performance Measurement Job Control Service
version: 16.5.0
description: >-
OAS 3.0.1 specification of the Performance Measurement Job Control Service
@ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 28.550 V16.5.0; Performance assurance
url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.550/
servers:
- url: 'http://{URI-DN-prefix}/{root}/PerfMeasJobCtrlMnS/v1650/{LDN-first-part}'
variables:
URI-DN-prefix:
description: See subclause 4.4 of TS 32.158
default: example.com
root:
description: See subclause 4.4 of TS 32.158
default: 3GPPManagement
LDN-first-part:
description: See subclause 4.4 of TS 32.158
default: ''
paths:
/measJobs:
post:
summary: Create a measurement job
description: To create a measurement job the representation of the measurement job is POSTed on the /measJobs collection resource.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/measJobCreation-RequestType'
responses:
'201':
description: Success case ("201 Created"). The representation of the newly created measurement job resource shall be returned.
content:
application/json:
schema:
$ref: '#/components/schemas/measJobCreation-ResponseType'
'202':
description: Partial success case ("202 Partically created"). The representation of the newly created measurement job resource with unsupported list shall be returned.
content:
application/json:
schema:
$ref: '#/components/schemas/measJobCreation-ResponseType'
default:
description: Error case.
content:
application/json:
schema:
$ref: '#/components/schemas/error-ResponseType'
get:
summary: Read resources of measurement jobs
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.'
parameters:
- name: jobIdList
in: query
description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI.
required: true
schema:
type: array
items:
type: string
responses:
'200':
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.'
content:
application/json:
schema:
$ref: '#/components/schemas/measJobsRetrieval-ResponseType'
default:
description: Error case.
content:
application/json:
schema:
$ref: '#/components/schemas/error-ResponseType'
'/measJobs/{jobId}':
get:
summary: Read resource of a single measurement job
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.'
parameters:
- name: jobId
in: path
description: Identifies the measurement job to be read.
required: true
schema:
$ref: '#/components/schemas/uri-Type'
responses:
'200':
description: 'Success case ("200 OK"). The resource identified in the path for retrieval is returned in the response message body. '
content:
application/json:
schema:
$ref: '#/components/schemas/measJobsRetrieval-ResponseType'
default:
description: Error case.
content:
application/json:
schema:
$ref: '#/components/schemas/error-ResponseType'
delete:
summary: Delete a single measurement job
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.
parameters:
- name: jobId
in: path
description: Identifies the measurement job to be deleted.
required: true
schema:
$ref: '#/components/schemas/uri-Type'
responses:
'204':
description: Success case ("204 No Content"). The measurement job resource has been deleted. The response message body is absent.
default:
description: Error case.
content:
application/json:
schema:
$ref: '#/components/schemas/error-ResponseType'
components:
schemas:
dateTime-Type:
type: string
format: date-Time
uri-Type:
type: string
measJobCreation-RequestType:
type: object
properties:
iOCName:
type: string
iOCInstanceList:
type: array
items:
$ref: '#/components/schemas/uri-Type'
measurementCategoryList:
type: array
items:
type: string
reportingMethod:
$ref: '#/components/schemas/reportingMethod-Type'
granularityPeriod:
type: integer
reportingPeriod:
type: integer
startTime:
$ref: '#/components/schemas/dateTime-Type'
stopTime:
$ref: '#/components/schemas/dateTime-Type'
schedule:
$ref: '#/components/schemas/schedule-Type'
streamTarget:
type: string
priority:
$ref: '#/components/schemas/priority-Type'
reliability:
type: string
measJobCreation-ResponseType:
type: object
properties:
unsupportedList:
type: array
items:
$ref: '#/components/schemas/unsupportedMeas-Type'
measJobsRetrieval-ResponseType:
type: object
properties:
jobInfoList:
type: array
items:
$ref: '#/components/schemas/measJobInfo-ResourceType'
error-ResponseType:
type: object
properties:
error:
type: object
properties:
errorInfo:
type: string
measJobInfo-ResourceType:
type: object
properties:
href:
$ref: '#/components/schemas/uri-Type'
iOCName:
type: string
iOCInstanceList:
type: array
items:
$ref: '#/components/schemas/uri-Type'
measurementCategoryList:
type: array
items:
type: string
reportingMethod:
$ref: '#/components/schemas/reportingMethod-Type'
granularityPeriod:
type: integer
reportingPeriod:
type: integer
startTime:
$ref: '#/components/schemas/dateTime-Type'
stopTime:
$ref: '#/components/schemas/dateTime-Type'
schedule:
$ref: '#/components/schemas/schedule-Type'
streamTarget:
type: string
priority:
$ref: '#/components/schemas/priority-Type'
reliability:
type: string
schedule-Type:
type: object
properties:
scheduleOption:
$ref: '#/components/schemas/scheduleOption-Type'
dailySchedule:
type: array
items:
$ref: '#/components/schemas/timeInterval-Type'
weeklySchedule:
type: array
items:
$ref: '#/components/schemas/scheduleOfDay-Type'
timeInterval-Type:
type: object
properties:
intervalStart:
type: string
format: Time
intervalEnd:
type: string
format: Time
scheduleOfDay-Type:
type: object
properties:
dayOfWeek:
$ref: '#/components/schemas/dayOfWeek-Type'
intervalsOfDay:
type: array
items:
$ref: '#/components/schemas/timeInterval-Type'
unsupportedMeas-Type:
type: object
properties:
iOCInstance:
$ref: '#/components/schemas/uri-Type'
measurementTypeName:
type: string
reason:
type: string
reportingMethod-Type:
type: string
enum:
- file
- streaming
priority-Type:
type: string
enum:
- low
- medium
- high
scheduleOption-Type:
type: string
enum:
- daily
- weekly
dayOfWeek-Type:
type: string
enum:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday