Commit e3eec91b authored by ETSI CTI's avatar ETSI CTI

Merge branch '2.7.1-dev' into 'master'

SOL002 and SOL003 OpenAPI representations for v2.7.1

See merge request !14
parents 5b48a59a 691a9cb7
# NFV SOL002 and SOL003 APIs # NFV SOL002 and SOL003 APIs
This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation
for the APIs defined in ETSI NFV GSs [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_NFV-SOL002v020601p.pdf) and [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf). for the APIs defined in ETSI NFV GSs [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_NFV-SOL002v020701p.pdf) and [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf).
The APIs described in this repository are defined for the following reference points: The APIs described in this repository are defined for the following reference points:
......
swagger: "2.0" swagger: "2.0"
info: info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - API version interface title: SOL002 - API version interface
description: > description: >
SOL002 - API version Interface SOL002 - API version Interface
...@@ -17,8 +17,8 @@ info: ...@@ -17,8 +17,8 @@ info:
name: NFV-SOL WG name: NFV-SOL WG
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 002 V2.5.1 description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
schemes: schemes:
- http - http
...@@ -34,17 +34,17 @@ paths: ...@@ -34,17 +34,17 @@ paths:
############################################################################### ###############################################################################
# API Versions # # API Versions #
############################################################################### ###############################################################################
'/vnfconfig/api-versions': '/vnfconfig/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnffm/api-versions': '/vnffm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfind/api-versions': '/vnfind/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnflcm/api-versions': '/vnflcm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpm/api-versions': '/vnfpm/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
\ No newline at end of file
...@@ -17,8 +17,8 @@ info: ...@@ -17,8 +17,8 @@ info:
name: NFV-SOL WG name: NFV-SOL WG
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 002 V2.6.1 description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /vnfconfig/v1 basePath: /vnfconfig/v1
...@@ -36,7 +36,7 @@ paths: ...@@ -36,7 +36,7 @@ paths:
############################################################################### ###############################################################################
# API Versions # # API Versions #
############################################################################### ###############################################################################
'/api-versions': '/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
############################################################################### ###############################################################################
...@@ -102,8 +102,6 @@ paths: ...@@ -102,8 +102,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406: 406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422: 422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429: 429:
...@@ -160,16 +158,16 @@ paths: ...@@ -160,16 +158,16 @@ paths:
406: 406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
412: 412:
description: > # description: >
412 PRECONDITION FAILED # 412 PRECONDITION FAILED
Shall be returned upon the following error: A precondition given
in an HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the resource
was modified by another entity. The response body should contain a
ProblemDetails structure, in which the "detail" attribute should convey
more information about the error.
# Shall be returned upon the following error: A precondition given
# in an HTTP request header is not fulfilled.
# Typically, this is due to an ETag mismatch, indicating that the resource
# was modified by another entity. The response body should contain a
# ProblemDetails structure, in which the "detail" attribute should convey
# more information about the error.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
416: 416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
......
...@@ -76,7 +76,9 @@ definitions: ...@@ -76,7 +76,9 @@ definitions:
extCpConfig: extCpConfig:
description: > description: >
Configuration parameters for the external CPs of the VNF instance. Configuration parameters for the external CPs of the VNF instance.
$ref: '#/definitions/CpConfiguration' type: array
items:
$ref: '#/definitions/CpConfiguration'
dhcpServer: dhcpServer:
description: > description: >
IP address of the DHCP server that the VNF instance can use to obtain IP address of the DHCP server that the VNF instance can use to obtain
...@@ -99,10 +101,12 @@ definitions: ...@@ -99,10 +101,12 @@ definitions:
description: > description: >
Identifier of a VNFC instance to which this set of configuration data applies. Identifier of a VNFC instance to which this set of configuration data applies.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
extCpConfig: intCpConfig:
description: > description: >
Configuration parameters for the external CPs of the VNFC instance. Configuration parameters for the internal CPs of the VNFC instance.
$ref: '#/definitions/CpConfiguration' type: array
items:
$ref: '#/definitions/CpConfiguration'
dhcpServer: dhcpServer:
description: > description: >
IP address of the DHCP server that the VNF instance can use to obtain IP address of the DHCP server that the VNF instance can use to obtain
......
swagger: "2.0" swagger: "2.0"
info: info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Fault Management interface title: SOL002 - VNF Fault Management interface
description: > description: >
SOL002 - VNF Fault Management interface SOL002 - VNF Fault Management interface
...@@ -17,8 +17,8 @@ info: ...@@ -17,8 +17,8 @@ info:
name: NFV-SOL WG name: NFV-SOL WG
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 002 V2.6.1 description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /vnffm/v1 basePath: /vnffm/v1
...@@ -36,7 +36,7 @@ paths: ...@@ -36,7 +36,7 @@ paths:
############################################################################### ###############################################################################
# API Versions # # API Versions #
############################################################################### ###############################################################################
'/api-versions': '/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
############################################################################### ###############################################################################
...@@ -186,7 +186,6 @@ paths: ...@@ -186,7 +186,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Individual alarm # # Individual alarm #
############################################################################### ###############################################################################
...@@ -355,27 +354,29 @@ paths: ...@@ -355,27 +354,29 @@ paths:
406: 406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409: 409:
description: > # description: >
409 CONFLICT # 409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed # Shall be returned upon the following error: The operation cannot be executed
currently, due to a conflict with the state of the "Individual alarm" resource. # currently, due to a conflict with the state of the "Individual alarm" resource.
Typically, this is due to the fact that the alarm is already in the state that # Typically, this is due to the fact that the alarm is already in the state that
is requested to be set (such as trying to acknowledge an already-acknowledged # is requested to be set (such as trying to acknowledge an already-acknowledged
alarm). # alarm).
The response body shall contain a ProblemDetails structure, in which the # The response body shall contain a ProblemDetails structure, in which the
"detail" attribute shall convey more information about the error. # "detail" attribute shall convey more information about the error.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
412: 412:
description: > # description: >
412 PRECONDITION FAILED # 412 PRECONDITION FAILED
ErrorShall be returned upon the following error: A precondition given in an # ErrorShall be returned upon the following error: A precondition given in an
HTTP request header is not fulfilled. # HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the resource was # Typically, this is due to an ETag mismatch, indicating that the resource was
modified by another entity. # modified by another entity.
The response body should contain a ProblemDetails structure, in which the # The response body should contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error. # "detail" attribute should convey more information about the error.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
416: 416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
...@@ -389,7 +390,6 @@ paths: ...@@ -389,7 +390,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Escalate Perceived Severity task # # Escalate Perceived Severity task #
############################################################################### ###############################################################################
...@@ -436,7 +436,7 @@ paths: ...@@ -436,7 +436,7 @@ paths:
responses: responses:
200: 200:
description: > description: >
200 OK 204 No Content
Shall be returned when the VNFM has received the proposed "escalated Shall be returned when the VNFM has received the proposed "escalated
perceived severity" value successfully. The response body shall be empty. perceived severity" value successfully. The response body shall be empty.
...@@ -470,7 +470,6 @@ paths: ...@@ -470,7 +470,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Subscriptions # # Subscriptions #
############################################################################### ###############################################################################
...@@ -550,14 +549,15 @@ paths: ...@@ -550,14 +549,15 @@ paths:
schema: schema:
$ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription"
303: 303:
description: > # description: >
303 SEE OTHER # 303 SEE OTHER
A subscription with the same callbackURI and the same filter already exists and the policy of # A subscription with the same callbackURI and the same filter already exists and the policy of
the VNFM is to not create redundant subscriptions. # the VNFM is to not create redundant subscriptions.
The HTTP response shall include a "Location" HTTP header that contains the resource URI of the # The HTTP response shall include a "Location" HTTP header that contains the resource URI of the
existing subscription resource. # existing subscription resource.
The response body shall be empty. # The response body shall be empty.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
400: 400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
...@@ -574,6 +574,23 @@ paths: ...@@ -574,6 +574,23 @@ paths:
416: 416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422: 422:
# description: >
# 422 UNPROCESSABLE ENTITY
# Shall be returned upon the following error: The content
# type of the payload body is supported and the payload
# body of a request contains syntactically correct data but
# the data cannot be processed.
# The general cause for this error and its handling is
# specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
# including rules for the presence of the response body.
# Specifically in case of this resource, the response code
# 422 shall also be returned if the VNFM has tested the
# Notification endpoint as described in clause 7.4.7.3.2
# and the test has failed.
# In this case, the "detail" attribute in the "ProblemDetails"
# structure shall convey more information about the error
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429: 429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
...@@ -711,7 +728,6 @@ paths: ...@@ -711,7 +728,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Individual subscription # # Individual subscription #
############################################################################### ###############################################################################
......
...@@ -9,8 +9,6 @@ definitions: ...@@ -9,8 +9,6 @@ definitions:
required: required:
- id - id
- managedObjectId - managedObjectId
- vnfcInstanceIds
- rootCauseFaultyResource
- alarmRaisedTime - alarmRaisedTime
- ackState - ackState
- perceivedSeverity - perceivedSeverity
...@@ -53,6 +51,12 @@ definitions: ...@@ -53,6 +51,12 @@ definitions:
Time stamp indicating when the alarm was cleared. It shall be Time stamp indicating when the alarm was cleared. It shall be
present if the alarm has been cleared. present if the alarm has been cleared.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
alarmAcknowledgedTime:
description: >
Time stamp indicating when the alarm was
acknowledged. It shall be present if the alarm has
been acknowledged.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
ackState: ackState:
description: > description: >
Acknowledgement state of the alarm. Acknowledgement state of the alarm.
......
swagger: "2.0" swagger: "2.0"
info: info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Fault Management Notification interface title: SOL002 - VNF Fault Management Notification interface
description: > description: >
SOL002 - VNF Fault Management Notification interface SOL002 - VNF Fault Management Notification interface
...@@ -17,8 +17,8 @@ info: ...@@ -17,8 +17,8 @@ info:
name: NFV-SOL WG name: NFV-SOL WG
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 002 V2.6.1 description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /callback/v1 basePath: /callback/v1
...@@ -151,7 +151,6 @@ paths: ...@@ -151,7 +151,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503: 503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
############################################################################### ###############################################################################
# Notification endpoint AlarmClearedNotification # # Notification endpoint AlarmClearedNotification #
############################################################################### ###############################################################################
...@@ -270,7 +269,6 @@ paths: ...@@ -270,7 +269,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503: 503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
############################################################################### ###############################################################################
# Notification endpoint AlarmListRebuiltNotification # # Notification endpoint AlarmListRebuiltNotification #
############################################################################### ###############################################################################
......
swagger: "2.0" swagger: "2.0"
info: info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Indicator interface title: SOL002 - VNF Indicator interface
description: > description: >
SOL002 - VNF Indicator interface SOL002 - VNF Indicator interface
...@@ -17,8 +17,8 @@ info: ...@@ -17,8 +17,8 @@ info:
name: NFV-SOL WG name: NFV-SOL WG
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 002 V2.6.1 description: ETSI GS NFV-SOL 002 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_nfv-sol002v020601p.pdf url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /vnfind/v1 basePath: /vnfind/v1
...@@ -36,7 +36,7 @@ paths: ...@@ -36,7 +36,7 @@ paths:
############################################################################### ###############################################################################
# API Versions # # API Versions #
############################################################################### ###############################################################################
'/api-versions': '/api_versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
############################################################################### ###############################################################################
...@@ -165,7 +165,6 @@ paths: ...@@ -165,7 +165,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# VNF indicators related to a VNF instance # # VNF indicators related to a VNF instance #
############################################################################### ###############################################################################
...@@ -305,7 +304,6 @@ paths: ...@@ -305,7 +304,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Individual VNF indicator # # Individual VNF indicator #
############################################################################### ###############################################################################
...@@ -393,25 +391,10 @@ paths: ...@@ -393,25 +391,10 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Subscriptions # # Subscriptions #
############################################################################### ###############################################################################
/subscriptions: /subscriptions:
parameters:
- name: Version
description: >
Version of the API requested to use when responding to this request.
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
post: post:
summary: Create a new subscription to VNF indicator change notifications summary: Create a new subscription to VNF indicator change notifications
description: > description: >
...@@ -419,6 +402,15 @@ paths: ...@@ -419,6 +402,15 @@ paths:
As the result of successfully executing this method, a new "Individual As the result of successfully executing this method, a new "Individual
subscription" resource as defined in clause 8.4.6 shall have been created. subscription" resource as defined in clause 8.4.6 shall have been created.
This method shall not trigger any notification. This method shall not trigger any notification.
Creation of two "Individual subscription" resources with the same callbackURI and the same filter can result in
performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very
rare use cases. Consequently, the API producer may either allow creating a new "Individual subscription" resource if
another "Individual subscription" resource with the same filter and callbackUri already exists (in which case it shall
return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in
which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource
with the same filter and callbackUri).
This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters,
request and response data structures, and response codes
parameters: parameters:
- name: vnfIndicatorSubscriptionRequest - name: vnfIndicatorSubscriptionRequest
in: body in: body
...@@ -426,6 +418,33 @@ paths: ...@@ -426,6 +418,33 @@ paths:
required: true required: true
schema: schema:
$ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest' $ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscriptionRequest'
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
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
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses: responses:
201: 201:
description: > description: >
...@@ -435,7 +454,9 @@ paths: ...@@ -435,7 +454,9 @@ paths:
The response body shall contain a representation of the created The response body shall contain a representation of the created
"Individual subscription" resource. "Individual subscription" resource.
schema: schema:
$ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription' type: array
items:
$ref: '../../definitions/SOL002SOL003VNFIndicator_def.yaml#/definitions/VnfIndicatorSubscription'
headers: headers:
Location: Location:
description: > description: >
...@@ -447,21 +468,30 @@ paths: ...@@ -447,21 +468,30 @@ paths:
type: string type: string
maximum: 1 maximum: 1
minimum: 1 minimum: 1
WWW-Authenticate:
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
maximum: 1
minimum: 0
Version: Version:
description: The used API version. description: The used API version.
type: string type: string
maximum: 1 maximum: 1
minimum: 1 minimum: 1
303: 303:
description: > # description: >
303 SEE OTHER # 303 SEE OTHER
Shall be returned when a subscription with the same callbackURI and # Shall be returned when a subscription with the same callbackURI and
the same filter already exists and the policy of the VNFM is to not # the same filter already exists and the policy of the VNFM is to not
create redundant subscriptions. # create redundant subscriptions.
The HTTP response shall include a "Location" HTTP header that contains # The HTTP response shall include a "Location" HTTP header that contains
the resource URI of the existing "Individual subscription" resource. # the resource URI of the existing "Individual subscription" resource.
The response body shall be empty. # The response body shall be empty.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
400: 400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
...@@ -600,7 +630,6 @@ paths: ...@@ -600,7 +630,6 @@ paths:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504: 504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
############################################################################### ###############################################################################
# Individual Subscription # # Individual Subscription #
############################################################################### ###############################################################################
......