Newer
Older
swagger: "2.0"
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Lifecycle Management interface
description: >
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
license:
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt

Michele Carignani
committed
externalDocs:
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf
basePath: /vnflcm/v1
- http
- https
- application/json
- application/json
paths:
Giacomo Bernini
committed
###############################################################################
# API Versions #
###############################################################################
'/api-versions':
Giacomo Bernini
committed
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF instances #
###############################################################################

Michele Carignani
committed
'/vnf_instances':
#SOL003 location: 5.4.2
parameters:
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
post:
description: >
The POST method creates a new VNF instance resource.

Michele Carignani
committed
parameters:
- name: createVnfRequest
description: >
The VNF creation parameters, as defined in clause 5.5.2.3.

Michele Carignani
committed
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: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
responses:
201:
description: >
201 CREATED
Shall be returned when a new "Individual VNF Instance" resource and
the associated VNF instance identifier has 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.

Michele Carignani
committed
headers:
Content-Type:
description: >
The MIME type of the body of the response.

Michele Carignani
committed
type: string
maximum: 1
minimum: 1
Location:
description: >
The resource URI of the created VNF instance

Michele Carignani
committed
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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
description: >
The used API version.
type: string
maximum: 1
minimum: 1

Michele Carignani
committed
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

Michele Carignani
committed
get:
description: >
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: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
The VNFM shall support receiving this parameter as part of the URI query string.
The EM 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.
EXAMPLE
objects
obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
Request 1:
GET …/container
Response 1:
[
{"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
{"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
]
Request 2:
GET …/container?filter=(eq.weight,100)
Response 2:
[
{"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
]
#Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
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.
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.
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.
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.
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:
- vnfConfigurableProperties
- instantiatedVnfInfo
- metadata
- extensions
in: query
required: false
type: string

Michele Carignani
committed
responses:
200:
200 OK
Information about zero or more VNF instances has been queried
successfully. The response body shall contain in an array the

Michele Carignani
committed
representations of zero or more VNF instances.
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: The used API version.
type: string
maximum: 1
minimum: 1

Michele Carignani
committed
schema:
type: array
items:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"

Michele Carignani
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 instance #
###############################################################################

Michele Carignani
committed
'/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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
get:
description: >
Samir Medjiah
committed
Information about a VNF instance by reading an "Individual VNF instance".

Michele Carignani
committed
responses:
200:
200 OK
Samir Medjiah
committed
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.

Michele Carignani
committed
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: The used API version.
type: string
maximum: 1
minimum: 1

Michele Carignani
committed
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

Michele Carignani
committed
patch:
#SOL003 location: 5.4.3.3.4
description: >
Samir Medjiah
committed
This method modifies an "Individual VNF instance" resource. Changes to

Michele Carignani
committed
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
parameters:
- name: vnfInfoModifications
description: Input parameters for VNF info modification
required: true
in: body
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
The request was accepted for processing, but the processing has not been completed.
On success, the HTTP response shall include a "Location" HTTP header that contains
Samir Medjiah
committed
the URI of the newly-created an "Individual VNF LCM operation occurrence" resource
corresponding to the operation.
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
The response body shall be empty.
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Error: The operation cannot be executed currently, due to a conflict with the state
Samir Medjiah
committed
of the "Individual VNF instance" resource.
Typically, this is due to the fact that another LCM operation is ongoing.
The response body shall contain a ProblemDetails structure, in which the "detail"
attribute should convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"

Michele Carignani
committed
412:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

Michele Carignani
committed
delete:
description: >
Samir Medjiah
committed
This method deletes an "Individual VNF instance" resource.

Michele Carignani
committed
responses:
204:
204 NO CONTENT
Samir Medjiah
committed
The "Individual VNF instance" resource and the associated VNF identifier were

Michele Carignani
committed
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: The used API version.
type: string
maximum: 1
minimum: 1

Michele Carignani
committed
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
Error: The operation cannot be executed currently, due to a conflict with the state of the resource.
Samir Medjiah
committed
Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Instantiate VNF task #
###############################################################################

Michele Carignani
committed
'/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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
#SOL003 location: 5.4.4.3.1
description: >
The POST method instantiates a VNF instance.
parameters:
- name: InstantiateVnfRequest
description: Parameters for the VNF instantiation.
in: body
required: true
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest"

Michele Carignani
committed
responses:
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "VNF LCM operation occurrence" resource corresponding to the operation.

Michele Carignani
committed
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"

Michele Carignani
committed
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
#SOL003 location: 5.4.5.3.1
description: >
The POST method requests to scale a VNF instance resource
incrementally.
parameters:
- name: ScaleVnfRequest
description: Parameters for the scale VNF operation.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest"
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
#SOL003 location: 5.4.6.3.1
description: >
The POST method requests to scale a VNF instance resource to a target
level.
parameters:
- name: ScaleVnfToLevelRequest
description: Parameters for the scale VNF to Level operation.
in: body
required: true
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest"
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
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:
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method changes the deployment flavour of a VNF instance.
parameters:
- name: ChangeVnfFlavourRequest
description: Parameters for the Change VNF Flavour operation.
in: body
required: true
schema:
$ref: "definitions/SOl002VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
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
933
934
935
936
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Terminate VNF task #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method terminates a VNF instance.
parameters:
- name: TerminateVnfRequest
description: Parameters for the VNF termination.
in: body
required: true
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing.
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
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:
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Heal VNF task #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method requests to heal a VNF instance.

Michele Carignani
committed
parameters:
- name: HealVnfRequest
description: Parameters for the Heal VNF operation.
in: body
required: true
schema:
$ref: "definitions/SOl002VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
###############################################################################
# Operate VNF task #
###############################################################################

Michele Carignani
committed
'/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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method changes the operational state of a VNF instance.

Michele Carignani
committed
parameters:
- name: OperateVnfRequest
description: Parameters for the Operate VNF operation.
in: body
required: true
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed.
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
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:
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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,
or that another lifecycle management operation is ongoing.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 external VNF connectivity task #
###############################################################################
'/vnf_instances/{vnfInstanceId}/change_ext_conn':

Michele Carignani
committed
#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 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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method changes the external connectivity of a VNF instance.
parameters:
- name: ChangeExtVnfConnectivityRequest

Michele Carignani
committed
Parameters for the Change external VNF connectivity operation.
in: body
required: true
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest"

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
Samir Medjiah
committed
The request has been accepted for processing, but the processing has not been completed.
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
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:
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: The used API version.
type: string
maximum: 1
minimum: 1
Location:
description: >
Used in redirection, or when a new resource has been created.
This header field shall be present if the response status code is 201 or 3xx.
In the present document this header field is also used if the response status
code is 202 and a new resource was created.
type: string
format: url
maximum: 1
minimum: 1

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
409:
description: >
409 CONFLICT
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.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
convey more information about the error.
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 #
###############################################################################

Michele Carignani
committed
'/vnf_lcm_op_occs':
#SOL003 location: 5.4.12
parameters:
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The client can use this method to query status information about
multiple VNF lifecycle management operation occurrences.
parameters:
- name: filter
description: >
Samir Medjiah
committed
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
The VNFM shall support receiving this parameter as part of the URI query string.
The EM/VNF 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.
EXAMPLE
objects
obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
Request 1:
GET …/container
Response 1:
[
{"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
{"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
]
Request 2:
GET …/container?filter=(eq.weight,100)
Response 2:
[
{"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
]
#Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
in: query
required: false
type: string
- name: all_fields
description: >
Include all complex attributes in the response.
Samir Medjiah
committed
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
in: query
required: false
type: string
- name: fields
description: >
Complex attributes to be included into the response.
Samir Medjiah
committed
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
in: query
required: false
type: string
- name: exclude_fields
description: >
Complex attributes to be excluded from the response.
Samir Medjiah
committed
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM should support this parameter.
in: query
required: false
type: string
- name: exclude_default
description: >
Indicates to exclude the following complex attributes from the response.
Samir Medjiah
committed
See clause 5.3 of ETSI GS NFV-SOL 013 for details. The VNFM shall support this parameter.
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:
- operationParams
- error
- resourceChanges
- changedInfo
- changedExtConnectivity
in: query
required: false
type: string
- name: nextpage_opaque_marker
description: >
Marker to obtain the next page of a paged response.
Samir Medjiah
committed
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.
in: query
required: false
type: string

Michele Carignani
committed
responses:
200:
description: >
200 OK
Samir Medjiah
committed
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 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.

Michele Carignani
committed
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
description: >
The used API version.
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

Michele Carignani
committed
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
Samir Medjiah
committed
###############################################################################
# Individual VNF LCM operation occurrence #
###############################################################################

Michele Carignani
committed
'/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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The client can use this method to retrieve status information about a
Samir Medjiah
committed
VNF lifecycle management operation occurrence by reading an "Individual
VNF LCM operation occurrence" resource.

Michele Carignani
committed
responses:
200:
description: >
200 OK
Samir Medjiah
committed
Information about an individual VNF instance has been queried
successfully. The response body shall contain status information
about a VNF lifecycle management operation occurrence.

Michele Carignani
committed
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: The used API version.
type: string
maximum: 1
minimum: 1

Michele Carignani
committed
schema:
$ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"

Michele Carignani
committed
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"

Michele Carignani
committed
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"

Michele Carignani
committed
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 #
###############################################################################

Michele Carignani
committed
'/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
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string

Michele Carignani
committed
description: >
The POST method initiates retrying a VNF lifecycle operation if that
operation has experienced a temporary failure, i.e. the related
Samir Medjiah
committed
"Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP"
state.

Michele Carignani
committed
responses:
202:
description: >
202 ACCEPTED
Samir Medjiah
committed
The request has been accepted for processing, but processing has
not been completed.
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

Michele Carignani
committed
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: