Newer
Older
Giacomo Bernini
committed
version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL003 - VNF Lifecycle Management interface
SOL003 - VNF Lifecycle Management interface definition
Michele Carignani
committed
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based
filtering mechanism is defined. This mechanism is currently not
included in the corresponding OpenAPI design for this GS version. Changes
to the attribute-based filtering mechanism are being considered in v2.5.1
of this GS for inclusion in the corresponding future ETSI NFV OpenAPI
design.
Michele Carignani
committed
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
Michele Carignani
committed
externalDocs:
Giacomo Bernini
committed
description: ETSI GS NFV-SOL 003 V2.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf
basePath: "/vnflcm/v1"
schemes:
- https
consumes:
- "application/json"
produces:
- "application/json"
paths:
Giacomo Bernini
committed
###############################################################################
# API Versions #
###############################################################################
Giacomo Bernini
committed
'/api_versions':
Giacomo Bernini
committed
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF instances #
###############################################################################
'/vnf_instances':
#SOL003 location: 5.4.2
post:
Create VNF Identifier.
The POST method creates a new VNF instance resource.
This method shall follow the provisions specified in the tables 5.4.2.3.1-1 and 5.4.2.3.1-2
for URI query parameters, request and response data structures, and response codes.
As the result of successfully executing this method, a new "Individual VNF instance"
resource as defined in clause 5.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 VnfIdentifierCreationNotification shall be triggered as part of successfully
executing this method as defined in clause 5.5.2.18.
parameters:
- name: createVnfRequest
description: The VNF creation parameters
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest"
- 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
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
description: >
Shall be returned when a new "Individual VNF instance" resource and
the associated VNF instance identifier washas been created successfully.
The response body shall contain a representation of the created VNF instance,
as defined in clause 5.5.2.2.
The HTTP response shall include a "Location" HTTP header that contains the resource
URI of the created VNF instance.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance.
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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
Query VNF.
The GET method queries information about multiple VNF instances.
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
Samir Medjiah
committed
- name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
The VNFM shall support receiving this parameter as part of the URI query string.
The NFVO may supply this parameter.
All attribute names that appear in the VnfInstance and in data types referenced from
it shall be supported by the VNFM in the filter expression.
Samir Medjiah
committed
in: query
required: false
type: string
- name: all_fields
description: >
Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details.
The VNFM shall support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: fields
description: >
Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details.
The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_fields
description: >
Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details.
The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_default
description: >
Indicates to exclude the following complex attributes from the response.
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
Samir Medjiah
committed
The following attributes shall be excluded from the VnfInstance structure
in the response body if this parameter is provided, or none of the parameters
"all_fields", "fields", "exclude_fields", "exclude_default" are provided:
Samir Medjiah
committed
- vnfConfigurableProperties
Samir Medjiah
committed
- instantiatedVnfInfo
- metadata
- extensions
in: query
required: false
type: string
- name: nextpage_opaque_marker
description: >
Marker to obtain the next page of a paged response. Shall be supported by the
VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of
ETSI GS NFV-SOL 013 for this resource.
Samir Medjiah
committed
in: query
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
200 OK
Shall be returned when information about zero or more VNF instances has been queried successfully.
The response body shall contain in an array the representations of zero or more VNF instances,
as defined in clause 5.5.2.2.
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, respectively.
If the VNFM supports alternative 2 (paging) according to clause 5.4.7.2.1 of ETSI GS NFV-SOL 013
for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
in clause 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
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/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
moscatelli
committed
###############################################################################
# Individual VNF instance #
###############################################################################
'/vnf_instances/{vnfInstanceId}':
#SOL003 location: 5.4.3.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance. This identifier can be retrieved from
the resource referenced by the "Location" HTTP header in the response
to a POST request creating a new VNF instance resource. It can also
be retrieved from the "id" attribute in the payload body of that
response.
in: path
type: string
required: true
The GET method retrieves information about a VNF instance by reading an "Individual VNF instance" resource.
This method shall follow the provisions specified in the tables 5.4.3.3.2-1 and 5.4.3.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
moscatelli
committed
200 OK
Shall be returned when information about an individual VNF instance has been read successfully.
The response body shall contain a representation of the VNF instance, as defined in clause 5.5.2.2.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
moscatelli
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
patch:
#SOL003 location: 5.4.3.3.4
description: >
moscatelli
committed
Modify VNF Information.
This method modifies an "Individual VNF instance" resource.
Changes to the VNF configurable properties are applied to the configuration in the VNF instance,
and are reflected in the representation of this resource.
Other changes are applied to the VNF instance information managed by the VNFM, and are reflected
in the representation of this resource.
This method shall follow the provisions specified in the tables 5.4.3.3.4-1 and 5.4.3.3.4-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 5.4.1.2.
- name: VnfInfoModificationRequest
Parameters for the VNF modification, as defined in clause 5.5.2.12.
The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396.
required: true
in: body
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest"
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- name: Content-Type
description: >
The Content-Type header shall be set to
"application/merge-patch+json" according to IETF RFC 7396.
in: header
required: true
type: string
enum:
- application/merge-patch+json
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
moscatelli
committed
description: >
202 ACCEPTED
Shall be returned when the request has been accepted for processing.
On success, the HTTP response shall include a "Location" HTTP header that
contains the URI of the newly-created "Individual VNF LCM operation occurrence"
resource corresponding to the operation.
The response body shall be empty.
moscatelli
committed
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#Shall be returned upon the following error: The operation cannot be executed currently,
#due to a conflict with the state of the "Individual VNF instance" resource.
#Typically, this is due to the fact that another LCM operation is ongoing.
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
412:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
delete:
#SOL003 location: 5.4.3.3.5
description: >
moscatelli
committed
Delete VNF Identifier.
This method deletes an "Individual VNF instance" resource.
This method shall follow the provisions specified in the tables 5.4.3.3.5-1 and 5.4.3.3.5-2
for URI query parameters, request and response data structures, and response codes.
As the result of successfully executing this method, the "Individual VNF instance" resource
shall not exist any longer.
A notification of type "VnfIdentifierDeletionNotification" shall be triggered as part of successfully
executing this method as defined in clause 5.5.2.19.
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
moscatelli
committed
204 NO CONTENT
Shall be returned when the "Individual VNF instance" resource and the associated
VNF identifier were deleted successfully.
The response body shall be empty.
headers:
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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#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 "Individual VNF instance" resource is in INSTANTIATED state.
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
412:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Instantiate VNF task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/instantiate':
#SOL003 location: 5.4.4.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance. This identifier can be retrieved from
the resource referenced by the "Location" HTTP header in the response
to a POST request creating a new VNF instance resource. It can also
be retrieved from the "id" attribute in the payload body of that
response.
in: path
type: string
required: true
#SOL003 location: 5.4.4.3.1
description: >
Instantiate VNF.
The POST method instantiates a VNF instance.
This method shall follow the provisions specified in the tables 5.4.4.3.1-1 and 5.4.4.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall set the "instantiationState" attribute to the value "INSTANTIATED" and the "vnfState"
attribute to the value "STARTED" in the representation of the "Individual VNF instance" resource.
parameters:
- name: InstantiateVnfRequest
description: Parameters for the VNF instantiation.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"
- 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
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 "Individual VNF LCM operation
occurrence" resource corresponding to the operation.
Location:
description: The resource URI of the created VNF instance
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 "Individual VNF instance" resource is in INSTANTIATED state,
#or that a required child attribute of the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Scale VNF task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/scale':
#SOL003 location: 5.4.5.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance to be scaled. This identifier can be
retrieved from the resource referenced by the "Location" HTTP header
in the response to a POST request creating a new "Individual VNF instance"
resource. It can also be retrieved from the "id" attribute in the
payload body of that response.
in: path
type: string
required: true
#SOL003 location: 5.4.5.3.1
description: >
Scale VNF.
The POST method requests to scale a VNF instance resource incrementally.
This method shall follow the provisions specified in the tables 5.4.5.3.1-1 and 5.4.5.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall reflect the result of scaling the VNF instance by updating the "scaleStatus" attribute
in the representation of the "Individual VNF instance" resource.
parameters:
- name: ScaleVnfRequest
description: Parameters for the scale VNF operation.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest"
- 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
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if
#the task is not supported for the VNF instance represented by the parent resource, which means that the
#task resource consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 "Individual VNF instance" resource is in
#NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing, or that
#a required child attribute of the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Scale VNF to Level task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/scale_to_level':
#SOL003 location: 5.4.6.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance to be scaled to a target level. This
identifier can be retrieved from the resource referenced by the
"Location" HTTP header in the response to a POST request creating a
new "Individual VNF instance" resource. It can also be retrieved from the "id"
attribute in the payload body of that response.
in: path
type: string
required: true
#SOL003 location: 5.4.6.3.1
description: >
Scale VNF to Level.
The POST method requests to scale a VNF instance resource to a target level.
This method shall follow the provisions specified in the tables 5.4.6.3.1-1 and 5.4.6.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall reflect the result of scaling the VNF instance by updating the "scaleStatus" attribute
in the representation of the "Individual VNF instance" resource.
parameters:
- name: ScaleVnfToLevelRequest
description: Parameters for the scale VNF to Level operation.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest"
- 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
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if the task
#is not supported for the VNF instance represented by the parent resource, which means that the task resource
#consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 VNF instance resource is in NOT_INSTANTIATED state,
#that another lifecycle management operation is ongoing, or that a required child attribute of
#the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Change VNF Flavour task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/change_flavour':
#SOL003 location: 5.4.7.2
parameters:
- name: vnfInstanceId
description: >
The identifier of the VNF instance of which the deployment flavour
is requested to be changed. This identifier can be retrieved from
the resource referenced by the "Location" HTTP header in the
response to a POST request creating a new "Individual VNF instance" resource. It
can also be retrieved from the "id" attribute in the payload body of
that response.
in: path
type: string
required: true
Change VNF Flavour.
This method shall follow the provisions specified in the tables 5.4.7.3.1-1 and 5.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall set the "flavourId" attribute in the representation of the "Individual VNF instance"
resource to the value of the "newFlavourId" attribute passed in the "ChangeVnfFlavourRequest"
data in the POST request.
parameters:
- name: ChangeVnfFlavourRequest
description: Parameters for the Change VNF Flavour operation.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest"
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
- 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
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if the task
#is not supported for the VNF instance represented by the parent resource, which means that the task resource
#consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 VNF instance resource is in NOT_INSTANTIATED state,
#that another lifecycle management operation is ongoing, or that a required child attribute of
#the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
moscatelli
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Terminate VNF task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/terminate':
#SOL003 location: 5.4.8.2
parameters:
- name: vnfInstanceId
description: >
The identifier of the VNF instance to be terminated. This identifier
can be retrieved from the resource referenced by the "Location" HTTP
header in the response to a POST request creating a new "Individual VNF instance"
resource. It can also be retrieved from the "id" attribute in the
payload body of that response.
in: path
type: string
required: true
moscatelli
committed
Terminate VNF.
Giacomo Bernini
committed
The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM
the release of its used virtualised resources.
This method shall follow the provisions specified in the tables 5.4.8.3.1-1 and 5.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall set the "instantiationState" attribute in the representation of the "Individual VNF instance"
resource to the value "NOT_INSTANTIATED".
parameters:
- name: TerminateVnfRequest
description: Parameters for the VNF termination.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest"
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
- 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
moscatelli
committed
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 VNF instance resource is in NOT_INSTANTIATED state,
#that another lifecycle management operation is ongoing, or that a required child attribute of
#the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
moscatelli
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Heal VNF task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/heal':
#SOL003 location: 5.4.9.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance to be healed. This identifier can be
retrieved from the resource referenced by the "Location" HTTP
header in the response to a POST request creating a new "Individual VNF instance"
resource. It can also be retrieved from the "id" attribute in the
payload body of that response.
in: path
type: string
required: true
moscatelli
committed
Heal VNF.
The POST method requests to heal a VNF instance.
This method shall follow the provisions specified in the tables 5.4.9.3.1-1 and 5.4.9.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 5.4.1.2.
parameters:
- name: HealVnfRequest
description: Parameters for the Heal VNF operation.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest"
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
- 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
moscatelli
committed
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if the task is
#not supported for the VNF instance represented by the parent resource, which means that the task resource
#consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 VNF instance resource is in NOT_INSTANTIATED state,
#that another lifecycle management operation is ongoing, or that a required child attribute of
#the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
moscatelli
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Operate VNF task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/operate':
#SOL003 location: 5.4.9.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance to be operated. This identifier can
be retrieved from the resource referenced by the "Location" HTTP
header in the response to a POST request creating a new "Individual VNF instance"
resource. It can also be retrieved from the "id" attribute in the
payload body of that response.
in: path
type: string
required: true
moscatelli
committed
Operate VNF.
The POST method changes the operational state of a VNF instance resource.
This method shall follow the provisions specified in the tables 5.4.10.3.1-1 and 5.4.10.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 5.4.1.2.
In addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,
it shall set the "vnfState" attribute in the representation of the "Individual VNF instance" resource
to the value of the "changeStateTo" attribute passed in the "OperateVnfRequest" data in the POST request.
parameters:
- name: OperateVnfRequest
description: Parameters for the Operate VNF operation.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest"
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
- 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
moscatelli
committed
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if the task is
#not supported for the VNF instance represented by the parent resource, which means that the task resource
#consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 VNF instance resource is in NOT_INSTANTIATED state,
#that another lifecycle management operation is ongoing, or that a required child attribute of
#the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
moscatelli
committed
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
moscatelli
committed
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Change external VNF connectivity task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/change_ext_conn':
#SOL003 location: 5.4.9.2
parameters:
- name: vnfInstanceId
description: >
Identifier of the VNF instance of which the external connectivity is
requested to be changed. This identifier can be retrieved from the
resource referenced by the "Location" HTTP header in the response to
a POST request creating a new "Individual VNF instance" resource. It can also be
retrieved from the "id" attribute in the payload body of that
response.
in: path
type: string
required: true
Change External VNF Connectivity.
The POST method changes the external connectivity of a VNF instance.
This method shall follow the provisions specified in the tables 5.4.11.3.1-1 and 5.4.11.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 5.4.1.2.
parameters:
- name: ChangeExtVnfConnectivityRequest
Parameters for the Change external VNF connectivity operation.
in: body
required: true
schema:
$ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest"
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
- 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
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
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 "VNF LCM operation
occurrence" resource corresponding to the operation.
headers:
Location:
description: The resource URI of the created VNF instance
type: string
format: url
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#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 another lifecycle management operation is ongoing,
#or that a required child attribute of the "extensions" attribute has not been set.
#Those attributes are marked as "required" in the VNFD.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# VNF LCM operation occurrences #
###############################################################################
'/vnf_lcm_op_occs':
#SOL003 location: 5.4.12
Giacomo Bernini
committed
The API consumer can use this method to query status information about multiple
VNF lifecycle management operation occurrences.
This method shall follow the provisions specified in the tables 5.4.12.3.2-1 and 5.4.12.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
Samir Medjiah
committed
- name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
The VNFM shall support receiving this parameter as part of the URI query string.
The NFVO may supply this parameter.
All attribute names that appear in the VnfLcmOpOcc and in data types referenced from it
shall be supported by the VNFM in the filter expression.
Samir Medjiah
committed
in: query
required: false
type: string
- name: all_fields
description: >
Include all complex attributes in the response.
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: fields
description: >
Complex attributes to be included into the response.
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_fields
description: >
Complex attributes to be excluded from the response.
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
Samir Medjiah
committed
in: query
required: false
type: string
- name: exclude_default
description: >
Indicates to exclude the following complex attributes from the response.
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
Samir Medjiah
committed
The following attributes shall be excluded from the VnfLcmOpOcc structure
in the response body if this parameter is provided, or none of the parameters
"all_fields," "fields", "exclude_fields", "exclude_default" are provided:
- vnfConfigurableProperties
Samir Medjiah
committed
- instantiatedVnfInfo
- metadata
- extensions
in: query
required: false
type: string
- name: nextpage_opaque_marker
description: >
Marker to obtain the next page of a paged response. Shall be supported by the
VNFM if the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
Samir Medjiah
committed
for this resource.
in: query
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: >
Shall be returned when status information for zero or more VNF lifecycle management
operation occurrences has been queried successfully.
The response body shall contain in an array the status information about zero or more
VNF lifecycle operation occurrences, as defined in clause 5.5.2.13.
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, respectively.
If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
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.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
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
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Individual VNF LCM operation occurrence #
###############################################################################
'/vnf_lcm_op_occs/{vnfLcmOpOccId}':
#SOL003 location: 5.4.13
parameters:
- name: vnfLcmOpOccId
description: >
Identifier of a VNF lifecycle management operation occurrence.
This identifier can be retrieved from the resource referenced by the
"Location" HTTP header in the response to a PATCH or POST request
triggering a VNF LCM operation. It can also be retrieved from the
"vnfLcmOpOccId" attribute in the
VnfLcmOperationOccurrenceNotification.
in: path
required: true
type: string
Giacomo Bernini
committed
The API consumer can use this method to retrieve status information about a VNF lifecycle
management operation occurrence by reading an "Individual VNF LCM operation occurrence" resource.
This method shall follow the provisions specified in the tables 5.4.13.3.2-1 and 5.4.13.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: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
responses:
200:
description: >
Shall be returned when information about a VNF LCM operation occurrence washas been read successfully.
The response body shall contain status information about a VNF lifecycle management operation occurrence
(see clause 5.5.2.13).
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Retry operation task #
###############################################################################
'/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry':
#SOL003 location: 5.4.14
parameters:
- name: vnfLcmOpOccId
description: >
Identifier of a VNF 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 PATCH
or POST request triggering a VNF LCM operation. It can also be
retrieved from the "vnfLcmOpOccId" attribute in the
VnfLcmOperationOccurrenceNotification.
in: path
required: true
type: string
The POST method initiates retrying a VNF lifecycle operation if that operation
has experienced a temporary failure, i.e. the related "Individual VNF LCM operation occurrence"
resource is in "FAILED_TEMP" state.
This method shall follow the provisions specified in the tables 5.4.14.3.1-1 and 5.4.14.3.1-2
for URI query parameters, request and response data structures, and response codes.
In case of success of processing the asynchronous request, the "operationState" attribute
in the representation of the parent resource shall be changed to "PROCESSING" and the applicable
"start" notification according to clause 5.6.2.2 shall be emitted to indicate that the underlying
VNF LCM operation occurrence proceeds.
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
description: >
202 ACCEPTED
Shall be returned when the request has been accepted for processing.
The response shall have an empty payload body.
headers:
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:
description: The used API version.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#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 VNF LCM operation occurrence represented by the parent resource,
#which means that the task resource consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#Shall be returned upon the following error: The operation cannot be executed currently,
#due to a conflict with the state of the VNF LCM operation occurrence.
#Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
#or another error handling action is starting, such as rollback or fail.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Rollback operation task #
###############################################################################
'/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback':
#SOL003 location: 5.4.15
parameters:
- name: vnfLcmOpOccId
description: >
Identifier of a VNF lifecycle management operation occurrence to be
be rolled back. This identifier can be retrieved from the resource
referenced by the "Location" HTTP header in the response to a PATCH
or POST request triggering a VNF LCM operation. It can also be
retrieved from the "vnfLcmOpOccId" attribute in the
VnfLcmOperationOccurrenceNotification.
in: path
required: true
type: string
The POST method initiates rolling back a VNF lifecycle operation if that operation
has experienced a temporary failure, i.e. the related "Individual VNF LCM operation occurrence"
resource is in "FAILED_TEMP" state.
Giacomo Bernini
committed
In case of rolling back an occurrence of the "InstantiateVnf" operation, the VNFM shall
request to the VIM the release of the virtualised resources that were allocated for the related VNF instance.
The "rollback" task shall be supported by the VNFM for any VNF LCM operation occurrence that represents an
"InstantiateVnf" operation in FAILED_TEMP state.
This method shall follow the provisions specified in the tables 5.4.15.3.1-1 and 5.4.15.3.1-2
for URI query parameters, request and response data structures, and response codes.
In case of success of processing the asynchronous request, the "operationState" attribute
in the representation of the parent resource shall be changed to "ROLLING_BACK" and the applicable
"start" notification according to clause 5.6.2.2 shall be emitted to indicate that rollback of the
underlying VNF LCM operation occurrence is attempted.
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
description: >
202 ACCEPTED
Shall be returned when the request has been accepted for processing.
The response shall have an empty payload body.
headers:
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:
description: The used API version.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#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 VNF LCM operation occurrence represented by the parent resource,
#which means that the task resource consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#Shall be returned upon the following error: The operation cannot be executed currently,
#due to a conflict with the state of the VNF LCM operation occurrence.
#Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
#or another error handling action is starting, such as rollback or fail.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Fail operation task #
###############################################################################
'/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail':
#SOL003 location: 5.4.16
parameters:
- name: vnfLcmOpOccId
description: >
Identifier of a VNF lifecycle management operation occurrence to be
be marked as "failed". This identifier can be retrieved from the
resource referenced by the "Location" HTTP header in the response to
a PATCH or POST request triggering a VNF LCM operation. It can also
be retrieved from the "vnfLcmOpOccId" attribute in the
VnfLcmOperationOccurrenceNotification.
in: path
required: true
type: string
The POST method marks a VNF lifecycle management operation occurrence as "finally failed"
if that operation occurrence is in "FAILED_TEMP" state.
This method shall follow the provisions specified in the tables 5.4.16.3.1-1 and 5.4.16.3.1-2
for URI query parameters, request and response data structures, and response codes.
In case of success, the "operationState" attribute in the representation of the parent resource
shall be changed to "FAILED" and the applicable "result" notification according to clause 5.6.2.2
shall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence
has finally and unrecoverably failed.
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
Shall be returned when the state of the VNF lifecycle management operation occurrence
has been changed successfully.
The response shall include a representation of the "Individual VNF lifecycle operation occurrence" resource.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
Giacomo Bernini
committed
#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,
#including rules for the presence of the response body.
#Specifically in case of this task resource, the response code 404 shall also returned if the task
#is not supported for the VNF LCM operation occurrence represented by the parent resource, which means
#that the task resource consequently does not exist.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict
#with the state of the VNF LCM operation occurrence.
#Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state,
#or another error handling action is starting, such as retry or rollback.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Cancel operation task #
###############################################################################
'/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel':
#SOL003 location: 5.4.17
parameters:
- name: vnfLcmOpOccId
description: >
Identifier of a VNF lifecycle management operation occurrence to be
be cancelled. This identifier can be retrieved from the
resource referenced by the "Location" HTTP header in the response to
a PATCH or POST request triggering a VNF LCM operation. It can also
be retrieved from the "vnfLcmOpOccId" attribute in the
VnfLcmOperationOccurrenceNotification.
in: path
required: true
type: string
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
The POST method initiates cancelling an ongoing VNF lifecycle operation while
it is being executed or rolled back, i.e. the related "Individual VNF LCM operation occurrence"
resource is either in "STARTING" or "PROCESSING" or "ROLLING_BACK" state.
This method shall follow the provisions specified in the tables 5.4.17.3.1-1 and 5.4.17.3.1-2
for URI query parameters, request and response data structures, and response codes.
Before returning the "202 Accepted" response, the VNFM shall update the "isCancelPending"
and "cancelMode" attributes in the representation of the parent resource according to the
provisions in clause 5.5.2.13.
In case of success of processing the asynchronous request:
1) If the request has been processed in "STARTING" state, the "operationState" attribute
in the representation of the parent resource shall be changed to "ROLLED_BACK".
2) 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 VNFM shall update the "isCancelPending" and "cancelMode" attributes
in the representation of the parent resource according to the provisions in clause 5.5.2.13
to reflect the new status, and the applicable "result" notification according to clause 5.6.2.2
shall be emitted to indicate that the execution of the underlying VNF 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: 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
description: >
202 ACCEPTED
Shall be returned when the request has been accepted for processing.
The response shall have an empty payload body.
headers:
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:
description: The used API version.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
Giacomo Bernini
committed
#description: >
#409 CONFLICT
Giacomo Bernini
committed
#Shall be returned upon the following error: The operation cannot be executed currently,
#due to a conflict with the state of the VNF LCM operation occurrence.
#Typically, this is due to the fact that the operation occurrence is not in STARTING,
#PROCESSING or ROLLING_BACK state.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Subscriptions #
###############################################################################
'/subscriptions':
#SOL003 location: 5.4.18
The POST method creates a new subscription.
This method shall follow the provisions specified in the tables 5.4.18.3.1-1 and 5.4.18.3.1-2
for URI query parameters, request and response data structures, and response codes.
As the result of successfully executing this method, a new "Individual subscription"
resource as defined in clause 5.4.3 shall have been created. 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 NFVO,
and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating
an "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).
parameters:
- name: LccnSubscriptionRequest
Details of the subscription to be created.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest"
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
- 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
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.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance
type: string
format: url
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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
Giacomo Bernini
committed
#description: >
#303 SEE OTHER
#Shall be returned if 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 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/SOL002SOL003_resp.yaml#/responses/303"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
Giacomo Bernini
committed
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
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: 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
Samir Medjiah
committed
- name: filter
description: >
Attribute-based filtering expression according to clause 4.3.2.
The VNFM shall support receiving this parameter as part of the
URI query string. The NFVO may supply this parameter.
All attribute names that appear in the LccnSubscription and in
data types referenced from it shall be supported by the VNFM
in the filter expression.
in: query
required: false
type: string
- name: nextpage_opaque_marker
description: >
Marker to obtain the next page of a paged response. Shall be
supported by the VNFM if the VNFM supports alternative 2 (paging)
according to clause 4.7.2.1 for this resource.
in: query
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
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 5.5.2.16.
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.
If the VNFM supports alternative 2 (paging) according to clause 5.4.7.2.1 of ETSI GS NFV-SOL 013
for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
in clause 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
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:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Individual subscription #
###############################################################################
'/subscriptions/{subscriptionId}':
#SOL003 location: 5.4.19
parameters:
- name: subscriptionId
description: >
Identifier of this subscription.
This identifier can be retrieved from the resource referenced by
the "Location" HTTP header in the response to a POST request
creating a new subscription resource. It can also be retrieved from
the "id" attribute in the payload body of that response.
in: path
type: string
required: true
get:
description: >
Query Subscription Information.
The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
This method shall follow the provisions specified in the tables 5.4.19.3.2-1 and 5.4.19.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: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
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.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
The DELETE method terminates an individual subscription.
This method shall follow the provisions specified in the tables 5.4.19.3.5-1 and 5.4.19.3.5-2
for URI query parameters, request and response data structures, and response codes.
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.
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
Shall be returned when the "Individual subscription" resource has been deleted successfully.
The response body shall be empty.
headers:
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:
description: >
Version of the API used in the response.
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"