swagger: "2.0" info: version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: "SOL005 - NS Lifecycle Management Interface" description: > SOL005 - NS Lifecycle Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt contact: name: "NFV-SOL WG" externalDocs: description: ETSI GS NFV-SOL 005 V2.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf basePath: /nslcm/v1 schemes: - http - https consumes: - application/json produces: - application/json paths: ############################################################################### # API Versions # ############################################################################### '/api_versions': $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' ############################################################################### # NSInstances # ############################################################################### '/ns_instances': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.2 parameters: - 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 post: summary: Create a NS instance resource. description: > The POST method creates a new NS instance resource. As the result of successfully executing this method, a new "Individual NS instance" resource as defined in clause 6.4.3 shall have been created, and the value of the "instantiationState" attribute in the representation of that resource shall be "NOT_INSTANTIATED". A notification of type NsIdentifierCreationNotification shall be triggered as part of successfully executing this method as defined in clause 6.5.2.6. parameters: - 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: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest" description: > The NS creation parameters, as defined in clause 6.5.2.7. responses: 201: description: > 201 Created Shall be returned when a new "Individual NS instance" resource and the associated NS instance identifier has been created successfully. The response body shall contain a representation of the created NS instance, as defined in clause 6.5.2.10. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created NS instance. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" get: summary: Query multiple NS instances. description: > Query NS Instances. The GET method queries information about multiple NS instances. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2. parameters: - name: filter in: query required: false type: string description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsInstance and in data types referenced from it shall be supported by the NFVO in the filter expression. - name: all_fields in: query required: false type: string description: > Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. - name: fields in: query required: false type: string description: > "Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter." - name: exclude_fields in: query required: false type: string description: > "Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO should support this parameter." - name: exclude_default in: query required: false type: string description: > "Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - vnfInstances - pnfInfo - virtualLinkInfo - vnffgInfo - sapInfo - nsScaleStatus - additionalAffinityOrAntiAffinityRules" - name: nextpage_opaque_marker in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource. required: false type: string - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when information about zero or more NS instances has been queried successfully. The response body shall contain in an array the representations of zero or more NS instances, as defined in clause 6.5.2.8. If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013 [16], respectively. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 [16]. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 Link: description: > Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. type: string maximum: 1 minimum: 0 schema: type: array items: properties: NsInstance: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual NS instance # ############################################################################### '/ns_instances/{nsInstanceId}': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.3 parameters: - name: nsInstanceId description: > Identifier of the NS instance. in: path type: string required: true - 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 get: summary: Read an individual NS instance resource. description: > The GET method retrieves information about a NS instance by reading an individual NS instance resource. parameters: - 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 responses: 200: description: > 200 OK Shall be returned when information about an individual NS instance has been read successfully. The response body shall contain a representation of the NS instance, as defined in clause 6.5.2.10. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. maximum: 1 minimum: 1 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Delete NS instance resource. description: > Delete NS Identifier This method deletes an individual NS instance resource. As the result of successfully executing this method, the "Individual NS instance" resource shall not exist any longer. A notification of type "NsIdentifierDeletionNotification" shall be triggered as part of successfully executing this method as defined in clause 6.5.2.7. responses: 204: description: > 204 No Content Shall be returned when the "Individual NS instance" resource and the associated NS identifier have been 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. maximum: 1 minimum: 0 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 412: $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Instantiate NS task # ############################################################################### '/ns_instances/{nsInstanceId}/instantiate': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.4 parameters: - name: nsInstanceId description: > Identifier of the NS instance to be instantiated. in: path type: string required: true post: summary: Instantiate a NS. description: > The POST method requests to instantiate a NS instance resource. The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall set the "nsState" attribute to the value "INSTANTIATED" in the representation of the "Individual NS instance" resource. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest" description: > Parameters for the instantiate NS operation, as defined in clause 6.5.2.11. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual NS LCM operation occurrence" resource corresponding to the operation. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in the INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Scale NS task # ############################################################################### '/ns_instances/{nsInstanceId}/scale': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.5 parameters: - name: nsInstanceId description: > Identifier of the NS instance to be scaled. in: path type: string required: true post: summary: Scale a NS instance. description: > The POST method requests to scale a NS instance resource. The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall reflect the result of scaling the NS instance by updating the "nsScaleStatus" attribute in the representation of the "Individual NS instance" resource. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest" description: > Parameters for the scale NS operation, as defined in clause 6.5.2.14. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual NS lifecycle operation occurrence" resource corresponding to the operation. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Update NS task # ############################################################################### '/ns_instances/{nsInstanceId}/update': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.6 parameters: - name: nsInstanceId description: > Identifier of the NS instance to be updated. in: path type: string required: true post: summary: Updates a NS instance. description: > The POST method updates an NS instance. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest" description: > Parameters for the update NS operation, as defined in clause 6.5.2.12. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual NS lifecycle operation occurrence" resource corresponding to the operation. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Heal NS task # ############################################################################### '/ns_instances/{nsInstanceId}/heal': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.7 parameters: - name: nsInstanceId description: > Identifier of the NS instance to be healed. in: path type: string required: true post: summary: Heal a NS instance. description: > The POST method requests to heal an NS instance. This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and 6.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes. The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest" description: > Parameters for the heal NS operation, as defined in clause 6.5.2.13. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual NS lifecycle operation occurrence" resource corresponding to the operation. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Terminate NS task # ############################################################################### '/ns_instances/{nsInstanceId}/terminate': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.8 parameters: - name: nsInstanceId description: > The identifier of the NS instance to be terminated. in: path type: string required: true post: summary: Terminate a NS instance. description: > Terminate NS task. The POST method terminates an NS instance. This method shall follow the provisions specified in the Tables 6.4.8.3.1-1 and 6.4.8.3.1-2 for URI query parameters, request and response data structures, and response codes. The steps and conditions that apply as the result of successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully completed the underlying NS LCM operation occurrence, it shall set the "nsState" attribute in the representation of the "Individual NS instance" resource to the value "NOT_INSTANTIATED". This method can only be used with an NS instance in the INSTANTIATED state. Terminating an NS instance does not delete the NS instance identifier, but rather transitions the NS into the NOT_INSTANTIATED state. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest" description: > The terminate NS request parameters, as defined in clause 6.5.2.15. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "NS lifecycle operation occurrence" resource corresponding to the operation. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # NS LCM operation occurrences # ############################################################################### '/ns_lcm_op_occs': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.9 get: summary: Query multiple NS LCM operation occurrences. description: > Get Operation Status. Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error parameters: - name: filter in: query required: false type: string description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013[16]. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the NsLcmOpOcc and in data types referenced from it shall be supported by the NFVO in the filter expression. - name: fields in: query required: false type: string description: > Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_fields in: query required: false type: string description: > Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO should support this parameter. - name: exclude_default in: query required: false type: string description: > Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsLcmOpOcc structure in the response body if this parameter is provided: - operationParams - changedVnfInfo - error - resourceChanges - name: nextpage_opaque_marker in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource. required: false type: string - 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: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when status information for zero or more NS lifecycle management operation occurrences has been queried successfully. The response body shall contain in an array the status information about zero or more NS lifecycle operation occurrences, as defined in clause 6.5.2.3. If the "filter" URI parameter or one of the "all_fields", "fields", "exclude_fields" or "exclude_default" URI parameters was supplied in the request and is supported, the data in the response body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013 [16], respectively. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 [16]. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 Link: description: > Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. type: string maximum: 1 minimum: 0 schema: type: array items: properties: NsLcmOpOcc: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual NS lifecycle operation occurrence # ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.10 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence. in: path type: string required: true get: summary: Read an individual NS LCM operation occurrence resource. description: > The API consumer can use this method to retrieve status information about a NS lifecycle management operation occurrence by reading an individual "NS LCM operation occurrence" resource. This method shall follow the provisions specified in the Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when information about an NS LCM operation occurrence has been read successfully. The response body shall contain status information about an NS lifecycle management operation occurrence (see clause 6.5.2.3). schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. maximum: 1 minimum: 1 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 416: $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Retry operation task # ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/retry': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.11 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be retried. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. in: path type: string required: true post: summary: Retry a NS lifecycle management operation occurrence. description: > The POST method initiates retrying a NS lifecycle management operation if that operation has experienced a temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the provisions specified in the Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - 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: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: description: > 404 NOT FOUND Shall be returned upon the following error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], including rules for the presence of the response body. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Rollback a NS lifecycle management operation occurrence. # ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/rollback': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.12 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be rolled back. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. in: path required: true type: string post: summary: Rollback a NS lifecycle management operation occurrence. description: > The POST method initiates rolling back a NS lifecycle operation if that operation has experienced a temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the provisions specified in the Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - 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: 202: description: > Shall be returned when the request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: description: > 404 NOT FOUND Shall be returned upon the following error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], including rules for the presence of the response body. Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as retry or fail. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Continue a NS lifecycle management operation occurrence. # ############################################################################### '/ns_lcm_op_occs/{nsLcmOpOccId}/continue': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.13 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be continued. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering an NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. in: path required: true type: string post: summary: Continue a NS lifecycle management operation occurrence. description: > The POST method initiates continuing an NS lifecycle operation if that operation has experienced a temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the provisions specified in the Tables 6.4.13.3.1-1 and 6.4.13.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: - 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: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: description: > 404 NOT FOUND Shall be returned upon the following error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], including rules for the presence of the response body. Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as retry or fail. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Fail operation task # ############################################################################### '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.14 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be marked as "failed". This identifier can be retrieved from the resource referenced by he "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. in: path required: true type: string post: summary: Mark a NS lifecycle management operation occurrence as failed. description: > The POST method marks a NS lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" state. parameters: - 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: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when the state of the NS lifecycle management operation occurrence has been changed successfully. The response shall include a representation of the "Individual NS lifecycle management operation occurrence" resource. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. maximum: 1 minimum: 1 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: description: > 404 NOT FOUND Shall be returned upon the following error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], including rules for the presence of the response body. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as retry or rollback. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Cancel operation task # ############################################################################### '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.15 parameters: - name: nsLcmOpOccId description: > Identifier of a NS lifecycle management operation occurrence to be canceled. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId" attribute in the NsLcmOperationOccurrenceNotification. in: path required: true type: string post: summary: Cancel a NS lifecycle management operation occurrence. description: > The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed or rolled back, i.e. the related "NS LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. This method shall follow the provisions specified in the Tables 6.4.15.3.1-1 and 6.4.15.3.1-2 for URI query parameters, request and response data structures, and response codes. Before returning the "202 Accepted" response, the NFVO shall update the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource according to the provisions in clause 6.5.2.3. In case of success of processing the asynchronous request: 1) If the request has been processed in "PROCESSING" or "ROLLING_BACK" state, the "operationState" attribute in the representation of the parent resource shall be changed to "FAILED_TEMP". In both cases, the NFVO shall update the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource according to the provisions in clause 6.5.2.3 to reflect the new status, and the applicable "result" notification according to clause 6.6.2.2 shall be emitted to indicate that the execution of the underlying NS LCM operation occurrence has temporarily failed. Due to race conditions, the processing of the actual operation that is to be cancelled may eventually still succeed, in which case the "operationState" attribute in the representation of the parent resource shall represent the result of that operation, rather than the result of the cancellation. parameters: - 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 - name: Version description: > Version of the API requested to use when responding to this request. in: header required: true type: string - name: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CancelMode" description: > The POST request to this resource shall include a CancelMode structure in the payload body to choose between "graceful" and "forceful" cancellation. responses: 202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing, but processing has not been completed. The response shall have an empty entity body. $ref: "../responses/SOL005_resp.yaml#/responses/202" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: description: > 404 NOT FOUND Shall be returned upon the following error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16], including rules for the presence of the response body. Specifically, in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 409: description: > 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Subscriptions # ############################################################################### '/subscriptions': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.16 parameters: - 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 post: summary: Subscribe to NS lifecycle change notifications. description: > The POST method creates a new subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.16.3.1-1 and 6.4.16.3.1-2. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another 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 subscription resource (in which case it shall return a "303 See Other" response code referencing the existing subscription resource with the same filter and callbackUri). parameters: - 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: body in: body required: true schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest" description: > Details of the subscription to be created, as defined in clause 6.5.2.2. responses: 201: description: > 201 Created Shall be returned when the subscription has been created successfully. The response body shall contain a representation of the created "Individual subscription" resource. The HTTP response shall include a "Location:" HTTP header that points to the created "Individual subscription" resource. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 303: description: > 303 SEE OTHER Shall be returned if a subscription with the same callback URI and the same filter already exits and the policy of the NFVO is to not create redundant subscriptions. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing "Individual subscription" resource. The response body shall be empty. $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 422: $ref: "../responses/SOL005_resp.yaml#/responses/422" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" get: summary: Query multiple subscriptions. description: > Query Subscription Information. The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. parameters: - name: filter in: query required: false type: string description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013. The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. All attribute names that appear in the LccnSubscription and in data types referenced from it shall be supported by the NFVO in the filter expression. - name: nextpage_opaque_marker in: query description: > Marker to obtain the next page of a paged response. Shall be supported by the NFVO if the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for this resource. required: false type: string - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of lifecycle change notification subscriptions as defined in clause 6.5.2.4. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013 [16]. If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 [16]. headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 Link: description: > Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. type: string maximum: 1 minimum: 0 schema: type: array items: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" ############################################################################### # Individual subscription # ############################################################################### '/subscriptions/{subscriptionId}': #ETSI GS NFV-SOL 005 V2.7.1 location: 6.4.17 parameters: - name: subscriptionId description: > Identifier of this subscription. in: path type: string required: true - 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 get: summary: Read an individual subscription resource. description: > The GET method retrieves information about a subscription by reading an individual subscription resource. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2 parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string responses: 200: description: > 200 OK Shall be returned when information about an individual subscription has been read successfully. The response body shall contain a representation of the "Individual subscription" resource. schema: $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscription" headers: Content-Type: type: string description: > The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body. 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 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504" delete: summary: Terminate a subscription. description: > The DELETE method terminates an individual subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.17.3.5-1 and 6.4.17.3.5-2. As the result of successfully executing this method, the "Individual subscription" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion. responses: 204: description: > 204 NO CONTENT Shall be returned when the "Individual subscription" resource has been 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. maximum: 1 minimum: 0 Version: description: > Version of the API used in the response. type: string maximum: 1 minimum: 1 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: $ref: "../responses/SOL005_resp.yaml#/responses/401" 403: $ref: "../responses/SOL005_resp.yaml#/responses/403" 405: $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: $ref: "../responses/SOL005_resp.yaml#/responses/503" 504: $ref: "../responses/SOL005_resp.yaml#/responses/504"