+openapi: 3.0.2
+
+info:
+ title: SOL003 - VNF Lifecycle Management interface
+ description: |
+ SOL003 - VNF Lifecycle Management interface
+ version: "1.0.0"
+ contact:
+ email: OSM_TECH@list.etsi.org
+ license:
+ name: Apache 2.0
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
+
+tags:
+ - name: VNF Instances
+ description: Operations related to VNF instances
+
+servers:
+ - url: http://127.0.0.1/vnflcm/v1
+ - url: https://127.0.0.1/vnflcm/v1
+
+paths:
+ /vnf_instances:
+ parameters:
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Accept
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Authorization
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Version
+ get:
+ tags:
+ - VNF Instances
+ summary: Query information about multiple VNF instances
+ description: The GET method queries information about multiple VNF instances.
+ responses:
+ 200:
+ $ref: '#/components/responses/VNFInstances.Get.200'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - VNF Instances
+ summary: Create a new VNF instance resource
+ description: |
+ The POST method creates a new VNF instance resource based on a VNF package that is onboarded
+ and in "ENABLED" state.
+ requestBody:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest'
+ responses:
+ 201:
+ $ref: '#/components/responses/VNFInstances.Post.201'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_instances/{vnfInstanceId}:
+ parameters:
+ - $ref: '#/components/parameters/VnfInstanceId'
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Authorization
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Version
+ get:
+ tags:
+ - VNF Instances
+ summary: Read an individual VNF instance resource
+ description: |
+ The GET method retrieves information about a VNF instance by reading an "Individual VNF instance" resource.
+ responses:
+ 200:
+ $ref: '#/components/responses/IndividualVnfInstance.Get.200'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - VNF Instances
+ summary: Delete an individual VNF instance resource
+ description: This method deletes an "Individual VNF instance" resource.
+ responses:
+ 204:
+ description: No Content
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_instances/{vnfInstanceId}/instantiate:
+ parameters:
+ - $ref: '#/components/parameters/VnfInstanceId'
+ post:
+ tags:
+ - VNF Instances
+ summary: Instantiate a VNF
+ description: |
+ The POST method instantiates a VNF instance. The precondition is that the VNF instance
+ must have been created and must be in NOT_INSTANTIATED state.
+ parameters:
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Accept
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Authorization
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Version
+ requestBody:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest'
+ responses:
+ 202:
+ $ref: '#/components/responses/InstantiateVnfInstance.Post.202'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_instances/{vnfInstanceId}/scale:
+ parameters:
+ - $ref: '#/components/parameters/VnfInstanceId'
+ post:
+ tags:
+ - VNF Instances
+ summary: Scale a VNF instance
+ description: |
+ The POST method requests to scale a VNF instance resource. The precondition is that the VNF instance
+ must have been created and must be in INSTANTIATED state.
+ parameters:
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Accept
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Authorization
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Version
+ requestBody:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest'
+ responses:
+ 202:
+ $ref: '#/components/responses/ScaleVnfInstance.Post.202'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_instances/{vnfInstanceId}/terminate:
+ parameters:
+ - $ref: '#/components/parameters/VnfInstanceId'
+ post:
+ tags:
+ - VNF Instances
+ summary: Terminate a VNF instance
+ description: |
+ The POST method requests to terminate a VNF instance. The precondition is that the VNF
+ instance must have been created and must be in INSTANTIATED state.
+ parameters:
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Accept
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Authorization
+ - $ref: ../components/SOL003_params.yaml#/components/parameters/Version
+ requestBody:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest'
+ responses:
+ 202:
+ $ref: '#/components/responses/TerminateVnfInstance.Post.202'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_lcm_op_occs:
+ get:
+ tags:
+ - VNF Instances
+ summary: Query information about multiple VNF LCM Operation Occurrences
+ description: Query information about multiple VNF LCM Operation Occurrences
+ responses:
+ 200:
+ $ref: '#/components/responses/VnfLcmOpOccs.Get.200'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+ /vnf_lcm_op_occs/{vnfLcmOpOccId}:
+ parameters:
+ - $ref: '#/components/parameters/VnfLcmOpOccId'
+ get:
+ tags:
+ - VNF Instances
+ summary: Query information about an individual VNF LCM Operation Occurrence
+ description: Query information about an individual VNF LCM Operation Occurrence
+ responses:
+ 200:
+ $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200'
+ 400:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/400'
+ 401:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/401'
+ 403:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/403'
+ 404:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/404'
+ 405:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/405'
+ 406:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/406'
+ 409:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/409'
+ 422:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/422'
+ 500:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/500'
+ 503:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/503'
+ 5XX:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+ default:
+ $ref: '../responses/SOL003_resp.yaml#/components/responses/UnexpectedError'
+
+components:
+ parameters:
+ VnfInstanceId:
+ name: vnfInstanceId
+ in: path
+ required: true
+ description: Identifier of the VNF instance
+ schema:
+ type: string
+ VnfLcmOpOccId:
+ name: vnfLcmOpOccId
+ in: path
+ required: true
+ description: |
+ Identifier of the VNF lifecycle management operation occurrence
+ schema:
+ type: string
+
+ responses:
+ VNFInstances.Get.200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ArrayOfVnfInstance'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ArrayOfVnfInstance'
+ VNFInstances.Post.201:
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ IndividualVnfInstance.Get.200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInstance'
+ InstantiateVnfInstance.Post.202:
+ description: Accepted
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ ScaleVnfInstance.Post.202:
+ description: Accepted
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ TerminateVnfInstance.Post.202:
+ description: Accepted
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ObjectId'
+ VnfLcmOpOccs.Get.200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ArrayOfVnfLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/ArrayOfVnfLcmOpOcc'
+ IndividualVnfLcmOpOcc.Get.200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: './definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc'