diff --git a/src/SOL005/NSPerformanceManagement/NSperformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSperformanceManagement.yaml index 8ab7e697131e99369e6b6e92fa2aa85764c8268f..bea3ace7bfdd2bf300d183d05147f6d4c144e329 100644 --- a/src/SOL005/NSPerformanceManagement/NSperformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSperformanceManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.4.1" + version: "1.0.0" title: SOL005 - NS Performance Management Interface description: > SOL005 - NS Performance Management Interface @@ -17,18 +17,14 @@ info: name: "NFV-SOL WG" externalDocs: description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf - + url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf basePath: "/nspm/v1" - schemes: - https - consumes: - "application/json" produces: - - "application/json" - + - "application/json" paths: ############################################################################### # PM Jobs # @@ -37,10 +33,24 @@ paths: #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2 post: summary: Create a PM job. - description: > - This resource represents PM jobs. - The client can use this resource to create and query PM jobs. + description: > + The POST method creates a PM job. + This method shall follow the provisions specified in the + Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters, + request and response data structures, and response codes. parameters: + - name: "CreatePmJobRequest" + in: "body" + required: true + schema: + type: "object" + required: + - "CreatePmJobRequest" + properties: + CreatePmJobRequest: + $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest" + description: > + The VNF creation parameters. - name: Accept description: > Content-Types that are acceptable for the response. @@ -61,41 +71,23 @@ paths: Reference: IETF RFC 7231 in: header required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CreatePmJobRequest" - properties: - CreatePmJobRequest: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreatePmJobRequest" - description: > - PM job creation request. + type: string responses: 201: - description: "Status 201" + description: > + 201 Created + + The PM job was created successfully. + The response body shall contain a representation of + the created PM job resource, as defined in clause 7.5.2.7. + The HTTP response shall include a "Location" HTTP + header that points to the created PM job resource. schema: type: "object" - description: > - 201 Created. - - The PM job was created successfully. - The response body shall contain a representation of - the created PM job resource, as defined in clause 7.5.2.7. - The HTTP response shall include a "Location" HTTP - header that points to the created PM job resource. properties: PmJob: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -107,7 +99,9 @@ paths: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. + has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -198,7 +192,7 @@ paths: responses: 200: description: > - 200 OK. + 200 OK Information about zero or more PM jobs was queried successfully. The response body shall contain representations of @@ -210,11 +204,13 @@ paths: maximum: 1 minimum: 1 WWW-Authenticate: - type: string + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 schema: type: array items: @@ -272,22 +268,18 @@ paths: type: string responses: 200: - description: 200 OK. + description: > + 200 OK + + Information about an individual PM job was queried successfully. + The response body shall contain a representation of + the PM job resource, as defined in clause 7.5.2.7. schema: type: "object" - description: > - Information about an individual PM job was queried successfully. - The response body shall contain a representation of - the PM job resource, as defined in clause 7.5.2.7. properties: PmJob: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmJob" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -299,6 +291,8 @@ paths: Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -328,17 +322,17 @@ paths: responses: 204: description: > - 204 No Content. + 204 No Content The PM job was deleted successfully. The response body shall be empty. headers: WWW-Authenticate: + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. maximum: 1 minimum: 0 400: @@ -396,23 +390,19 @@ paths: type: string responses: 200: - description: 200 OK. + description: > + 200 OK + + Information of an individual performance report was read successfully. + The response body shall contain a representation of + the performance report resource, as defined in + clause 7.5.2.10. schema: - type: "object" - description: > - Information about the individual NS descriptor. - The response body shall contain a representation of - the individual NS descriptor, as defined in - clause 5.5.2.2. + type: "object" properties: PerformanceReport: $ref: "definitions/NSPerfomananceManagement_def.yaml#/definitions/PerformanceReport" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -424,6 +414,8 @@ paths: Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -443,14 +435,28 @@ paths: # Thresholds # ############################################################################### '/thresholds': - #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5 + #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5 post: summary: Create a threshold. - description: > - This resource represents thresholds. - The client can use this resource to create and query thresholds. - The POST method can be used by the client to create a threshold + description: > + The POST method can be used by the client to create a threshold. + + This method shall follow the provisions specified in the + table 7.4.5.3.1-2 for URI query parameters, + request and response data structures, and response codes. parameters: + - name: "CreateThresholdRequest" + in: "body" + required: true + schema: + type: "object" + required: + - "CreateThresholdRequest" + properties: + CreateThresholdRequest: + $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest" + description: > + Request parameters to create a threshold resource. - name: Accept description: > Content-Types that are acceptable for the response. @@ -471,40 +477,24 @@ paths: Reference: IETF RFC 7231 in: header required: true - type: string - - name: "body" - in: "body" - required: true - schema: - type: "object" - required: - - "CreateThresholdRequest" - properties: - CreateThresholdRequest: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/CreateThresholdRequest" - description: > - Request parameters to create a threshold resource. + type: string responses: 201: - description: 201 - Created. + description: > + 201 Created + + A threshold was created successfully. + The response body shall contain a representation of + the created threshold resource, as defined in clause 7.5.2.9. + The HTTP response shall include a "Location" HTTP + header that contains the resource URI of the created + threshold resource. schema: type: "object" - description: > - A threshold was created successfully. - The response body shall contain a representation of - the created threshold resource, as defined in clause 7.5.2.9. - The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the created - threshold resource. properties: Threshold: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -517,6 +507,8 @@ paths: Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -564,7 +556,7 @@ paths: responses: 200: description: > - 200 - OK. + 200 OK Information about zero or more thresholds was queried successfully. The response body shall contain representations of @@ -576,11 +568,13 @@ paths: maximum: 1 minimum: 1 WWW-Authenticate: - type: string + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 schema: type: array items: @@ -642,22 +636,18 @@ paths: type: string responses: 200: - description: 200 OK. + description: > + 200 OK + + Information about an individual threshold was queried successfully. + The response body shall contain a representation of + the threshold, as defined in clause 7.5.2.9. schema: type: "object" - description: > - Information about an individual threshold was queried successfully. - The response body shall contain a representation of - the threshold, as defined in clause 7.5.2.9. properties: Threshold: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/Threshold" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -669,6 +659,8 @@ paths: Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -686,7 +678,6 @@ paths: delete: summary: Delete a threshold. description: > - This resource represents an individual threshold. This method allows to delete a threshold. parameters: - name: Accept @@ -706,16 +697,17 @@ paths: responses: 204: description: > - 204 No Content. + 204 No Content + The threshold was deleted successfully. The response body shall be empty. headers: WWW-Authenticate: + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. maximum: 1 minimum: 0 400: @@ -785,24 +777,20 @@ paths: Details of the subscription to be created. responses: 201: - description: 201 Created. + description: > + 201 Created + + The subscription was created successfully. + A representation of the created subscription resource + shall be returned in the response body, as defined in clause 7.5.2.3. + The HTTP response shall include a "Location" HTTP + header that contains the resource URI of the created subscription resource. schema: type: "object" - description: > - The subscription was created successfully. - A representation of the created subscription resource - shall be returned in the response body, as defined in clause 7.5.2.3. - The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the created subscription resource. properties: PmSubscription: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -818,7 +806,7 @@ paths: authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. maximum: 1 - minimum: 0 + minimum: 0 303: $ref: "responses/SOL005_resp.yaml#/responses/303" 400: @@ -871,7 +859,7 @@ paths: responses: 200: description: > - 200 OK. + 200 OK The list of subscriptions was queried successfully. The response body shall contain the representations of @@ -884,11 +872,13 @@ paths: maximum: 1 minimum: 1 WWW-Authenticate: - type: string + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 schema: type: array items: @@ -947,23 +937,19 @@ paths: required: true type: string responses: - 201: - description: 200 OK. + 200: + description: > + 200 OK + + The subscription was read successfully. + The response body shall contain a representation of + the subscription resource, as defined in clause 7.5.2.3. schema: type: "object" - description: > - The subscription was read successfully. - The response body shall contain a representation of - the subscription resource, as defined in clause 7.5.2.3. properties: PmSubscription: $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PmSubscription" headers: - Location: - type: "string" - description: > - The HTTP response shall include a Location HTTP header - that contains the resource URI of the new NS descriptor resource. Content-Type: type: "string" description: > @@ -976,6 +962,8 @@ paths: Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -1015,15 +1003,17 @@ paths: responses: 204: description: > + 204 No Content + The subscription resource was deleted successfully. The response body shall be empty. headers: WWW-Authenticate: + type: "string" description: > Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. maximum: 1 minimum: 0 400: @@ -1041,25 +1031,20 @@ paths: 503: $ref: "responses/SOL005_resp.yaml#/responses/503" -############################################################################### -# Notification endpoint # -# "/notification_endpoint" is the # -# is the dummy URI used for testing, in real case endpoint URI has to # -# provided by client. # -############################################################################### - '/notification_endpoint': - #SOL005 location: 8.2-1 +################################################################################## +# Notification endpoint # +# Dummy URI is used for testing. # +# In real, resource URI is provided by the client when creating the subscription.# +################################################################################## + '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 post: - summary: > - Notification endpoint + summary: Notify about PM related events description: > The POST method delivers a notification regarding a performance management event from the server to the client. This method shall follow the provisions specified in the Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, - request and response data structures, and response codes. - - # Don't know how to pass multiple body parameters. - # Jenkin build is failing if enable more than one body parameters, So commented body parameters. + parameters: - name: PerformanceInformationAvailableNotification description: > @@ -1069,16 +1054,73 @@ paths: schema: properties: PerformanceInformationAvailableNotification: - $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" - #- name: ThresholdCrossedNotification - # description: > - # Notification about threshold crossing. - # in: body - # required: true - # schema: - # properties: - # ThresholdCrossedNotification: - # $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/ThresholdCrossedNotification" + $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification" + - name: Accept + description: > + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231 + in: header + required: true + type: string + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The MIME type of the body of the request. + Reference: IETF RFC 7231 + in: header + required: true + type: string + responses: + 204: + description: > + 204 No Content + + The notification was delivered successfully. + headers: + WWW-Authenticate: + type: "string" + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 + 400: + $ref: "responses/SOL005_resp.yaml#/responses/400" + 401: + $ref: "responses/SOL005_resp.yaml#/responses/401" + 403: + $ref: "responses/SOL005_resp.yaml#/responses/403" + 500: + $ref: "responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "responses/SOL005_resp.yaml#/responses/503" + + '/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification': + #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 + post: + summary: Notify about PM related events + description: > + The POST method delivers a notification regarding a performance management event from the server to the client. + This method shall follow the provisions specified in the + Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, + + parameters: + - name: ThresholdCrossedNotification + description: > + Notification about threshold crossing. + in: body + required: true + schema: + properties: + ThresholdCrossedNotification: + $ref: "definitions/SOL005NSPerfomananceManagement_def.yaml#/definitions/ThresholdCrossedNotification" - name: Accept description: > Content-Types that are acceptable for the response. @@ -1103,9 +1145,18 @@ paths: responses: 204: description: > - 204 - No Content. + 204 No Content - The notification was delivered successfully. + The notification was delivered successfully. + headers: + WWW-Authenticate: + type: "string" + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: @@ -1116,8 +1167,9 @@ paths: $ref: "responses/SOL005_resp.yaml#/responses/500" 503: $ref: "responses/SOL005_resp.yaml#/responses/503" + get: - summary: Notification endpoint. + summary: Test the notification endpoint description: > The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. @@ -1142,8 +1194,19 @@ paths: responses: 204: description: > + 204 No Content + The notification endpoint was tested successfully. The response body shall be empty. + headers: + WWW-Authenticate: + type: "string" + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + maximum: 1 + minimum: 0 400: $ref: "responses/SOL005_resp.yaml#/responses/400" 401: