diff options
author | liuyuan <liuyuanyjy@chinamobile.com> | 2019-04-04 15:27:03 +0800 |
---|---|---|
committer | Yuan Liu <liuyuanyjy@chinamobile.com> | 2019-04-04 08:52:21 +0000 |
commit | 21cc2c63ba04dc1a00233e7ed6ae47e1a974c795 (patch) | |
tree | 1e51e9fa713bf3d778ab72f5cde90a9a0bfc0557 /docs | |
parent | 96c9717609b3227d183839ab0f3647a35ee772e8 (diff) |
add more docutment in lcm
Change-Id: Iba68f049d7e02f533593403980fe7fcbce1cd592
Issue-ID: VFC-1337
Signed-off-by: liuyuan <liuyuanyjy@chinamobile.com>
Diffstat (limited to 'docs')
16 files changed, 11287 insertions, 10515 deletions
diff --git a/docs/index.rst b/docs/index.rst index 2523d917..a1a8821e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ architecuture, the APIs and the installation steps, etc. as well as the release notes of VF-C in this document. .. toctree:: - :maxdepth: 1 + :maxdepth: 2 platform/index.rst release-notes.rst diff --git a/docs/platform/APIs/CATALOG_API/CATALOG_API_Specification_v0.1.json b/docs/platform/APIs/CATALOG_API/CATALOG_API_Specification_v1.json index df013d19..df013d19 100644 --- a/docs/platform/APIs/CATALOG_API/CATALOG_API_Specification_v0.1.json +++ b/docs/platform/APIs/CATALOG_API/CATALOG_API_Specification_v1.json diff --git a/docs/platform/APIs/CATALOG_API/index.rst b/docs/platform/APIs/CATALOG_API/index.rst index 2932389d..bc956ac9 100644 --- a/docs/platform/APIs/CATALOG_API/index.rst +++ b/docs/platform/APIs/CATALOG_API/index.rst @@ -3,4 +3,4 @@ CATALOG API ------------ -.. swaggerv2doc:: CATALOG_API_Specification_v0.1.json
\ No newline at end of file +.. swaggerv2doc:: CATALOG_API_Specification_v1.json
\ No newline at end of file diff --git a/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.json b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v1.json index 61352939..c7f1c365 100644 --- a/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.json +++ b/docs/platform/APIs/NSLCM_API/NSLCM_API_Specification_v1.json @@ -1,8723 +1,8723 @@ -{
- "swagger": "2.0",
- "info": {
- "version": "1.0.0",
- "title": "ONAP VFC Network Service Lifecycle Management API",
- "description": "VFC Network Service Lifecycle Management Rest API.",
- "contact": {
- "name": "ONAP VFC team",
- "email": "onap-discuss@lists.onap.org",
- "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"
- }
- },
- "basePath": "/",
- "schemes": [
- "http",
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths":{
- "/api/nslcm/v1/jobs/{job_id}":{
- "get":{
- "operationId":"api_nslcm_v1_jobs_read",
- "description":"Query job",
- "parameters":[
- {
- "name":"job_id",
- "in":"query",
- "description":"job id",
- "type":"string"
- },
- {
- "name":"responseId",
- "in":"query",
- "description":"response id",
- "type":"string"
- }
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/JobQueryResp"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v1_jobs_create",
- "description":"Update job",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/JobUpdReq"
- }
- },
- {
- "name":"job_id",
- "in":"query",
- "description":"job id",
- "type":"string"
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/JobUpdResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"job_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/mandb/{modelName}":{
- "get":{
- "operationId":"api_nslcm_v1_mandb_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/RecordCount"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_mandb_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "204":{
- "description":"successful"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"modelName",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns":{
- "get":{
- "operationId":"api_nslcm_v1_ns_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "description":"NS instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_QueryNsResp"
- }
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v1_ns_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_CreateNsReq"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_CreateNsResp"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/create_flow_classifier":{
- "post":{
- "operationId":"api_nslcm_v1_ns_create_flow_classifier_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreateFlowCla"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"successful"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/create_port_chain":{
- "post":{
- "operationId":"api_nslcm_v1_ns_create_port_chain_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreatePortChain"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"successful"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/create_port_pair_group":{
- "post":{
- "operationId":"api_nslcm_v1_ns_create_port_pair_group_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreatePortPairGp"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"successful"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/grantvnf":{
- "post":{
- "operationId":"api_nslcm_v1_ns_grantvnf_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/GrantVnfReq"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/GrantVnfResp"
- }
- },
- "409":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/ns_vnfs/{vnfinstid}/scaling":{
- "post":{
- "operationId":"api_nslcm_v1_ns_ns_vnfs_scaling_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/ScaleVnfReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ScaleVnfResp"
- }
- },
- "409":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfinstid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/placevnf":{
- "post":{
- "operationId":"api_nslcm_v1_ns_placevnf_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/PlaceVnfReq"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/PlaceVnfReq"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/sfc_instance":{
- "post":{
- "operationId":"api_nslcm_v1_ns_sfc_instance_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreateSfcInstReq"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/CreateSfcInstResp"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/sfcs":{
- "post":{
- "operationId":"api_nslcm_v1_ns_sfcs_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreateSfcReq"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/CreateSfcResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/sfcs/{sfc_inst_id}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_sfcs_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/GetSfcResp"
- }
- },
- "404":{
- "description":"SFC not found"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_ns_sfcs_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/DeleteSfcResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"sfc_inst_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/terminatevnf/{vnfinstid}":{
- "post":{
- "operationId":"api_nslcm_v1_ns_terminatevnf_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/TerminateVnfReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/TerminateVnfResp"
- }
- },
- "409":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfinstid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/vls":{
- "post":{
- "operationId":"api_nslcm_v1_ns_vls_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreateVlReq"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/CreateVlResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/vls/{vl_inst_id}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_vls_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/GetVlResp"
- }
- },
- "404":{
- "description":"VL instance is not found"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_ns_vls_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/DeleteVlResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vl_inst_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/vnfs":{
- "post":{
- "operationId":"api_nslcm_v1_ns_vnfs_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/InstVnfReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/InstVnfResp"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns/vnfs/{vnfinstid}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_vnfs_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/GetVnfResp"
- }
- },
- "404":{
- "description":"VNF not found"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfinstid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "description":"NS instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_QueryNsResp"
- }
- }
- },
- "404":{
- "description":"Ns instance does not exist"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_ns_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "204":{
- "description":"successful"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/heal":{
- "post":{
- "operationId":"api_nslcm_v1_ns_heal_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_HealNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_NsOperateJob"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/instantiate":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instantiate_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_InstantNsReq"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_NsOperateJob"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/postdeal":{
- "post":{
- "operationId":"api_nslcm_v1_ns_postdeal_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_InstNsPostDealReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"NS instant post deal success"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/scale":{
- "post":{
- "operationId":"api_nslcm_v1_ns_scale_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_ManualScaleNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_NsOperateJob"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/terminate":{
- "post":{
- "operationId":"api_nslcm_v1_ns_terminate_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/_TerminateNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_NsOperateJob"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{ns_instance_id}/update":{
- "post":{
- "operationId":"api_nslcm_v1_ns_update_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/UpdateNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/_NsOperateJob"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns/{vnfmid}/vnfs/{vnfInstanceId}/Notify":{
- "post":{
- "operationId":"api_nslcm_v1_ns_vnfs_Notify_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/NotifyLcmReq"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"successful"
- },
- "409":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfInstanceId",
- "in":"path",
- "required":true,
- "type":"string"
- },
- {
- "name":"vnfmid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances":{
- "get":{
- "operationId":"api_nslcm_v1_ns_instances_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "description":"NS instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsInstance"
- }
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/CreateNsRequest"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/NsInstance"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_instances_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/NsInstance"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_ns_instances_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "204":{
- "description":"HTTP_204_NO_CONTENT"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}/heal":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_heal_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/HealNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"HTTP_202_ACCEPTED"
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}/instantiate":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_instantiate_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/InstantNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"HTTP_202_ACCEPTED"
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}/scale":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_scale_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/ManualScaleNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"HTTP_202_ACCEPTED"
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}/terminate":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_terminate_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/TerminateNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"HTTP_202_ACCEPTED"
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_instances/{ns_instance_id}/update":{
- "post":{
- "operationId":"api_nslcm_v1_ns_instances_update_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/UpdateNsReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"HTTP_202_ACCEPTED"
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"ns_instance_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/ns_lcm_op_occs":{
- "get":{
- "operationId":"api_nslcm_v1_ns_lcm_op_occs_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "type":"array",
- "items":{
- "$ref":"#/definitions/NSLCMOpOcc"
- }
- }
- },
- "400":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/ns_lcm_op_occs/{lcmopoccid}":{
- "get":{
- "operationId":"api_nslcm_v1_ns_lcm_op_occs_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/NSLCMOpOcc"
- }
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"lcmopoccid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/pnfs":{
- "get":{
- "operationId":"api_nslcm_v1_pnfs_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "description":"Pnf instances",
- "type":"array",
- "items":{
- "description":"Pnf instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfInstance"
- }
- }
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v1_pnfs_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/PnfInstance"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/PnfInstance"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/pnfs/{pnf_id}":{
- "get":{
- "operationId":"api_nslcm_v1_pnfs_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "description":"Pnf instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfInstance"
- }
- }
- },
- "404":{
- "description":"Pnf instance does not exist"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "delete":{
- "operationId":"api_nslcm_v1_pnfs_delete",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "204":{
- "description":"successful"
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"pnf_id",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/subscriptions":{
- "get":{
- "operationId":"api_nslcm_v1_subscriptions_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "type":"array",
- "items":{
- "$ref":"#/definitions/LccnSubscription"
- }
- }
- },
- "400":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v1_subscriptions_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/LccnSubscriptionRequest"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/LccnSubscription"
- }
- },
- "303":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- },
- "500":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/ProblemDetails"
- }
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/vims/(P{vimid}[0-9a-zA-Z_-]+)":{
- "get":{
- "operationId":"api_nslcm_v1_vims_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/VimInfoResp"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vimid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/vnfms/(P{vnfmid}[0-9a-zA-Z_-]+)":{
- "get":{
- "operationId":"api_nslcm_v1_vnfms_read",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/VnfmInfoResp"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfmid",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/api/nslcm/v1/vnfonboarding":{
- "post":{
- "operationId":"api_nslcm_v1_vnfonboarding_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/VerifyVnfReq"
- }
- }
- ],
- "responses":{
- "202":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/VerifyVnfResp"
- }
- },
- "409":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v1/workflow":{
- "post":{
- "operationId":"api_nslcm_v1_workflow_create",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "201":{
- "description":""
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v2/grants":{
- "post":{
- "operationId":"api_nslcm_v2_grants_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/GrantRequest"
- }
- }
- ],
- "responses":{
- "201":{
- "description":"",
- "schema":{
- "$ref":"#/definitions/Grant"
- }
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
-
- ]
- },
- "/api/nslcm/v2/ns/{vnfmId}/vnfs/{vnfInstanceId}/Notify":{
- "get":{
- "operationId":"api_nslcm_v2_ns_vnfs_Notify_list",
- "description":"",
- "parameters":[
-
- ],
- "responses":{
- "204":{
- "description":"The notification endpoint was tested successfully."
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "post":{
- "operationId":"api_nslcm_v2_ns_vnfs_Notify_create",
- "description":"",
- "parameters":[
- {
- "name":"data",
- "in":"body",
- "required":true,
- "schema":{
- "$ref":"#/definitions/VnfLcmOperationOccurrenceNotification"
- }
- }
- ],
- "responses":{
- "204":{
- "description":"The notification was delivered successfully."
- },
- "500":{
- "description":"Inner error"
- }
- },
- "tags":[
- "api"
- ]
- },
- "parameters":[
- {
- "name":"vnfInstanceId",
- "in":"path",
- "required":true,
- "type":"string"
- },
- {
- "name":"vnfmId",
- "in":"path",
- "required":true,
- "type":"string"
- }
- ]
- },
- "/samples/":{
- "get":{
- "operationId":"samples_list",
- "description":"List all samples.",
- "parameters":[
-
- ],
- "responses":{
- "200":{
- "description":"Status is active"
- }
- },
- "tags":[
- "samples"
- ]
- },
- "parameters":[
-
- ]
- }
- },
- "definitions":{
- "JobHistory":{
- "description":"History of job",
- "required":[
- "status",
- "progress",
- "responseId"
- ],
- "type":"object",
- "properties":{
- "status":{
- "title":"Status",
- "description":"Status of job",
- "type":"string"
- },
- "progress":{
- "title":"Progress",
- "description":"Progress of job",
- "type":"string"
- },
- "statusDescription":{
- "title":"Statusdescription",
- "description":"Description of job",
- "type":"string"
- },
- "errorCode":{
- "title":"Errorcode",
- "description":"Error code of job",
- "type":"string"
- },
- "responseId":{
- "title":"Responseid",
- "description":"Response index of job",
- "type":"string"
- }
- }
- },
- "JobDescriptor":{
- "title":"Responsedescriptor",
- "description":"Descriptor of job",
- "required":[
- "status",
- "progress",
- "responseId",
- "responseHistoryList"
- ],
- "type":"object",
- "properties":{
- "status":{
- "title":"Status",
- "description":"Status of job",
- "type":"string"
- },
- "progress":{
- "title":"Progress",
- "description":"Progress of job",
- "type":"integer"
- },
- "statusDescription":{
- "title":"Statusdescription",
- "description":"Description of job",
- "type":"string"
- },
- "errorCode":{
- "title":"Errorcode",
- "description":"Error code of job",
- "type":"string"
- },
- "responseId":{
- "title":"Responseid",
- "description":"Response index of job",
- "type":"string"
- },
- "responseHistoryList":{
- "description":"History of job",
- "type":"array",
- "items":{
- "$ref":"#/definitions/JobHistory"
- }
- }
- }
- },
- "JobQueryResp":{
- "required":[
- "jobId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"UUID of job",
- "type":"string"
- },
- "responseDescriptor":{
- "$ref":"#/definitions/JobDescriptor"
- }
- }
- },
- "JobUpdReq":{
- "required":[
- "progress"
- ],
- "type":"object",
- "properties":{
- "progress":{
- "title":"Progress",
- "description":"Progress of job",
- "type":"string"
- },
- "desc":{
- "title":"Desc",
- "description":"Desc of job",
- "type":"string"
- },
- "errcode":{
- "title":"Errcode",
- "description":"Error code of job",
- "type":"string"
- }
- }
- },
- "JobUpdResp":{
- "required":[
- "result"
- ],
- "type":"object",
- "properties":{
- "result":{
- "title":"Result",
- "description":"Result of job update",
- "type":"string"
- },
- "msg":{
- "title":"Msg",
- "description":"Detail of job update",
- "type":"string"
- }
- }
- },
- "RecordCount":{
- "required":[
- "count"
- ],
- "type":"object",
- "properties":{
- "count":{
- "title":"Count",
- "description":"Count of record",
- "type":"string"
- }
- }
- },
- "_VnfInst":{
- "description":"VNF instances",
- "required":[
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"ID of VNF instance",
- "type":"string"
- },
- "vnfInstanceName":{
- "title":"Vnfinstancename",
- "description":"Name of VNF instance",
- "type":"string"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"ID of VNFD",
- "type":"string"
- }
- }
- },
- "PnfInstance":{
- "description":"PNF instances",
- "required":[
- "pnfId",
- "pnfName",
- "pnfdId",
- "pnfProfileId"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the PNF.",
- "type":"string"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF.",
- "type":"string"
- },
- "pnfdId":{
- "title":"Pnfdid",
- "description":"Identifier of the PNFD on which the PNF is based.",
- "type":"string"
- },
- "pnfdInfoId":{
- "title":"Pnfdinfoid",
- "description":"Identifier of the PNFD information object related to this PNF.",
- "type":"string"
- },
- "pnfProfileId":{
- "title":"Pnfprofileid",
- "description":"Identifier of the related PnfProfile in the NSD on which the PNF is based.",
- "type":"string"
- },
- "cpInfo":{
- "title":"Cpinfo",
- "description":"Information on the external CP of the PNF.",
- "type":"string"
- }
- }
- },
- "_CpInstInfo":{
- "description":"Related CP instances",
- "required":[
- "cpInstanceId"
- ],
- "type":"object",
- "properties":{
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"ID of CP instance",
- "type":"string"
- },
- "cpInstanceName":{
- "title":"Cpinstancename",
- "description":"Name of CP instance",
- "type":"string"
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"ID of CPD",
- "type":"string"
- }
- }
- },
- "_VlInst":{
- "description":"VL instances",
- "required":[
- "vlInstanceId",
- "relatedCpInstanceId"
- ],
- "type":"object",
- "properties":{
- "vlInstanceId":{
- "title":"Vlinstanceid",
- "description":"ID of VL instance",
- "type":"string"
- },
- "vlInstanceName":{
- "title":"Vlinstancename",
- "description":"Name of VL instance",
- "type":"string"
- },
- "vldId":{
- "title":"Vldid",
- "description":"ID of VLD",
- "type":"string"
- },
- "relatedCpInstanceId":{
- "description":"Related CP instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_CpInstInfo"
- }
- }
- }
- },
- "_VnffgInst":{
- "description":"VNFFG instances",
- "required":[
- "vnffgInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnffgInstanceId":{
- "title":"Vnffginstanceid",
- "description":"ID of VNFFG instance",
- "type":"string"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"ID of VNFD",
- "type":"string"
- },
- "pnfId":{
- "title":"Pnfid",
- "description":"ID of PNF",
- "type":"string"
- },
- "virtualLinkId":{
- "title":"Virtuallinkid",
- "description":"ID of virtual link",
- "type":"string"
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"ID of CPD",
- "type":"string"
- },
- "nfp":{
- "title":"Nfp",
- "description":"nfp",
- "type":"string"
- }
- }
- },
- "_QueryNsResp":{
- "description":"NS instances",
- "required":[
- "nsInstanceId",
- "nsdId"
- ],
- "type":"object",
- "properties":{
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- },
- "nsName":{
- "title":"Nsname",
- "description":"Name of NS instance",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Description of NS instance",
- "type":"string"
- },
- "nsdId":{
- "title":"Nsdid",
- "description":"ID of NSD",
- "type":"string"
- },
- "vnfInfo":{
- "description":"VNF instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_VnfInst"
- }
- },
- "pnfInfo":{
- "description":"PNF instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfInstance"
- }
- },
- "vlInfo":{
- "description":"VL instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_VlInst"
- }
- },
- "vnffgInfo":{
- "description":"VNFFG instances",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_VnffgInst"
- }
- },
- "nsState":{
- "title":"Nsstate",
- "description":"State of NS instance",
- "type":"string"
- }
- }
- },
- "_Context":{
- "title":"Context",
- "description":"Context of NS",
- "type":"object",
- "properties":{
- "globalCustomerId":{
- "title":"Globalcustomerid",
- "description":"Global customer ID",
- "type":"string"
- },
- "serviceType":{
- "title":"Servicetype",
- "description":"Service type",
- "type":"string"
- }
- }
- },
- "_CreateNsReq":{
- "type":"object",
- "properties":{
- "csarId":{
- "title":"Csarid",
- "description":"Package ID of NS",
- "type":"string"
- },
- "nsName":{
- "title":"Nsname",
- "description":"Name of NS",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Description of NS",
- "type":"string"
- },
- "context":{
- "$ref":"#/definitions/_Context"
- }
- }
- },
- "_CreateNsResp":{
- "required":[
- "nsInstanceId"
- ],
- "type":"object",
- "properties":{
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- }
- }
- },
- "CreateFlowCla":{
- "type":"object",
- "properties":{
- "fpinstid":{
- "title":"Fpinstid",
- "description":"ID of FP instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of NS instance",
- "type":"string"
- }
- }
- },
- "CreatePortChain":{
- "type":"object",
- "properties":{
- "fpinstid":{
- "title":"Fpinstid",
- "description":"ID of FP instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of NS instance",
- "type":"string"
- }
- }
- },
- "CreatePortPairGp":{
- "type":"object",
- "properties":{
- "fpinstid":{
- "title":"Fpinstid",
- "description":"ID of FP instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of NS instance",
- "type":"string"
- },
- "nsinstanceid":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- }
- }
- },
- "ResourceChange":{
- "description":"Add resources",
- "required":[
- "type"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"Change Type",
- "type":"string",
- "enum":[
- "VDU"
- ]
- },
- "resourceDefinitionId":{
- "title":"Resourcedefinitionid",
- "description":"Identifier of resource",
- "type":"string"
- },
- "vdu":{
- "title":"Vdu",
- "description":"Identifier identifier of VDU",
- "type":"string"
- }
- }
- },
- "GrantVnfReq":{
- "required":[
- "vnfInstanceId",
- "lifecycleOperation",
- "addResource",
- "removeResource"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"ID of VNF instance",
- "type":"string"
- },
- "vnfDescriptorId":{
- "title":"Vnfdescriptorid",
- "description":"ID of VNF Descriptor",
- "type":"string"
- },
- "lifecycleOperation":{
- "title":"Lifecycleoperation",
- "description":"Lifecycle Operation",
- "type":"string",
- "enum":[
- "Terminate",
- "Instantiate",
- "Scalein",
- "Scaleout",
- "Scaledown",
- "Scaleup",
- "Heal"
- ]
- },
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- },
- "addResource":{
- "description":"Add resources",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceChange"
- }
- },
- "removeResource":{
- "description":"Remove resources",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceChange"
- }
- },
- "additionalParam":{
- "title":"Additionalparam",
- "description":"Additional parameters passed to the NFVO, specific to the VNF and the LCM operation. The currently interpreted keys are the following: vimId",
- "type":"object",
- "additionalProperties":{
- "description":"Additional parameters",
- "type":"string"
- }
- }
- }
- },
- "Accessinfo":{
- "title":"Accessinfo",
- "description":"Access Info",
- "required":[
- "tenant"
- ],
- "type":"object",
- "properties":{
- "tenant":{
- "title":"Tenant",
- "description":"Name of tenant",
- "type":"string"
- }
- }
- },
- "Vim":{
- "title":"Vim",
- "description":"VIM Info",
- "required":[
- "vimid"
- ],
- "type":"object",
- "properties":{
- "vimid":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- },
- "accessinfo":{
- "$ref":"#/definitions/Accessinfo"
- },
- "accessInfo":{
- "$ref":"#/definitions/Accessinfo"
- }
- }
- },
- "GrantVnfResp":{
- "required":[
- "vim"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"ID of VNF instance",
- "type":"string"
- },
- "vim":{
- "$ref":"#/definitions/Vim"
- }
- }
- },
- "ScaleVnfData":{
- "title":"Scalevnfdata",
- "description":"Scale data",
- "required":[
- "type"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"Direction of the scaling",
- "type":"string",
- "enum":[
- "SCALE_IN",
- "SCALE_OUT"
- ]
- },
- "aspectId":{
- "title":"Aspectid",
- "description":"Aspect ID of the VNF that is requested to be scaled",
- "type":"string"
- },
- "numberOfSteps":{
- "title":"Numberofsteps",
- "description":"Number of scaling steps to be executed as part of this ScaleVnf operation",
- "type":"string"
- },
- "additionalParam":{
- "title":"Additionalparam",
- "description":"Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled",
- "type":"object",
- "additionalProperties":{
- "description":"Additional parameters",
- "type":"string"
- }
- }
- }
- },
- "ScaleVnfReq":{
- "required":[
- "scaleVnfData"
- ],
- "type":"object",
- "properties":{
- "scaleVnfData":{
- "$ref":"#/definitions/ScaleVnfData"
- }
- }
- },
- "ScaleVnfResp":{
- "required":[
- "jobId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- }
- }
- },
- "Candidate":{
- "title":"Solution",
- "description":"The Placement Solution",
- "required":[
- "identifierType",
- "identifiers"
- ],
- "type":"object",
- "properties":{
- "identifierType":{
- "title":"Identifiertype",
- "description":"The type of a candidate",
- "type":"string",
- "enum":[
- "serviceInstanceId",
- "vnfName",
- "cloudRegionId",
- "vimId"
- ]
- },
- "identifiers":{
- "description":"A list of identifiers",
- "type":"array",
- "items":{
- "description":"One identifier",
- "type":"string"
- }
- },
- "cloudOwner":{
- "title":"Cloudowner",
- "description":"The name of a cloud owner. Only required if identifier Type is cloudRegionId",
- "type":"string"
- }
- }
- },
- "AssignmentInfo":{
- "description":"Additonal information related to a candidate",
- "required":[
- "key",
- "value"
- ],
- "type":"object",
- "properties":{
- "key":{
- "title":"Key",
- "description":"Any attribute Key needed",
- "type":"string"
- },
- "value":{
- "title":"Value",
- "description":"Attribute value for that key",
- "type":"string"
- }
- }
- },
- "PlacementSolution":{
- "description":"A list of placement solutions",
- "required":[
- "resourceModuleName",
- "serviceResourceId",
- "solution"
- ],
- "type":"object",
- "properties":{
- "resourceModuleName":{
- "title":"Resourcemodulename",
- "description":"Name of Resource as defined in the Service Model",
- "type":"string"
- },
- "serviceResourceId":{
- "title":"Serviceresourceid",
- "description":"Resource Id defined in the Service Model",
- "type":"string"
- },
- "solution":{
- "$ref":"#/definitions/Candidate"
- },
- "assignmentInfo":{
- "description":"Additonal information related to a candidate",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AssignmentInfo"
- }
- }
- }
- },
- "LicenseSolution":{
- "description":"A list of License Solutions",
- "required":[
- "resourceModuleName",
- "serviceResourceId",
- "entitlementPoolUUID",
- "licenseKeyGroupUUID",
- "entitlementPoolInvariantUUID",
- "licenseKeyGroupInvariantUUID"
- ],
- "type":"object",
- "properties":{
- "resourceModuleName":{
- "title":"Resourcemodulename",
- "description":"Name of Resource as defined in the Service Model",
- "type":"string"
- },
- "serviceResourceId":{
- "title":"Serviceresourceid",
- "description":"Resource Id defined in the Service Model",
- "type":"string"
- },
- "entitlementPoolUUID":{
- "description":"A list of entitlementPoolUUIDs",
- "type":"array",
- "items":{
- "description":"entitlementPoolUUID",
- "type":"string"
- }
- },
- "licenseKeyGroupUUID":{
- "description":"A list of licenseKeyGroupUUID",
- "type":"array",
- "items":{
- "description":"licenseKeyGroupUUID",
- "type":"string"
- }
- },
- "entitlementPoolInvariantUUID":{
- "description":"A list of entitlementPoolInvariantUUIDs",
- "type":"array",
- "items":{
- "description":"entitlementPoolInvariantUUID",
- "type":"string"
- }
- },
- "licenseKeyGroupInvariantUUID":{
- "description":"A list of licenseKeyGroupInvariantUUID",
- "type":"array",
- "items":{
- "description":"licenseKeyGroupInvariantUUID",
- "type":"string"
- }
- }
- }
- },
- "Solution":{
- "title":"Solutions",
- "description":"Request Solutions",
- "required":[
- "placementSolutions"
- ],
- "type":"object",
- "properties":{
- "placementSolutions":{
- "description":"A list of Placement Solutions",
- "type":"array",
- "items":{
- "description":"A list of Placement Solutions",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PlacementSolution"
- }
- }
- },
- "licenseSolutions":{
- "description":"A list of License Solutions",
- "type":"array",
- "items":{
- "$ref":"#/definitions/LicenseSolution"
- }
- }
- }
- },
- "PlaceVnfReq":{
- "required":[
- "requestId",
- "transactionId",
- "requestStatus",
- "solutions"
- ],
- "type":"object",
- "properties":{
- "requestId":{
- "title":"Requestid",
- "description":"ID of Homing Request",
- "type":"string"
- },
- "transactionId":{
- "title":"Transactionid",
- "description":"ID of Homing Transaction",
- "type":"string"
- },
- "statusMessage":{
- "title":"Statusmessage",
- "description":"Status Message of Request",
- "type":"string"
- },
- "requestStatus":{
- "title":"Requeststatus",
- "description":"The Status of a Request",
- "type":"string",
- "enum":[
- "completed",
- "failed",
- "pending"
- ]
- },
- "solutions":{
- "$ref":"#/definitions/Solution"
- }
- }
- },
- "CreateSfcInstReq":{
- "required":[
- "fpindex"
- ],
- "type":"object",
- "properties":{
- "fpindex":{
- "title":"Fpindex",
- "description":"Index of FP",
- "type":"string"
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of NS instance",
- "type":"string"
- },
- "sdnControllerId":{
- "title":"Sdncontrollerid",
- "description":"ID of SDN controller",
- "type":"string"
- }
- }
- },
- "CreateSfcInstResp":{
- "required":[
- "fpinstid"
- ],
- "type":"object",
- "properties":{
- "fpinstid":{
- "title":"Fpinstid",
- "description":"ID of FP instance",
- "type":"string"
- }
- }
- },
- "CreateSfcReq":{
- "required":[
- "fpindex"
- ],
- "type":"object",
- "properties":{
- "fpindex":{
- "title":"Fpindex",
- "description":"Index of FP",
- "type":"string"
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of NS instance",
- "type":"string"
- },
- "sdnControllerId":{
- "title":"Sdncontrollerid",
- "description":"ID of SDN controller",
- "type":"string"
- }
- }
- },
- "CreateSfcResp":{
- "required":[
- "jobId",
- "sfcInstId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"ID of job",
- "type":"string"
- },
- "sfcInstId":{
- "title":"Sfcinstid",
- "description":"ID of SFC instance",
- "type":"string"
- }
- }
- },
- "GetSfcResp":{
- "required":[
- "sfcInstId",
- "sfcName",
- "sfcStatus"
- ],
- "type":"object",
- "properties":{
- "sfcInstId":{
- "title":"Sfcinstid",
- "description":"ID of SFC instance",
- "type":"string"
- },
- "sfcName":{
- "title":"Sfcname",
- "description":"Name of SFC instance",
- "type":"string"
- },
- "sfcStatus":{
- "title":"Sfcstatus",
- "description":"Status of SFC instance",
- "type":"string"
- }
- }
- },
- "DeleteSfcResp":{
- "required":[
- "result"
- ],
- "type":"object",
- "properties":{
- "result":{
- "title":"Result",
- "description":"Delete SFC result(0: success, 1: failed)",
- "type":"string"
- },
- "detail":{
- "title":"Detail",
- "description":"Result detail",
- "type":"string"
- }
- }
- },
- "TerminateVnfReq":{
- "type":"object",
- "properties":{
- "terminationType":{
- "title":"Terminationtype",
- "description":"Termination Type",
- "type":"string"
- },
- "gracefulTerminationTimeout":{
- "title":"Gracefulterminationtimeout",
- "description":"Graceful Termination Timeout",
- "type":"string"
- }
- }
- },
- "TerminateVnfResp":{
- "required":[
- "jobId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- }
- }
- },
- "CreateVlReq":{
- "required":[
- "vlIndex"
- ],
- "type":"object",
- "properties":{
- "vlIndex":{
- "title":"Vlindex",
- "description":"Index of VL instance",
- "type":"string"
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- },
- "context":{
- "title":"Context",
- "description":"Context of VL instance",
- "type":"string"
- },
- "additionalParamForNs":{
- "title":"Additionalparamforns",
- "description":"Additional param for NS",
- "type":"string"
- }
- }
- },
- "CreateVlResp":{
- "required":[
- "result",
- "vlId"
- ],
- "type":"object",
- "properties":{
- "result":{
- "title":"Result",
- "description":"VL create result(0: success, 1: failed)",
- "type":"integer"
- },
- "detail":{
- "title":"Detail",
- "description":"Detail of result",
- "type":"string"
- },
- "vlId":{
- "title":"Vlid",
- "description":"ID of VL instance",
- "type":"string"
- }
- }
- },
- "GetVlResp":{
- "type":"object",
- "properties":{
- "vlId":{
- "title":"Vlid",
- "description":"ID of VL instance",
- "type":"string"
- },
- "vlName":{
- "title":"Vlname",
- "description":"Name of VL instance",
- "type":"string"
- },
- "vlStatus":{
- "title":"Vlstatus",
- "description":"Status of VL instance",
- "type":"string"
- }
- }
- },
- "DeleteVlResp":{
- "required":[
- "result"
- ],
- "type":"object",
- "properties":{
- "result":{
- "title":"Result",
- "description":"VL delete result(0: success)",
- "type":"integer"
- },
- "detail":{
- "title":"Detail",
- "description":"Detail of result",
- "type":"string"
- }
- }
- },
- "InstVnfReq":{
- "required":[
- "vnfIndex",
- "nsInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfIndex":{
- "title":"Vnfindex",
- "description":"Index of VNF",
- "type":"string"
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"ID of NS instance",
- "type":"string"
- },
- "additionalParamForVnf":{
- "title":"Additionalparamforvnf",
- "description":"Additional param for VNF",
- "type":"string"
- }
- }
- },
- "InstVnfResp":{
- "required":[
- "vnfInstId",
- "jobId"
- ],
- "type":"object",
- "properties":{
- "vnfInstId":{
- "title":"Vnfinstid",
- "description":"ID of VNF instance",
- "type":"string"
- },
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- }
- }
- },
- "VnfVms":{
- "description":"VMs of VNF",
- "required":[
- "vmID"
- ],
- "type":"object",
- "properties":{
- "vmID":{
- "title":"Vmid",
- "description":"ID of VM",
- "type":"string"
- },
- "vmName":{
- "title":"Vmname",
- "description":"Name of VM",
- "type":"string"
- }
- }
- },
- "GetVnfResp":{
- "required":[
- "vnfInstId",
- "vnfName",
- "vnfStatus",
- "vnfVms"
- ],
- "type":"object",
- "properties":{
- "vnfInstId":{
- "title":"Vnfinstid",
- "description":"ID of VNF instance",
- "type":"string"
- },
- "vnfName":{
- "title":"Vnfname",
- "description":"Name of VNF instance",
- "type":"string"
- },
- "vnfStatus":{
- "title":"Vnfstatus",
- "description":"Status of VNF instance",
- "type":"string"
- },
- "vnfVms":{
- "description":"VMs of VNF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfVms"
- }
- }
- }
- },
- "_ActionVm":{
- "title":"Actionvminfo",
- "description":"VM info of action",
- "type":"object",
- "properties":{
- "vmid":{
- "title":"Vmid",
- "description":"ID of VM",
- "type":"string"
- },
- "vduid":{
- "title":"Vduid",
- "description":"ID of vdu",
- "type":"string"
- },
- "vmname":{
- "title":"Vmname",
- "description":"Name of VM",
- "type":"string"
- }
- }
- },
- "_HealNsAdditionalParams":{
- "title":"Additionalparams",
- "description":"Additional params of NS heal",
- "type":"object",
- "properties":{
- "action":{
- "title":"Action",
- "description":"Action of NS heal",
- "type":"string"
- },
- "actionvminfo":{
- "$ref":"#/definitions/_ActionVm"
- }
- }
- },
- "_HealVnfData":{
- "title":"Healvnfdata",
- "description":"Data of heal VNF",
- "required":[
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"ID of VNF Instance",
- "type":"string"
- },
- "cause":{
- "title":"Cause",
- "description":"Cause of NS heal",
- "type":"string"
- },
- "additionalParams":{
- "$ref":"#/definitions/_HealNsAdditionalParams"
- }
- }
- },
- "_HealNsData":{
- "title":"Healnsdata",
- "description":"Data of heal NS",
- "required":[
- "degreeHealing"
- ],
- "type":"object",
- "properties":{
- "degreeHealing":{
- "title":"Degreehealing",
- "description":"degree of healing",
- "type":"string",
- "enum":[
- "HEAL_RESTORE",
- "HEAL_QOS",
- "HEAL_RESET",
- "PARTIAL_HEALING"
- ]
- },
- "actionsHealing":{
- "description":"A list of actions",
- "type":"array",
- "items":{
- "description":"One action",
- "type":"string"
- }
- },
- "healScript":{
- "title":"Healscript",
- "description":"script of NS heal",
- "type":"string"
- },
- "additionalParamsforNs":{
- "title":"Additionalparamsforns",
- "description":"Addition params of NS heal",
- "type":"string"
- }
- }
- },
- "_HealNsReq":{
- "type":"object",
- "properties":{
- "healVnfData":{
- "$ref":"#/definitions/_HealVnfData"
- },
- "healNsData":{
- "$ref":"#/definitions/_HealNsData"
- }
- }
- },
- "_NsOperateJob":{
- "required":[
- "jobId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"ID of NS operate job",
- "type":"string"
- }
- }
- },
- "_VnfLocation":{
- "title":"Locationconstraints",
- "description":"Location constraint",
- "type":"object",
- "properties":{
- "vimId":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- }
- }
- },
- "_LocationConstraint":{
- "description":"Location constraints",
- "type":"object",
- "properties":{
- "vnfProfileId":{
- "title":"Vnfprofileid",
- "description":"ID of VNF profile",
- "type":"string"
- },
- "locationConstraints":{
- "$ref":"#/definitions/_VnfLocation"
- }
- }
- },
- "_AddressRange":{
- "title":"Addressrange",
- "description":"An IP address range to be used.",
- "required":[
- "minAddress",
- "maxAddress"
- ],
- "type":"object",
- "properties":{
- "minAddress":{
- "title":"Minaddress",
- "description":"Lowest IP address belonging to the range.",
- "type":"string"
- },
- "maxAddress":{
- "title":"Maxaddress",
- "description":"Highest IP address belonging to the range.",
- "type":"string"
- }
- }
- },
- "_IpAddress":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "required":[
- "type"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"The type of the IP addresses.",
- "type":"string",
- "enum":[
- "IPV4",
- "IPV6"
- ]
- },
- "fixedAddresses":{
- "type":"array",
- "items":{
- "description":"Fixed addresses to assign.",
- "type":"string"
- }
- },
- "numDynamicAddresses":{
- "title":"Numdynamicaddresses",
- "description":"Number of dynamic addresses to assign.",
- "type":"integer"
- },
- "addressRange":{
- "$ref":"#/definitions/_AddressRange"
- },
- "subnetId":{
- "title":"Subnetid",
- "description":"Subnet defined by the identifier of the subnet resource in the VIM.",
- "type":"string"
- }
- }
- },
- "_IpOverEthernet":{
- "title":"Ipoverethernet",
- "description":"IP addresses over Ethernet to assign to the extCP instance.",
- "type":"object",
- "properties":{
- "macAddress":{
- "title":"Macaddress",
- "description":"MAC address.",
- "type":"string"
- },
- "ipAddresses":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_IpAddress"
- }
- }
- }
- },
- "_CpProtocolInfo":{
- "description":"Address assigned for this CP",
- "required":[
- "layerProtocol"
- ],
- "type":"object",
- "properties":{
- "layerProtocol":{
- "title":"Layerprotocol",
- "description":"The identifier of layer(s) and protocol(s) associated to the network address information.",
- "type":"string",
- "enum":[
- "IP_OVER_ETHERNET"
- ]
- },
- "ipOverEthernet":{
- "$ref":"#/definitions/_IpOverEthernet"
- }
- }
- },
- "_PnfExtCpData":{
- "description":"Address assigned for the PNF external CP",
- "required":[
- "cpProtocolData"
- ],
- "type":"object",
- "properties":{
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the CP",
- "type":"string"
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"Identifier of the Connection Point Descriptor",
- "type":"string"
- },
- "cpProtocolData":{
- "description":"Address assigned for this CP",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_CpProtocolInfo"
- }
- }
- }
- },
- "_AddPnfData":{
- "description":"Information on the PNF",
- "required":[
- "pnfId",
- "pnfName",
- "pnfdId",
- "pnfProfileId"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the PNF",
- "type":"string"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF",
- "type":"string"
- },
- "pnfdId":{
- "title":"Pnfdid",
- "description":"Identifier of the PNFD",
- "type":"string"
- },
- "pnfProfileId":{
- "title":"Pnfprofileid",
- "description":"Identifier of related PnfProfile in the NSD",
- "type":"string"
- },
- "cpData":{
- "description":"Address assigned for the PNF external CP",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_PnfExtCpData"
- }
- }
- }
- },
- "_InstantNsReq":{
- "type":"object",
- "properties":{
- "locationConstraints":{
- "description":"Location constraints",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_LocationConstraint"
- }
- },
- "additionalParamForNs":{
- "title":"Additionalparamforns",
- "description":"Additional param for NS",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "addpnfData":{
- "description":"Information on the PNF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_AddPnfData"
- }
- }
- }
- },
- "_InstNsPostDealReq":{
- "description":"NS instant post deal",
- "required":[
- "status"
- ],
- "type":"object",
- "properties":{
- "status":{
- "title":"Status",
- "description":"Status of NS Inst",
- "type":"string"
- }
- }
- },
- "_ScaleNsBySteps":{
- "description":"Scale NS by steps data",
- "required":[
- "aspectId",
- "numberOfSteps",
- "scalingDirection"
- ],
- "type":"object",
- "properties":{
- "aspectId":{
- "title":"Aspectid",
- "description":"ID of aspect",
- "type":"string"
- },
- "numberOfSteps":{
- "title":"Numberofsteps",
- "description":"Number of steps",
- "type":"string"
- },
- "scalingDirection":{
- "title":"Scalingdirection",
- "description":"Scaling direction",
- "type":"string"
- }
- }
- },
- "_ScaleNsData":{
- "description":"Scale NS data",
- "required":[
- "scaleNsByStepsData"
- ],
- "type":"object",
- "properties":{
- "scaleNsByStepsData":{
- "description":"Scale NS by steps data",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_ScaleNsBySteps"
- }
- }
- }
- },
- "_ManualScaleNsReq":{
- "description":"NS manual scale",
- "required":[
- "scaleType",
- "scaleNsData"
- ],
- "type":"object",
- "properties":{
- "scaleType":{
- "title":"Scaletype",
- "description":"Type of NS Scale",
- "type":"string"
- },
- "scaleNsData":{
- "description":"Scale NS data",
- "type":"array",
- "items":{
- "$ref":"#/definitions/_ScaleNsData"
- }
- }
- }
- },
- "_TerminateNsReq":{
- "type":"object",
- "properties":{
- "terminationType":{
- "title":"Terminationtype",
- "description":"Type of NS termination",
- "type":"string"
- },
- "gracefulTerminationTimeout":{
- "title":"Gracefulterminationtimeout",
- "description":"Timeout of NS graceful termination",
- "type":"string"
- }
- }
- },
- "VnfInstanceData":{
- "description":"Data of vnf instance",
- "required":[
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Specify the target NS instance where the VNF instances are moved to",
- "type":"string"
- },
- "vnfProfileId":{
- "title":"Vnfprofileid",
- "description":"Specify the VNF instance that is moved.",
- "type":"string"
- }
- }
- },
- "InstantiateVnfData":{
- "description":"Data of vnf instance",
- "required":[
- "vnfdId",
- "vnfFlavourId"
- ],
- "type":"object",
- "properties":{
- "vnfdId":{
- "title":"Vnfdid",
- "description":"Information sufficient to identify the VNFD which defines the VNF to be instantiated. ",
- "type":"string"
- },
- "vnfFlavourId":{
- "title":"Vnfflavourid",
- "description":"Identifier of the VNF deployment flavour to be instantiated.",
- "type":"string"
- },
- "vnfInstantiationLevelId":{
- "title":"Vnfinstantiationlevelid",
- "description":"Identifier of the instantiation level of the deployment flavour to be instantiated. ",
- "type":"string"
- },
- "vnfInstanceName":{
- "title":"Vnfinstancename",
- "description":"Human-readable name of the VNF instance to be created.",
- "type":"string"
- }
- }
- },
- "AddressRange":{
- "title":"Addressrange",
- "description":"An IP address range to be used.",
- "required":[
- "minAddress",
- "maxAddress"
- ],
- "type":"object",
- "properties":{
- "minAddress":{
- "title":"Minaddress",
- "description":"Lowest IP address belonging to the range.",
- "type":"string"
- },
- "maxAddress":{
- "title":"Maxaddress",
- "description":"Highest IP address belonging to the range.",
- "type":"string"
- }
- }
- },
- "IpAddressesDataSerialzier":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "required":[
- "type",
- "fixedAddresses"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"The type of the IP addresses.",
- "type":"string",
- "enum":[
- "IPV4",
- "IPV6"
- ]
- },
- "fixedAddresses":{
- "type":"array",
- "items":{
- "description":"Fixed addresses to assign.",
- "type":"string"
- }
- },
- "numDynamicAddresses":{
- "title":"Numdynamicaddresses",
- "description":"Number of dynamic addresses to assign.",
- "type":"integer"
- },
- "addressRange":{
- "$ref":"#/definitions/AddressRange"
- },
- "subnetId":{
- "title":"Subnetid",
- "description":"Subnet defined by the identifier of the subnet resource in the VIM.",
- "type":"string"
- }
- }
- },
- "IpOverEthernetAddressData":{
- "title":"Ipoverethernet",
- "description":"Network address data for IP over Ethernetto assign to the extCP instance.",
- "type":"object",
- "properties":{
- "macAddress":{
- "title":"Macaddress",
- "description":"Mac address",
- "type":"string"
- },
- "ipAddresses":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/IpAddressesDataSerialzier"
- }
- }
- }
- },
- "CpProtocolData":{
- "description":"This type represents network protocol data.",
- "required":[
- "layerProtocol"
- ],
- "type":"object",
- "properties":{
- "layerProtocol":{
- "title":"Layerprotocol",
- "description":"Identifier of layer(s) and protocol(s)",
- "type":"string",
- "enum":[
- "IP_OVER_ETHERNET"
- ]
- },
- "ipOverEthernet":{
- "$ref":"#/definitions/IpOverEthernetAddressData"
- }
- }
- },
- "VnfExtCpConfig":{
- "description":"Config of vnf ext cp",
- "type":"object",
- "properties":{
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the external CP instance to which this set of configuration parameters is requested to be applied.",
- "type":"string"
- },
- "linkPortId":{
- "title":"Linkportid",
- "description":"Identifier of a pre-conFigured link port to which the external CP will be associated.",
- "type":"string"
- },
- "cpProtocolData":{
- "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolData"
- }
- }
- }
- },
- "VnfExtCpData":{
- "description":"External CPs of the VNF to be connected to this external VL.",
- "required":[
- "cpdId"
- ],
- "type":"object",
- "properties":{
- "cpdId":{
- "title":"Cpdid",
- "description":"The identifier of the CPD in the VNFD.",
- "type":"string"
- },
- "cpConfig":{
- "description":"List of instance data that need to be conFigured on the CP instances created from the respective CPD.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfExtCpConfig"
- }
- }
- }
- },
- "ResourceHandle":{
- "title":"Resourcehandle",
- "description":"Identifier(s) of the virtualised network resource(s) realizing the VL instance",
- "required":[
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to manage the resource.",
- "type":"string",
- "maxLength":255
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifier of the entity responsible for the management of the resource.",
- "type":"string",
- "maxLength":255
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"Identifier of the resource in the scope of the VIM or the resource provider.",
- "type":"string",
- "maxLength":255
- },
- "vimLevelResourceType":{
- "title":"Vimlevelresourcetype",
- "description":"String, type of the resource in the scope of the VIM or the resource provider.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "ExtLinkPortData":{
- "description":"This type represents an externallyprovided link port to be used to connect a VNF external connection point to an external VL",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Provided by the entity that has created the link port",
- "type":"string"
- },
- "resourceHandle":{
- "$ref":"#/definitions/ResourceHandle"
- }
- }
- },
- "ExtVirtualLinkData":{
- "description":"This type represents an external VL",
- "required":[
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "extVirtualLinkId":{
- "title":"Extvirtuallinkid",
- "description":"The identifier of the external VL instance, if provided. ",
- "type":"string"
- },
- "vimId":{
- "title":"Vimid",
- "description":"Identifier of the VIM that manages this resource.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of this resource.",
- "type":"string"
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"The identifier of the resource in the scope of the VIM or the resource provider.",
- "type":"string"
- },
- "extCps":{
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfExtCpData"
- }
- },
- "extLinkPorts":{
- "description":"Externally provided link ports to be used to connect external connection points to this external VL. ",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtLinkPortData"
- }
- }
- }
- },
- "ExtManagedVirtualLinkData":{
- "description":"This type represents an externally-managed internalVL.",
- "required":[
- "virtualLinkDescId",
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "extManagedVirtualLinkId":{
- "title":"Extmanagedvirtuallinkid",
- "description":"The identifier of the externally-managed internal VL instance,if provided.",
- "type":"string"
- },
- "virtualLinkDescId":{
- "title":"Virtuallinkdescid",
- "description":"The identifier of the VLD in the VNFD for this VL.",
- "type":"string"
- },
- "vimId":{
- "title":"Vimid",
- "description":"Identifier of the VIMthat manage this resource.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management ofthis resource.",
- "type":"string"
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"The identifier of the resource in the scope of the VIM orthe resource provider.",
- "type":"string"
- }
- }
- },
- "ChangeVnfFlavourDataSerizlizer":{
- "description":"The type represents the information that is requested to be changed deployment flavour for an existing VNF instance.",
- "required":[
- "vnfInstanceId",
- "newFlavourId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance to be modified.",
- "type":"string"
- },
- "newFlavourId":{
- "title":"Newflavourid",
- "description":"Identifier of the VNF deployment flavour to be instantiated.",
- "type":"string"
- },
- "instantiationLevelId":{
- "title":"Instantiationlevelid",
- "description":"Identifier of the instantiation level of the deployment flavour to be instantiated.",
- "type":"string"
- },
- "extVirtualLinks":{
- "description":"Information about external VLs to connect the VNF to.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtVirtualLinkData"
- }
- },
- "extManagedVirtualLinks":{
- "description":"Information about internal VLs that are managed by NFVO",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtManagedVirtualLinkData"
- }
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Additional input parameters for the flavour change process",
- "type":"string"
- }
- }
- },
- "OperationalStates":{
- "title":"Changestateto",
- "description":"The desired operational state to change the VNF to.",
- "required":[
- "OperationalStates"
- ],
- "type":"object",
- "properties":{
- "OperationalStates":{
- "title":"Operationalstates",
- "description":"State of operation",
- "type":"string",
- "enum":[
- "STARTED",
- "STOPPED"
- ]
- }
- }
- },
- "StopType":{
- "title":"Stoptype",
- "description":"It signals whether forceful or graceful stop is requested.",
- "required":[
- "StopType"
- ],
- "type":"object",
- "properties":{
- "StopType":{
- "title":"Stoptype",
- "description":"Type of stop",
- "type":"string",
- "enum":[
- "FORCEFUL",
- "GRACEFUL"
- ]
- }
- }
- },
- "OperateVnfData":{
- "description":"This type represents a VNF instance for which the operational state needs to be changed and the requested new state",
- "required":[
- "vnfInstanceId",
- "changeStateTo"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance.",
- "type":"string"
- },
- "changeStateTo":{
- "$ref":"#/definitions/OperationalStates"
- },
- "stopType":{
- "$ref":"#/definitions/StopType"
- },
- "gracefulStopTimeout":{
- "title":"Gracefulstoptimeout",
- "description":"The time interval to wait for the VNF to be taken out ofservice during graceful stop.",
- "type":"string"
- }
- }
- },
- "ModifyVnfInfoData":{
- "description":"This type represents the information that is requested to be modified for a VNF instance. ",
- "required":[
- "vnfInstanceId",
- "vnfPkgId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance.",
- "type":"string",
- "format":"uuid"
- },
- "vnfInstanceName":{
- "title":"Vnfinstancename",
- "description":"New value of the 'vnfInstanceName' attribute in 'VnfInstance', or 'null' to remove the attribute.",
- "type":"string",
- "maxLength":255
- },
- "vnfInstanceDescription":{
- "title":"Vnfinstancedescription",
- "description":"If present, this attribute signals modifications of the 'vnfInstanceDescription' attribute in 'VnfInstance'",
- "type":"string"
- },
- "vnfPkgId":{
- "title":"Vnfpkgid",
- "description":"New value of the 'vnfPkgId' attribute in 'VnfInstance' The value 'null' is not permitted..",
- "type":"string",
- "format":"uuid"
- },
- "vnfConfigurableProperties":{
- "title":"Vnfconfigurableproperties",
- "description":"Modifications to entries in the 'vnfConfigurableProperties' list, as defined below this Table.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "metaData":{
- "title":"Metadata",
- "description":"If present, this attribute signals modifications of certain 'metadata' attribute in 'vnfInstance'.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "extensions":{
- "title":"Extensions",
- "description":"If present,this attribute signals modifications of certain 'extensions' attribute in 'vnfInstance'.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "ChangeExtVnfConnectivityData":{
- "description":"This type describes the information invoked bythe NFVO to change the external VNF connectivity information maintained by the VNFM.",
- "required":[
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance.",
- "type":"string"
- },
- "extVirtualLinks":{
- "description":"Information about external VLs to change",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtVirtualLinkData"
- }
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Additional parameters passed by the OSS as input to the external connectivity change process",
- "type":"string"
- }
- }
- },
- "SapData":{
- "description":"This type represents the information related to a SAP of a NS",
- "required":[
- "sapdId",
- "sapName",
- "description"
- ],
- "type":"object",
- "properties":{
- "sapdId":{
- "title":"Sapdid",
- "description":"Reference to the SAPD for this SAP.",
- "type":"string"
- },
- "sapName":{
- "title":"Sapname",
- "description":"Human readable name for the SAP.",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Human readable description for the SAP. ",
- "type":"string"
- },
- "sapProtocolData":{
- "description":"Parameters for configuring the network protocols on the SAP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolData"
- }
- }
- }
- },
- "AssocNewNsdVersionData":{
- "title":"Assocnewnsdversiondata",
- "description":"Specify the new NSD to be used for the NS instance.",
- "required":[
- "newNsdId"
- ],
- "type":"object",
- "properties":{
- "newNsdId":{
- "title":"Newnsdid",
- "description":"Identifier of the new NSD version that is to be associated to the NS instance. ",
- "type":"string"
- }
- }
- },
- "MoveVnfInstanceData":{
- "required":[
- "targetNsInstanceId"
- ],
- "type":"object",
- "properties":{
- "targetNsInstanceId":{
- "title":"Targetnsinstanceid",
- "description":"Specify the target NS instance where the VNF instances are moved to.",
- "type":"string"
- },
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Specify the VNF instance that is moved.",
- "type":"string"
- }
- }
- },
- "NsCpHandle":{
- "description":"This type represents an identifier of the CP or SAP instance.",
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance associated to the CPinstance.",
- "type":"string"
- },
- "vnfExtCpInstanceId":{
- "title":"Vnfextcpinstanceid",
- "description":"Identifier of the VNF external CP instance in thescope of the VNF instance.",
- "type":"string"
- },
- "pnfInfoId":{
- "title":"Pnfinfoid",
- "description":"Identifier of the PNF instance associated to the CPinstance.",
- "type":"string"
- },
- "pnfExtCpInstanceId":{
- "title":"Pnfextcpinstanceid",
- "description":"Identifier of the PNF external CP instance in thescope of the PNF.",
- "type":"string"
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"Identifier of the NS instance associated to the SAPinstance",
- "type":"string"
- },
- "nsSapInstanceId":{
- "title":"Nssapinstanceid",
- "description":"Identifier of the SAP instance in the scope of the NSinstance.",
- "type":"string"
- }
- }
- },
- "Mask":{
- "description":"Indicates values of specific bits in a frame",
- "required":[
- "startingPoint",
- "length",
- "value"
- ],
- "type":"object",
- "properties":{
- "startingPoint":{
- "title":"Startingpoint",
- "description":"Indicates the offset between the last bit of the sourcemac address and the first bit of the sequence of bitsto be matched.",
- "type":"string"
- },
- "length":{
- "title":"Length",
- "description":"Indicates the number of bits to be matched",
- "type":"string"
- },
- "value":{
- "title":"Value",
- "description":"Provide the sequence of bit values to be matched.",
- "type":"string"
- }
- }
- },
- "NfpRule":{
- "title":"Nfprule",
- "description":"NFP classification and selection rule.",
- "type":"object",
- "properties":{
- "etherDestinationAddress":{
- "title":"Etherdestinationaddress",
- "description":"Indicates a destination Mac address",
- "type":"string"
- },
- "etherSourceAddress":{
- "title":"Ethersourceaddress",
- "description":"Indicates a source Mac address",
- "type":"string"
- },
- "etherType":{
- "title":"Ethertype",
- "description":"Indicates the protocol carried over the Ethernet layer",
- "type":"string",
- "enum":[
- "IPV4",
- "IPV6"
- ]
- },
- "vlanTag":{
- "description":"ndicates a VLAN identifier in an IEEE 802.1Q-2014 tag",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "protocol":{
- "title":"Protocol",
- "description":"Indicates the L4 protocol, For IPv4 [7] this corresponds tothe field called Protocol to identifythe next level protocol",
- "type":"string",
- "enum":[
- "TCP",
- "UDP",
- "ICMP"
- ]
- },
- "dscp":{
- "title":"Dscp",
- "description":"For IPv4 [7] a string of 0 and 1 digits that corresponds to the6-bit Differentiated Services Code Point (DSCP) field of theIP header.",
- "type":"string"
- },
- "sourcePortRange":{
- "title":"Sourceportrange",
- "description":"Indicates a range of source ports",
- "type":"string"
- },
- "destinationPortRange":{
- "title":"Destinationportrange",
- "description":"Indicates a range of destination ports",
- "type":"string"
- },
- "sourceIpAddressPrefix":{
- "title":"Sourceipaddressprefix",
- "description":"Indicates the source IP address range in CIDRformat.",
- "type":"string"
- },
- "destinationIpAddressPrefix":{
- "title":"Destinationipaddressprefix",
- "description":"Indicates the destination IP address rangein CIDRformat.",
- "type":"string"
- },
- "extendedCriteria":{
- "description":"Indicates values of specific bits in a frame",
- "type":"array",
- "items":{
- "$ref":"#/definitions/Mask"
- }
- }
- }
- },
- "NfpData":{
- "description":"This type contains information used to create or modify NFP instance parameters for the updateof an existing VNFFG instance. ",
- "type":"object",
- "properties":{
- "nfpInfoId":{
- "title":"Nfpinfoid",
- "description":"Identifier of the NFP to be modified.",
- "type":"string"
- },
- "nfpName":{
- "title":"Nfpname",
- "description":"Human readable name for the NFP.",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Human readable description for the NFP",
- "type":"string"
- },
- "nsCpHandle":{
- "description":"HanIdentifier(s) of the CPs and SAPs which the NFP passes by.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsCpHandle"
- }
- },
- "nfpRule":{
- "$ref":"#/definitions/NfpRule"
- }
- }
- },
- "UpdateVnffgData":{
- "description":"This type specifies the parameters used for the update of an existing VNFFG instance.",
- "required":[
- "vnffgInfoId"
- ],
- "type":"object",
- "properties":{
- "vnffgInfoId":{
- "title":"Vnffginfoid",
- "description":"Identifier of an existing VNFFG to be updated for the NS Instance.",
- "type":"string"
- },
- "nfp":{
- "description":"nfp",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NfpData"
- }
- },
- "nfpInfoId":{
- "description":"Identifier(s) of the NFP to be deleted from a given VNFFG.",
- "type":"array",
- "items":{
- "type":"string"
- }
- }
- }
- },
- "ChangeNsFlavourData":{
- "title":"Changensflavourdata",
- "description":"Specifies the new DF to be applied to the NS instance",
- "required":[
- "newNsFlavourId"
- ],
- "type":"object",
- "properties":{
- "newNsFlavourId":{
- "title":"Newnsflavourid",
- "description":"Identifier of the new NS DF to apply to this NS instance.",
- "type":"string"
- },
- "instantiationLevelId":{
- "title":"Instantiationlevelid",
- "description":"Identifier of the instantiation level of the deployment flavour to be instantiated.",
- "type":"string"
- }
- }
- },
- "IdentifierInPnf":{
- "title":"Cpinstancei16",
- "description":"Identifier of the CP. Shall be present for existing CP.",
- "required":[
- "IdentifierInPnf"
- ],
- "type":"object",
- "properties":{
- "IdentifierInPnf":{
- "description":"An Identifier that is unique within respect to a PNF.",
- "type":"object",
- "properties":{
-
- }
- }
- }
- },
- "IdentifierInNsd":{
- "title":"Cpdid",
- "description":"Identifier of the Connection Point Descriptor (CPD) for this CP",
- "required":[
- "IdentifierInNsd"
- ],
- "type":"object",
- "properties":{
- "IdentifierInNsd":{
- "description":"An identifier that is unique within a NS descriptor",
- "type":"object",
- "properties":{
-
- }
- }
- }
- },
- "PnfExtCpData":{
- "description":"Address assigned for the PNF external CP(s). ",
- "type":"object",
- "properties":{
- "cpInstanceI16":{
- "$ref":"#/definitions/IdentifierInPnf"
- },
- "cpdId":{
- "$ref":"#/definitions/IdentifierInNsd"
- },
- "cpProtocolData":{
- "description":"Address assigned for this CP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolData"
- }
- }
- }
- },
- "AddPnfData":{
- "description":"Serializer data of add pnf",
- "required":[
- "pnfId",
- "pnfName",
- "pnfdId",
- "pnfProfileId"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the PNF.",
- "type":"string"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF.",
- "type":"string"
- },
- "pnfdId":{
- "title":"Pnfdid",
- "description":"Identifier of the PNFD on which the PNF is based.",
- "type":"string"
- },
- "pnfProfileId":{
- "title":"Pnfprofileid",
- "description":"Identifier of related PnfProfile in the NSD on which the PNF is based.",
- "type":"string"
- },
- "cpData":{
- "description":"Address assigned for the PNF external CP(s). ",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfExtCpData"
- }
- }
- }
- },
- "ModifyPnfData":{
- "description":"This type specifies an PNF to be modified in the NS instance.",
- "required":[
- "pnfId"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the PNF.",
- "type":"string"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF",
- "type":"string"
- },
- "cpData":{
- "description":"Address assigned for the PNF external CP(s).",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfExtCpData"
- }
- }
- }
- },
- "DateTime":{
- "title":"Updatetime",
- "description":"Timestamp indicating the update time of the NS",
- "required":[
- "DateTime"
- ],
- "type":"object",
- "properties":{
- "DateTime":{
- "description":"Date-time stamp.",
- "type":"object",
- "properties":{
-
- }
- }
- }
- },
- "UpdateNsReq":{
- "required":[
- "updateType"
- ],
- "type":"object",
- "properties":{
- "updateType":{
- "title":"Updatetype",
- "description":"The type of update.",
- "type":"string",
- "enum":[
- "ADD_VNF",
- "REMOVE_VNF",
- "INSTANTIATE_VNF",
- "CHANGE_VNF_DF",
- "OPERATE_VNF",
- "MODIFY_VNF_INFORMATION",
- "CHANGE_EXTERNAL_VNF_CONNECTIVITY",
- "REMOVE_SAP",
- "ADD_NESTED_NS",
- "REMOVE_NESTED_NS",
- "ASSOC_NEW_NSD_VERSION",
- "MOVE_VNF",
- "ADD_VNFFG",
- "REMOVE_VNFFG",
- "UPDATE_VNFFG",
- "CHANGE_NS_DF",
- "ADD_PNF",
- "MODIFY_PNF",
- "REMOVE_PNF"
- ]
- },
- "addVnfInstance":{
- "description":"Identifies an existing VNF instance to be added to the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfInstanceData"
- }
- },
- "removeVnfInstanceId":{
- "description":"Identifies an existing VNF instance to be removed from the NS instance.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "instantiateVnfData":{
- "description":"Identifies the new VNF to be instantiated.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/InstantiateVnfData"
- }
- },
- "changeVnfFlavourData":{
- "description":"Identifies the new DF of the VNF instance to be changed to.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ChangeVnfFlavourDataSerizlizer"
- }
- },
- "operateVnfData":{
- "description":"This type represents a VNF instance for which the operational state needs to be changed and the requested new state.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/OperateVnfData"
- }
- },
- "modifyVnfInfoData":{
- "description":"This type represents the information that is requested to be modified for a VNF instance. ",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ModifyVnfInfoData"
- }
- },
- "changeExtVnfConnectivityData":{
- "description":"Specifies the new external connectivity data of theVNF instance to be changed",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ChangeExtVnfConnectivityData"
- }
- },
- "addSap":{
- "description":"Identifies a new SAP to be added to the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/SapData"
- }
- },
- "removeSapId":{
- "description":"The identifier an existing SAP to be removed from the NS instance",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "addNestedNsId":{
- "description":"The identifier of an existing nested NS instance to be added to the NS instance",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "removeNestedNsId":{
- "description":"The identifier of an existing nested NS instance to be removed from the NS instance.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "assocNewNsdVersionData":{
- "$ref":"#/definitions/AssocNewNsdVersionData"
- },
- "moveVnfInstanceData":{
- "description":"Specify existing VNF instance to be moved from one NS instance to another NS instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/MoveVnfInstanceData"
- }
- },
- "addVnffg":{
- "description":"The identifier of an existing nested NS instance to be added to the NS instance.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "removeVnffgId":{
- "description":"The identifier of an existing nested NS instance to be removed from the NS instance",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "updateVnffg":{
- "description":"Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/UpdateVnffgData"
- }
- },
- "changeNsFlavourData":{
- "$ref":"#/definitions/ChangeNsFlavourData"
- },
- "addPnfData":{
- "description":"Specifies the PNF to be added into the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AddPnfData"
- }
- },
- "modifyPnfData":{
- "description":"Specifies the PNF to be modified in the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ModifyPnfData"
- }
- },
- "removePnfId":{
- "description":"Identifier of the PNF to be deleted from the NS instance.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "updateTime":{
- "$ref":"#/definitions/DateTime"
- }
- }
- },
- "AffectedVnfcLcm":{
- "description":"Affected VNFC",
- "required":[
- "changeType"
- ],
- "type":"object",
- "properties":{
- "vnfcInstanceId":{
- "title":"Vnfcinstanceid",
- "description":"ID of VNFC instance",
- "type":"string"
- },
- "vduId":{
- "title":"Vduid",
- "description":"ID of VDU in VNFD",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Type of Change",
- "type":"string",
- "enum":[
- "added",
- "removed",
- "modified"
- ]
- },
- "vimId":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- },
- "vmId":{
- "title":"Vmid",
- "description":"ID of virtual machine",
- "type":"string"
- },
- "vmName":{
- "title":"Vmname",
- "description":"Name of virtual machine",
- "type":"string"
- }
- }
- },
- "NetworkResource":{
- "title":"Networkresource",
- "description":"Network Resource",
- "required":[
- "resourceType"
- ],
- "type":"object",
- "properties":{
- "resourceType":{
- "title":"Resourcetype",
- "description":"Type of Resource",
- "type":"string",
- "enum":[
- "network",
- "port"
- ]
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"ID of network resource",
- "type":"string"
- },
- "resourceName":{
- "title":"Resourcename",
- "description":"Name of network resource",
- "type":"string"
- }
- }
- },
- "AffectedVirtualLinkLcm":{
- "description":"Affected VL",
- "required":[
- "changeType"
- ],
- "type":"object",
- "properties":{
- "vlInstanceId":{
- "title":"Vlinstanceid",
- "description":"ID of VL instance",
- "type":"string"
- },
- "vldId":{
- "title":"Vldid",
- "description":"ID of VLD in VNFD",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Type of Change",
- "type":"string",
- "enum":[
- "added",
- "removed",
- "modified"
- ]
- },
- "networkResource":{
- "$ref":"#/definitions/NetworkResource"
- }
- }
- },
- "PortResource":{
- "title":"Portresource",
- "description":"Port Resource",
- "type":"object",
- "properties":{
- "vimId":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"ID of Resource",
- "type":"string"
- },
- "resourceName":{
- "title":"Resourcename",
- "description":"Name of Resource",
- "type":"string"
- },
- "tenant":{
- "title":"Tenant",
- "description":"ID of Tenant",
- "type":"string"
- },
- "ipAddress":{
- "title":"Ipaddress",
- "description":"IP address of port",
- "type":"string"
- },
- "macAddress":{
- "title":"Macaddress",
- "description":"MAC address of port",
- "type":"string"
- },
- "instId":{
- "title":"Instid",
- "description":"Instance id of server to which the port is attached to",
- "type":"string"
- }
- }
- },
- "AffectedCp":{
- "description":"Affected CP",
- "required":[
- "changeType"
- ],
- "type":"object",
- "properties":{
- "changeType":{
- "title":"Changetype",
- "description":"Type of Change",
- "type":"string",
- "enum":[
- "added",
- "removed",
- "modified"
- ]
- },
- "virtualLinkInstanceId":{
- "title":"Virtuallinkinstanceid",
- "description":"ID of VL instance",
- "type":"string"
- },
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"ID of CP instance",
- "type":"string"
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"ID of CPD in VNFD",
- "type":"string"
- },
- "ownerType":{
- "title":"Ownertype",
- "description":"Type of Owner",
- "type":"string"
- },
- "ownerId":{
- "title":"Ownerid",
- "description":"ID of Owner",
- "type":"string"
- },
- "portResource":{
- "$ref":"#/definitions/PortResource"
- }
- }
- },
- "AffectedVirtualStorageLcm":{
- "description":"Affected Virtual Storage(Not supported)",
- "type":"object",
- "properties":{
-
- }
- },
- "NotifyLcmReq":{
- "required":[
- "status",
- "operation",
- "affectedVnfc",
- "affectedVl",
- "affectedCp",
- "affectedVirtualStorage"
- ],
- "type":"object",
- "properties":{
- "status":{
- "title":"Status",
- "description":"Status of operation",
- "type":"string",
- "enum":[
- "result",
- "start"
- ]
- },
- "operation":{
- "title":"Operation",
- "description":"Lifecycle Operation",
- "type":"string",
- "enum":[
- "Terminate",
- "Instantiate",
- "Scalein",
- "Scaleout",
- "Scaledown",
- "Scaleup",
- "Heal"
- ]
- },
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- },
- "vnfdmodule":{
- "title":"Vnfdmodule",
- "description":"VNFD Module",
- "type":"string"
- },
- "affectedVnfc":{
- "description":"Affected VNFC",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVnfcLcm"
- }
- },
- "affectedVl":{
- "description":"Affected VL",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVirtualLinkLcm"
- }
- },
- "affectedCp":{
- "description":"Affected CP",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedCp"
- }
- },
- "affectedVirtualStorage":{
- "description":"Affected Virtual Storage(Not supported)",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVirtualStorageLcm"
- }
- }
- }
- },
- "VnfScaleInfo":{
- "description":"Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how big the VNF has been scaled w.r.t. that aspect.",
- "required":[
- "aspectlId",
- "scaleLevel"
- ],
- "type":"object",
- "properties":{
- "aspectlId":{
- "description":"The scaling aspect",
- "type":"object",
- "properties":{
-
- }
- },
- "scaleLevel":{
- "description":"The scale level for that aspect",
- "type":"object",
- "properties":{
-
- }
- }
- }
- },
- "IpAddressesInfoSerialzier":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "required":[
- "type"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"The type of the IP addresses.",
- "type":"string",
- "enum":[
- "IPV4",
- "IPV6"
- ]
- },
- "addresses":{
- "description":"An IPV4 or IPV6 address",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "isDynamic":{
- "title":"Isdynamic",
- "description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). ",
- "type":"boolean"
- },
- "addressRange":{
- "$ref":"#/definitions/AddressRange"
- },
- "subnetId":{
- "title":"Subnetid",
- "description":"Subnet defined by the identifier of the subnet resource in the VIM. ",
- "type":"string"
- }
- }
- },
- "IpOverEthernetAddressInfo":{
- "title":"Ipoverethernet",
- "description":"Network address data for IP over Ethernetto assign to the extCP instance.",
- "type":"object",
- "properties":{
- "macAddress":{
- "title":"Macaddress",
- "description":"Mac address",
- "type":"string"
- },
- "ipAddresses":{
- "description":"List of IP addresses to assign to the extCP instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/IpAddressesInfoSerialzier"
- }
- }
- }
- },
- "CpProtocolInfo":{
- "description":"Network protocol information for this CP.",
- "required":[
- "layerProtocol"
- ],
- "type":"object",
- "properties":{
- "layerProtocol":{
- "title":"Layerprotocol",
- "description":"Identifier of layer(s) and protocol(s)",
- "type":"string",
- "enum":[
- "IP_OVER_ETHERNET"
- ]
- },
- "ipOverEthernet":{
- "$ref":"#/definitions/IpOverEthernetAddressInfo"
- }
- }
- },
- "VnfExtCpInfo":{
- "description":"Information about the external CPs exposed by the VNF instance.",
- "required":[
- "id",
- "cpdId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the external CP instance and the related information instance.",
- "type":"string",
- "maxLength":255
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "cpProtocolInfo":{
- "description":"Network protocol information for this CP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolInfo"
- }
- },
- "extLinkPortId":{
- "title":"Extlinkportid",
- "description":"Identifier of the extLinkPortInfo structure inside the extVirtualLinkInfo structure.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "ExtlinkPortInfo":{
- "description":"Link ports of this VL.",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this link port as provided by the entity that has created the link port.",
- "type":"string",
- "maxLength":255
- },
- "resourceHandle":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the external CP of the VNFconnected to this link port.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "ExtVirtualLinkInfo":{
- "description":"Information about the external VLs the VNF instance is connected to.",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the external VL and the related external VL information instance.",
- "type":"string",
- "maxLength":255
- },
- "resourceHandle":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "extlinkPorts":{
- "description":"Link ports of this VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtlinkPortInfo"
- }
- }
- }
- },
- "VnfLinkPortInfo":{
- "description":"VnfLinkPortInfo, Link ports of this VL.",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this link port as provided by the entity that has created the link port.",
- "type":"string",
- "maxLength":255
- },
- "resourceHandle":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"When the link port is used for external connectivity by the VNF, this attribute represents the identifier of the external CP of the VNF to be connected to this link port.",
- "type":"string",
- "maxLength":255
- },
- "cpInstanceType":{
- "title":"Cpinstancetype",
- "description":"Type of the CP instance that is identified by cpInstanceId.",
- "type":"string",
- "enum":[
- "VNFC_CP",
- "EXT_CP"
- ]
- }
- }
- },
- "ExtManagedVirtualLinkInfo":{
- "description":"Information about the externally-managed inner VLs of the VNF instance.",
- "required":[
- "id",
- "vnfVirtualLinkDescId",
- "networkResource"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the externally-managed inner VL and the related externally-managed VL information instance.",
- "type":"string",
- "maxLength":255
- },
- "vnfVirtualLinkDescId":{
- "title":"Vnfvirtuallinkdescid",
- "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "networkResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "vnfLinkPorts":{
- "description":"VnfLinkPortInfo, Link ports of this VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfLinkPortInfo"
- }
- }
- }
- },
- "VnfcCpInfo":{
- "description":"CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance.",
- "required":[
- "id",
- "cpdId",
- "vnfLinkPortId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the external CP instance and the related information instance.",
- "type":"string",
- "maxLength":255
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "vnfExtCpId":{
- "title":"Vnfextcpid",
- "description":"When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.",
- "type":"string",
- "maxLength":255
- },
- "cpProtocolInfo":{
- "description":"Network protocol information for this CP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolInfo"
- }
- },
- "vnfLinkPortId":{
- "title":"Vnflinkportid",
- "description":"Identifier of the vnfLinkPorts structure in the vnfVirtualLinkResourceInfo structure.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "VnfcResourceInfo":{
- "description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.",
- "required":[
- "computeResource"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this VnfcResourceInfo instance.",
- "type":"string",
- "maxLength":255
- },
- "vduId":{
- "title":"Vduid",
- "description":"Reference to the applicable VDU in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "computeResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "storageResourceIds":{
- "description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.",
- "type":"array",
- "items":{
- "description":"Identifier In Vnf",
- "type":"string"
- }
- },
- "reservationId":{
- "title":"Reservationid",
- "description":"The reservation identifier applicable to the resource.",
- "type":"string",
- "maxLength":255
- },
- "vnfcCpInfo":{
- "description":"CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfcCpInfo"
- }
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "VnfVirtualLinkResourceInfo":{
- "description":"Information about the virtualised network resources used by the VLs of the VNF instance.",
- "required":[
- "id",
- "virtualLinkDescId",
- "networkResource"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this VnfVirtualLinkResourceInfo instance.",
- "type":"string",
- "maxLength":255
- },
- "virtualLinkDescId":{
- "title":"Virtuallinkdescid",
- "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "networkResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "reservationId":{
- "title":"Reservationid",
- "description":"The reservation identifier applicable to the resource.",
- "type":"string",
- "maxLength":255
- },
- "vnfLinkPorts":{
- "description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfLinkPortInfo"
- }
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "VirtualStorageResourceInfo":{
- "description":"Information about the virtualised storage resources used as storage for the VNF instance.",
- "required":[
- "id",
- "storageResource"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this VirtualStorageResourceInfo instance.",
- "type":"string",
- "maxLength":255
- },
- "virtualStorageDescId":{
- "title":"Virtualstoragedescid",
- "description":"Identifier of the VirtualStorageDesc in the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "storageResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "reservationId":{
- "title":"Reservationid",
- "description":"The reservation identifier applicable to the resource.",
- "type":"string",
- "maxLength":255
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "InstantiatedVnfInfo":{
- "title":"Instantiatedvnfinfo",
- "description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED",
- "required":[
- "flavourId",
- "vnfState",
- "extCpInfo"
- ],
- "type":"object",
- "properties":{
- "flavourId":{
- "title":"Flavourid",
- "description":"Identifier of the VNF deployment flavour applied to this VNF instance.",
- "type":"string",
- "maxLength":255
- },
- "vnfState":{
- "title":"Vnfstate",
- "description":"State of the VNF instance.",
- "type":"string",
- "enum":[
- "STARTED",
- "STOPPED"
- ]
- },
- "scaleStatus":{
- "description":"Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how big the VNF has been scaled w.r.t. that aspect.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfScaleInfo"
- }
- },
- "extCpInfo":{
- "description":"Information about the external CPs exposed by the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfExtCpInfo"
- }
- },
- "extVirtualLinkInfo":{
- "description":"Information about the external VLs the VNF instance is connected to.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtVirtualLinkInfo"
- }
- },
- "extManagedVirtualLinkInfo":{
- "description":"Information about the externally-managed inner VLs of the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtManagedVirtualLinkInfo"
- }
- },
- "monitoringParameters":{
- "title":"Monitoringparameters",
- "description":"Active monitoring parameters.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "localizationLanguage":{
- "title":"Localizationlanguage",
- "description":"Information about localization language of the VNF.",
- "type":"string",
- "maxLength":255
- },
- "vnfcResourceInfo":{
- "description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfcResourceInfo"
- }
- },
- "vnfVirtualLinkResourceInfo":{
- "description":"Information about the virtualised network resources used by the VLs of the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfVirtualLinkResourceInfo"
- }
- },
- "virtualStorageResourceInfo":{
- "description":"Information about the virtualised storage resources used as storage for the VNF instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VirtualStorageResourceInfo"
- }
- }
- }
- },
- "Link":{
- "title":"Href",
- "description":"URI of this resource.",
- "required":[
- "href"
- ],
- "type":"object",
- "properties":{
- "href":{
- "title":"Href",
- "description":"URI of the referenced resource.",
- "type":"string"
- }
- }
- },
- "VnfInstanceLinks":{
- "title":" links",
- "description":"Links to resources related to this resource.",
- "required":[
- "href"
- ],
- "type":"object",
- "properties":{
- "href":{
- "$ref":"#/definitions/Link"
- },
- "indicators":{
- "$ref":"#/definitions/Link"
- },
- "instantiate":{
- "$ref":"#/definitions/Link"
- },
- "termiante":{
- "$ref":"#/definitions/Link"
- },
- "scale":{
- "$ref":"#/definitions/Link"
- },
- "scaleToLevel":{
- "$ref":"#/definitions/Link"
- },
- "changeFlavour":{
- "$ref":"#/definitions/Link"
- },
- "heal":{
- "$ref":"#/definitions/Link"
- },
- "operate":{
- "$ref":"#/definitions/Link"
- },
- "changeExtConn":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "VnfInstance":{
- "description":"Information on constituent VNF(s) of the NS instance.",
- "required":[
- "id",
- "vnfProvider",
- "vnfdVersion",
- "vnfPkgId",
- "instantiationState"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the VNF instance.",
- "type":"string",
- "maxLength":255
- },
- "vnfInstanceName":{
- "title":"Vnfinstancename",
- "description":"Name of the VNF instance.",
- "type":"string",
- "maxLength":255
- },
- "vnfInstanceDescription":{
- "title":"Vnfinstancedescription",
- "description":"Human-readable description of the VNF instance.",
- "type":"string"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"Identifier of the VNFD on which the VNF instance is based.",
- "type":"string",
- "maxLength":255
- },
- "vnfProvider":{
- "title":"Vnfprovider",
- "description":"Provider of the VNF and the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "vnfProductName":{
- "title":"Vnfproductname",
- "description":"Name to identify the VNF Product.",
- "type":"string",
- "maxLength":255
- },
- "vnfSoftwareVersion":{
- "title":"Vnfsoftwareversion",
- "description":"Software version of the VNF.",
- "type":"string",
- "maxLength":255
- },
- "vnfdVersion":{
- "title":"Vnfdversion",
- "description":"Identifies the version of the VNFD.",
- "type":"string",
- "maxLength":255
- },
- "vnfPkgId":{
- "title":"Vnfpkgid",
- "description":"Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This attribute can be modified with the PATCH method.",
- "type":"string",
- "maxLength":255
- },
- "vnfConfigurableProperties":{
- "title":"Vnfconfigurableproperties",
- "description":"Current values of the configurable properties of the VNF instance. Configurable properties referred in this attribute are declared in the VNFD",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "vimId":{
- "description":"Identifier set of a VIM that manages resources for the VNF instance.",
- "type":"array",
- "items":{
- "description":"Identifier of a VIM that manages resources for the VNF instance.",
- "type":"string"
- }
- },
- "instantiationState":{
- "title":"Instantiationstate",
- "description":"The instantiation state of the VNF.",
- "type":"string",
- "enum":[
- "NOT_INSTANTIATED",
- "INSTANTIATED"
- ]
- },
- "instantiatedVnfInfo":{
- "$ref":"#/definitions/InstantiatedVnfInfo"
- },
- "metadata":{
- "title":"Metadata",
- "description":"Additional VNF-specific metadata describing the VNF instance. This attribute can be modified with the PATCH method.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "extensions":{
- "title":"Extensions",
- "description":"VNF-specific attributes that affect the lifecycle management of this VNF instance by the VNFM, or the lifecycle management scripts. This attribute can be modified with the PATCH method.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "_links":{
- "$ref":"#/definitions/VnfInstanceLinks"
- }
- }
- },
- "PnfExtCpInfo":{
- "description":"Information on the external CP of the PNF",
- "required":[
- "cpInstanceId",
- "cpdId",
- "cpProtocolData"
- ],
- "type":"object",
- "properties":{
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the CP in the scope of the PNF.",
- "type":"string"
- },
- "cpdId":{
- "title":"Cpdid",
- "description":"Identifier of (reference to) the Connection Point Descriptor(CPD) for this CP.",
- "type":"string"
- },
- "cpProtocolData":{
- "description":"Parameters for configuring the network protocols onthe CP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolData"
- }
- }
- }
- },
- "PnfInfo":{
- "description":"Information on constituent PNF(s) of the NS instance.",
- "required":[
- "pnfId",
- "pnfName",
- "pnfdId",
- "pnfdInfoId",
- "pnfProfileId",
- "cpInfo"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the PNF.",
- "type":"string"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF.",
- "type":"string"
- },
- "pnfdId":{
- "title":"Pnfdid",
- "description":"Identifier of the PNFD on which the PNF is based.",
- "type":"string"
- },
- "pnfdInfoId":{
- "title":"Pnfdinfoid",
- "description":"Identifier of the PNFD information onject related to this PNF.",
- "type":"string"
- },
- "pnfProfileId":{
- "title":"Pnfprofileid",
- "description":"Identifier of the related PnfProfile in the NSD on which the PNF is based.",
- "type":"string"
- },
- "cpInfo":{
- "description":"Information on the external CP of the PNF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfExtCpInfo"
- }
- }
- }
- },
- "NsLinkPortInfo":{
- "description":"Link ports of this VL.",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this link port as provided by the entity that has created the link port.",
- "type":"string",
- "maxLength":255
- },
- "resourceHandle":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "NsVirtualLinkInfo":{
- "description":"Information on the VL(s) of the NS instance.",
- "required":[
- "id",
- "nsVirtualLinkDescId",
- "nsVirtualLinkProfileId",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the VL instance.",
- "type":"string"
- },
- "nsVirtualLinkDescId":{
- "title":"Nsvirtuallinkdescid",
- "description":"Identifier of the VLD in the NSD.",
- "type":"string"
- },
- "nsVirtualLinkProfileId":{
- "title":"Nsvirtuallinkprofileid",
- "description":"Identifier of the VL profile in the NSD.",
- "type":"string"
- },
- "resourceHandle":{
- "description":"Identifier(s) of the virtualised network resource(s) realizing the VL instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceHandle"
- }
- },
- "linkPort":{
- "description":"Link ports of this VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsLinkPortInfo"
- }
- }
- }
- },
- "NfpInfo":{
- "description":"Information on the NFP instances.",
- "required":[
- "id",
- "description",
- "nscpHandle",
- "nfpRule",
- "nfpState"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this NFP instance.",
- "type":"string"
- },
- "nfpdId":{
- "title":"Nfpdid",
- "description":"Identifier of the NFPD used to instantiate this NFPinstance.",
- "type":"string"
- },
- "nfpName":{
- "title":"Nfpname",
- "description":"Human readable name for the NFP instance.",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Human readable description for the NFP instance.",
- "type":"string"
- },
- "nscpHandle":{
- "description":"Identifier(s) of the CPs and/or SAPs which the NFP passes by",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsCpHandle"
- }
- },
- "totalCp":{
- "title":"Totalcp",
- "description":"Total number of CP and SAP instances in this NFPinstance.",
- "type":"string"
- },
- "nfpRule":{
- "$ref":"#/definitions/NfpRule"
- },
- "nfpState":{
- "title":"Nfpstate",
- "description":"The state of the NFP instance.",
- "type":"string",
- "enum":[
- "ENABLED",
- "DISABLED"
- ]
- }
- }
- },
- "VnffgInfo":{
- "description":"VNF Forward Graph Information.",
- "required":[
- "id",
- "vnffgdId",
- "vnfInstanceId",
- "nsVirtualLinkInfoId",
- "nsCpHandle",
- "nfpInfo"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this VNFFG instance.",
- "type":"string"
- },
- "vnffgdId":{
- "title":"Vnffgdid",
- "description":"Identifier of the VNFFGD in the NSD.",
- "type":"string"
- },
- "vnfInstanceId":{
- "description":"Identifier(s) of the constituent VNF instance(s) of thisVNFFG instance.",
- "type":"array",
- "items":{
- "description":"ID of vnf instance",
- "type":"string"
- }
- },
- "pnfInfoId":{
- "description":"Identifier(s) of the constituent PNF instance(s) of thisVNFFG instance",
- "type":"array",
- "items":{
- "description":"ID of pnf info",
- "type":"string"
- }
- },
- "nsVirtualLinkInfoId":{
- "description":"Identifier(s) of the constituent VL instance(s) ofthisVNFFG instance.",
- "type":"array",
- "items":{
- "description":"ID of ns virtual link info",
- "type":"string"
- }
- },
- "nsCpHandle":{
- "description":"Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsCpHandle"
- }
- },
- "nfpInfo":{
- "description":"Information on the NFP instances.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NfpInfo"
- }
- }
- }
- },
- "SapInfo":{
- "description":"Create data concerning the SAPs.",
- "required":[
- "id",
- "sapdId",
- "sapName",
- "description"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the SAP instance.",
- "type":"string"
- },
- "sapdId":{
- "title":"Sapdid",
- "description":"Reference to the SAPD for this SAP.",
- "type":"string"
- },
- "sapName":{
- "title":"Sapname",
- "description":"Human readable name for the SAP.",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Human readable description for the SAP. ",
- "type":"string"
- },
- "sapProtocolInfo":{
- "description":"Parameters for configuring the network protocols on the SAP.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolInfo"
- }
- }
- }
- },
- "NsScaleInfo":{
- "description":"Status of each NS scaling aspect declared in the applicable DF.",
- "required":[
- "nsScalingAspectId",
- "nsScaleLevelId"
- ],
- "type":"object",
- "properties":{
- "nsScalingAspectId":{
- "title":"Nsscalingaspectid",
- "description":"Identifier of the NS scaling aspect.",
- "type":"string"
- },
- "nsScaleLevelId":{
- "title":"Nsscalelevelid",
- "description":"Identifier of the NS scale level.",
- "type":"string"
- }
- }
- },
- "AffinityOrAntiAffinityRule":{
- "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.",
- "required":[
- "vnfInstanceId",
- "affinityOrAntiAffiinty",
- "scope"
- ],
- "type":"object",
- "properties":{
- "vnfdId":{
- "description":"Identifier of the VNFD on which the VNF instance is based.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "vnfProfileId":{
- "description":"Identifier of (Reference to) a vnfProfile defined in the NSD which the existing VNF instance shall be matched with.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "vnfInstanceId":{
- "description":"Identifier of the existing VNF instance to be used in the NS.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "affinityOrAntiAffiinty":{
- "title":"Affinityorantiaffiinty",
- "description":"The type of the constraint.",
- "type":"string",
- "enum":[
- "AFFINITY",
- "ANTI_AFFINITY"
- ]
- },
- "scope":{
- "title":"Scope",
- "description":"Specifies the scope of the rule where the placement constraint applies.",
- "type":"string",
- "enum":[
- "NFVI_POP",
- "ZONE",
- "ZONE_GROUP",
- "NFVI_NODE"
- ]
- }
- }
- },
- "NsLink":{
- "title":" links",
- "description":"The links of the NS instance.",
- "required":[
- "self"
- ],
- "type":"object",
- "properties":{
- "self":{
- "$ref":"#/definitions/Link"
- },
- "nestedNsInstances":{
- "description":"Links to the nested NS instances of the present NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/Link"
- }
- },
- "instantiate":{
- "$ref":"#/definitions/Link"
- },
- "terminate":{
- "$ref":"#/definitions/Link"
- },
- "update":{
- "$ref":"#/definitions/Link"
- },
- "scale":{
- "$ref":"#/definitions/Link"
- },
- "heal":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "NsInstance":{
- "description":"NS instances",
- "required":[
- "id",
- "nsInstanceName",
- "nsInstanceDescription",
- "nsdId",
- "nsdInfoId",
- "nsState",
- "_links"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the NS instance.",
- "type":"string"
- },
- "nsInstanceName":{
- "title":"Nsinstancename",
- "description":"Human readable name of the NS instance.",
- "type":"string"
- },
- "nsInstanceDescription":{
- "title":"Nsinstancedescription",
- "description":"Human readable description of the NS instance.",
- "type":"string"
- },
- "nsdId":{
- "title":"Nsdid",
- "description":"Identifier of the NSD on which the NS instance is based.",
- "type":"string"
- },
- "nsdInfoId":{
- "title":"Nsdinfoid",
- "description":"Identifier of the NSD information object on which the NS instance is based.",
- "type":"string"
- },
- "flavourId":{
- "title":"Flavourid",
- "description":"Identifier of the NS deployment flavour applied to the NS instance.",
- "type":"string"
- },
- "vnfInstance":{
- "description":"Information on constituent VNF(s) of the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfInstance"
- }
- },
- "pnfInfo":{
- "description":"Information on constituent PNF(s) of the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PnfInfo"
- }
- },
- "virtualLinkInfo":{
- "description":"Information on the VL(s) of the NS instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsVirtualLinkInfo"
- }
- },
- "vnffgInfo":{
- "description":"VNF Forward Graph Information.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnffgInfo"
- }
- },
- "sapInfo":{
- "description":"Create data concerning the SAPs.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/SapInfo"
- }
- },
- "nestedNsInstanceId":{
- "description":"Identifier of the nested NS(s) of the NS instance.",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "nsState":{
- "title":"Nsstate",
- "description":"The state of the NS instance.",
- "type":"string",
- "enum":[
- "NOT_INSTANTIATED",
- "INSTANTIATED"
- ]
- },
- "nsScaleStatus":{
- "description":"Status of each NS scaling aspect declared in the applicable DF.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsScaleInfo"
- }
- },
- "additionalAffinityOrAntiAffinityRule":{
- "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffinityOrAntiAffinityRule"
- }
- },
- "_links":{
- "$ref":"#/definitions/NsLink"
- }
- }
- },
- "CreateNsRequest":{
- "required":[
- "nsdId",
- "nsName",
- "nsDescription"
- ],
- "type":"object",
- "properties":{
- "nsdId":{
- "title":"Nsdid",
- "description":"Identifier of the NSD that defines the NS instance to be created.",
- "type":"string"
- },
- "nsName":{
- "title":"Nsname",
- "description":"Name of NS",
- "type":"string"
- },
- "nsDescription":{
- "title":"Nsdescription",
- "description":"Description of NS",
- "type":"string"
- }
- }
- },
- "ActionVm":{
- "title":"Actionvminfo",
- "description":"VM info of action",
- "type":"object",
- "properties":{
- "vmid":{
- "title":"Vmid",
- "description":"ID of VM",
- "type":"string"
- },
- "vduid":{
- "title":"Vduid",
- "description":"ID of vdu",
- "type":"string"
- },
- "vmname":{
- "title":"Vmname",
- "description":"Name of VM",
- "type":"string"
- }
- }
- },
- "HealNsAdditionalParams":{
- "description":"KeyValue Pairs",
- "type":"object",
- "properties":{
- "action":{
- "title":"Action",
- "description":"Action of NS heal",
- "type":"string"
- },
- "actionvminfo":{
- "$ref":"#/definitions/ActionVm"
- }
- }
- },
- "HealVnfData":{
- "description":"Data of heal VNF",
- "required":[
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifies the VNF instance,",
- "type":"string"
- },
- "cause":{
- "title":"Cause",
- "description":"Indicates the reason why a healing procedure is required",
- "type":"string"
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Additional parameters passed by the NFVO as input to the healing process",
- "type":"object",
- "additionalProperties":{
- "$ref":"#/definitions/HealNsAdditionalParams"
- }
- }
- }
- },
- "HealNsData":{
- "title":"Healnsdata",
- "description":"Provides the information needed to heal an NS",
- "required":[
- "degreeHealing"
- ],
- "type":"object",
- "properties":{
- "degreeHealing":{
- "title":"Degreehealing",
- "description":"degree of healing",
- "type":"string",
- "enum":[
- "HEAL_RESTORE",
- "HEAL_QOS",
- "HEAL_RESET",
- "PARTIAL_HEALING"
- ]
- },
- "actionsHealing":{
- "description":"A list of actions",
- "type":"array",
- "items":{
- "description":"One action",
- "type":"string"
- }
- },
- "healScript":{
- "title":"Healscript",
- "description":"script of NS heal",
- "type":"string"
- },
- "additionalParamsforNs":{
- "title":"Additionalparamsforns",
- "description":"Addition params of NS heal",
- "type":"string"
- }
- }
- },
- "HealNsReq":{
- "type":"object",
- "properties":{
- "healVnfData":{
- "description":"Data of heal VNF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/HealVnfData"
- }
- },
- "healNsData":{
- "$ref":"#/definitions/HealNsData"
- }
- }
- },
- "ProblemDetails":{
- "required":[
- "status",
- "detail"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type.",
- "type":"string"
- },
- "title":{
- "title":"Title",
- "description":"A short, human-readable summary of the problem type.",
- "type":"string"
- },
- "status":{
- "title":"Status",
- "description":"The HTTP status code for this occurrence of the problem.",
- "type":"integer"
- },
- "detail":{
- "title":"Detail",
- "description":"A human-readable explanation specific to this occurrence of the problem.",
- "type":"string"
- },
- "instance":{
- "title":"Instance",
- "description":"A URI reference that identifies the specific occurrence of the problem.",
- "type":"string"
- },
- "additional_details":{
- "description":"Any number of additional attributes, as defined in a specification or by an implementation.",
- "type":"array",
- "items":{
- "type":"string"
- }
- }
- }
- },
- "civicAddressElement":{
- "description":"Zero or more elements comprising the civicaddress.",
- "required":[
- "caType",
- "caValue"
- ],
- "type":"object",
- "properties":{
- "caType":{
- "title":"Catype",
- "description":"Describe the content type of caValue.",
- "type":"string"
- },
- "caValue":{
- "title":"Cavalue",
- "description":"Content of civic address element corresponding to theaType.",
- "type":"string"
- }
- }
- },
- "LocationConstraints":{
- "title":"Locationconstraints",
- "description":"Defines the location constraints for theVNF instance to be created based on theVNF profile.",
- "required":[
- "countryCode"
- ],
- "type":"object",
- "properties":{
- "countryCode":{
- "title":"Countrycode",
- "description":"The two-letter ISO 3166 [29] country code in capitalletters.",
- "type":"string"
- },
- "civicAddressElement":{
- "description":"Zero or more elements comprising the civicaddress.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/civicAddressElement"
- }
- }
- }
- },
- "VnfLocationConstraint":{
- "description":"Defines the location constraints for the VNF to be instantiated as part of the NS instantiation.",
- "type":"object",
- "properties":{
- "vnfProfileId":{
- "title":"Vnfprofileid",
- "description":"ID of VNF profile",
- "type":"string"
- },
- "locationConstraints":{
- "$ref":"#/definitions/LocationConstraints"
- }
- }
- },
- "ParamsForVnf":{
- "description":"Allows the OSS/BSS to provide additional parameter(s)per VNF instance",
- "required":[
- "vnfProfileId"
- ],
- "type":"object",
- "properties":{
- "vnfProfileId":{
- "title":"Vnfprofileid",
- "description":"Identifier of (reference to) a vnfProfile to which theadditional parameters apply",
- "type":"string"
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Content of civic address element corresponding to thecaType",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "InstantNsReq":{
- "required":[
- "nsFlavourId"
- ],
- "type":"object",
- "properties":{
- "nsFlavourId":{
- "title":"Nsflavourid",
- "description":"Identifier of the NS deployment flavour to beinstantiated.",
- "type":"string"
- },
- "sapData":{
- "description":"Create data concerning the SAPs of this NS",
- "type":"array",
- "items":{
- "$ref":"#/definitions/SapData"
- }
- },
- "addpnfData":{
- "description":"Information on the PNF(s) that are part of this NS.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AddPnfData"
- }
- },
- "vnfInstanceData":{
- "description":"Specify an existing VNF instance to be used in the NS.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfInstanceData"
- }
- },
- "nestedNsInstanceId":{
- "description":"Specify an existing NS instance to be used as a nested NS within the NS",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "localizationLanguage":{
- "description":"Defines the location constraints for the VNF to be instantiated as part of the NS instantiation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfLocationConstraint"
- }
- },
- "additionalParamForNs":{
- "title":"Additionalparamforns",
- "description":"Allows the OSS/BSS to provide additional parameters at the NS level ",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "additionalParamsForVnf":{
- "description":"Allows the OSS/BSS to provide additional parameter(s)per VNF instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ParamsForVnf"
- }
- },
- "startTime":{
- "title":"Starttime",
- "description":"Timestamp indicating the earliest time to instantiatethe NS.",
- "type":"string",
- "format":"date-time"
- },
- "nsInstantiationLevelId":{
- "title":"Nsinstantiationlevelid",
- "description":"Identifies one of the NS instantiation levelsdeclared in the DF applicable to this NS instance",
- "type":"string"
- },
- "additionalAffinityOrAntiAffiniityRule":{
- "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffinityOrAntiAffinityRule"
- }
- }
- }
- },
- "ScaleNsByStepsData":{
- "title":"Scalensbystepsdata",
- "description":"The information used to scale an NS instance by one or more scaling steps",
- "required":[
- "scalingDirection",
- "aspectId"
- ],
- "type":"object",
- "properties":{
- "scalingDirection":{
- "title":"Scalingdirection",
- "description":"The scaling direction",
- "type":"string",
- "enum":[
- "SCALE_IN",
- "SCALE_OUT"
- ]
- },
- "aspectId":{
- "title":"Aspectid",
- "description":"The aspect of the NS that is requested to be scaled, as declared in the NSD. ",
- "type":"string"
- },
- "numberOfSteps":{
- "title":"Numberofsteps",
- "description":"The number of scaling steps to be performed. Defaults to 1. ",
- "type":"string"
- }
- }
- },
- "ScaleNsToLevelData":{
- "title":"Scalenstoleveldata",
- "description":"The information used to scale an NS instance to a target size. ",
- "type":"object",
- "properties":{
- "nsInstantiationLevel":{
- "title":"Nsinstantiationlevel",
- "description":"Identifier of the target NS instantiation level of the current DF to which the NS instance is requested to be scaled.",
- "type":"string"
- },
- "nsScaleInfo":{
- "description":"For each NS scaling aspect of the current DF",
- "type":"array",
- "items":{
- "$ref":"#/definitions/NsScaleInfo"
- }
- }
- }
- },
- "ScaleNsData":{
- "description":"Scale NS data",
- "type":"object",
- "properties":{
- "vnfInstanceToBeAdded":{
- "description":"An existing VNF instance to be added to the NS instance as part of the scaling operation. ",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfInstanceData"
- }
- },
- "vnfInstanceToBeRemoved":{
- "description":"The VNF instance to be removed from the NS instance as part of the scaling operation",
- "type":"array",
- "items":{
- "type":"string"
- }
- },
- "scaleNsByStepsData":{
- "$ref":"#/definitions/ScaleNsByStepsData"
- },
- "scaleNsToLevelData":{
- "$ref":"#/definitions/ScaleNsToLevelData"
- },
- "additionalParamsForNs":{
- "title":"Additionalparamsforns",
- "description":"Allows the OSS/BSS to provide additional parameter(s) at the NS level necessary for the NS scaling ",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "additionalParamsForVnf":{
- "description":"Allows the OSS/BSS to provide additional parameter(s) per VNF instance",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ParamsForVnf"
- }
- },
- "locationConstraints":{
- "description":"The location constraints for the VNF to be instantiated as part of the NS scaling.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfLocationConstraint"
- }
- }
- }
- },
- "ManualScaleNsReq":{
- "description":"NS Scale",
- "required":[
- "scaleType",
- "scaleNsData"
- ],
- "type":"object",
- "properties":{
- "scaleType":{
- "title":"Scaletype",
- "description":"Type of NS Scale",
- "type":"string"
- },
- "scaleNsData":{
- "description":"Scale NS data",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ScaleNsData"
- }
- }
- }
- },
- "TerminateNsReq":{
- "type":"object",
- "properties":{
- "terminationTime":{
- "title":"Terminationtime",
- "description":"Timestamp indicating the end time of the NS.",
- "type":"string"
- }
- }
- },
- "ChangedInfo":{
- "title":"Changedinfo",
- "description":"Links to resources related to this resource.",
- "type":"object",
- "properties":{
- "changedVnfInfo":{
- "$ref":"#/definitions/ModifyVnfInfoData"
- },
- "changedExtConnectivity":{
- "$ref":"#/definitions/ExtVirtualLinkInfo"
- }
- }
- },
- "AffectedVnfs":{
- "description":"Information about VNFC instances that were affected during the lifecycle operation.",
- "required":[
- "vnfInstanceId",
- "vnfdId",
- "vnfProfileId",
- "vnfName",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance.",
- "type":"string",
- "format":"uuid"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"Identifier of the VNFD of the VNF Instance..",
- "type":"string",
- "format":"uuid"
- },
- "vnfProfileId":{
- "title":"Vnfprofileid",
- "description":"Identifier of the VNF profile of the NSD.",
- "type":"string",
- "format":"uuid"
- },
- "vnfName":{
- "title":"Vnfname",
- "description":"Name of the VNF Instance.",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "REMOVE",
- "INSTANTIATE",
- "TERMINATE",
- "SCALE",
- "CHANGE_FLAVOUR",
- "HEAL",
- "OPERATE",
- "MODIFY_INFORMATION",
- "CHANGE_EXTERNAL_VNF_CONNECTIVITY"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED"
- ]
- },
- "changedInfo":{
- "$ref":"#/definitions/ChangedInfo"
- }
- }
- },
- "AffectedPnfs":{
- "description":"Information about the PNF instances that were affected during the lifecycle operation.",
- "required":[
- "pnfId",
- "pnfdId",
- "pnfProfileId",
- "pnfName",
- "cpInstanceId",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "pnfId":{
- "title":"Pnfid",
- "description":"Identifier of the affected PNF. This identifier is allocated by the OSS/BSS. ",
- "type":"string",
- "format":"uuid"
- },
- "pnfdId":{
- "title":"Pnfdid",
- "description":"Identifier of the PNFD on which the PNF is based.",
- "type":"string",
- "format":"uuid"
- },
- "pnfProfileId":{
- "title":"Pnfprofileid",
- "description":"Identifier of the VNF profile of the NSD.",
- "type":"string",
- "format":"uuid"
- },
- "pnfName":{
- "title":"Pnfname",
- "description":"Name of the PNF.",
- "type":"string"
- },
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the NS profile of the NSD.",
- "type":"string",
- "format":"uuid"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "REMOVE",
- "MODIFY"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED"
- ]
- }
- }
- },
- "AffectedVLs":{
- "description":"Information about the VL instances that were affected during the lifecycle operation",
- "required":[
- "id",
- "virtualLinkDescId",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the VL Instance.",
- "type":"string",
- "format":"uuid"
- },
- "virtualLinkDescId":{
- "title":"Virtuallinkdescid",
- "description":"Identifier of the VLD in the NSD for this VL.",
- "type":"string",
- "format":"uuid"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "DELETE",
- "MODIFY",
- "ADD_LINK_PORT",
- "REMOVE_LINK_PORT"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the result of change identified by the 'changeType' attribute.",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED"
- ]
- }
- }
- },
- "AffectedVnffgs":{
- "description":"Information about the VNFFG instances that were affected during the lifecycle operation.",
- "required":[
- "vnffgInstanceId",
- "vnffgdId",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "vnffgInstanceId":{
- "title":"Vnffginstanceid",
- "description":"Identifier of the VNFFG instance.",
- "type":"string",
- "format":"uuid"
- },
- "vnffgdId":{
- "title":"Vnffgdid",
- "description":"Identifier of the VNFFGD of the VNFFG instance.",
- "type":"string",
- "format":"uuid"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "REMOVE",
- "MODIFY"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED"
- ]
- }
- }
- },
- "AffectedNss":{
- "description":"Information about the nested NS instances that were affected during the lifecycle operation.",
- "required":[
- "nsInstanceId",
- "nsdId",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"Identifier of the nested NS instance.",
- "type":"string",
- "format":"uuid"
- },
- "nsdId":{
- "title":"Nsdid",
- "description":"Identifier of the NSD of the nested NS instance.",
- "type":"string",
- "format":"uuid"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "REMOVE",
- "TERMINATE",
- "SCALE",
- "UPDATE",
- "HEAL"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED",
- "PARTIALLY_COMPLETED"
- ]
- }
- }
- },
- "AffectedSaps":{
- "description":"Information about the SAP instances that were affected during the lifecycle operation.",
- "required":[
- "sapInstanceId",
- "sapdId",
- "sapName",
- "changeType",
- "changeResult"
- ],
- "type":"object",
- "properties":{
- "sapInstanceId":{
- "title":"Sapinstanceid",
- "description":"Identifier of the SAP instance.",
- "type":"string",
- "format":"uuid"
- },
- "sapdId":{
- "title":"Sapdid",
- "description":"Identifier of the SAPD for this SAP.",
- "type":"string",
- "format":"uuid"
- },
- "sapName":{
- "title":"Sapname",
- "description":"Human readable name for the SAP.",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "ADD",
- "REMOVE",
- "MODIFY"
- ]
- },
- "changeResult":{
- "title":"Changeresult",
- "description":"Signals the type of change",
- "type":"string",
- "enum":[
- "COMPLETED",
- "ROLLED_BACK",
- "FAILED"
- ]
- }
- }
- },
- "ResourceChanges":{
- "title":"Resourcechanges",
- "description":"It contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.",
- "type":"object",
- "properties":{
- "affectedVnfs":{
- "description":"Information about VNFC instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVnfs"
- }
- },
- "affectedPnfs":{
- "description":"Information about the PNF instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedPnfs"
- }
- },
- "affectedVls":{
- "description":"Information about the VL instances that were affected during the lifecycle operation",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVLs"
- }
- },
- "affectedVnffgs":{
- "description":"Information about the VNFFG instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVnffgs"
- }
- },
- "affectedNss":{
- "description":"Information about the nested NS instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedNss"
- }
- },
- "affectedSaps":{
- "description":"Information about the SAP instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedSaps"
- }
- }
- }
- },
- "LcmOpLink":{
- "title":" links",
- "description":"Links to resources related to this resource.",
- "required":[
- "self",
- "nsInstance"
- ],
- "type":"object",
- "properties":{
- "self":{
- "$ref":"#/definitions/Link"
- },
- "nsInstance":{
- "$ref":"#/definitions/Link"
- },
- "cancel":{
- "$ref":"#/definitions/Link"
- },
- "retry":{
- "$ref":"#/definitions/Link"
- },
- "rollback":{
- "$ref":"#/definitions/Link"
- },
- "fail":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "NSLCMOpOcc":{
- "required":[
- "id",
- "operationState",
- "stateEnteredTime",
- "startTime",
- "nsInstanceId",
- "operation",
- "operationParams",
- "isCancelPending",
- "_links"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this NS lifecycle management operation occurrence,",
- "type":"string",
- "maxLength":255
- },
- "operationState":{
- "title":"Operationstate",
- "description":"The state of the VNF LCM operation occurrence. ",
- "type":"string",
- "enum":[
- "STARTING",
- "PROCESSING",
- "COMPLETED",
- "FAILED_TEMP",
- "FAILED",
- "ROLLING_BACK",
- "ROLLED_BACK"
- ]
- },
- "stateEnteredTime":{
- "title":"Stateenteredtime",
- "description":"Date-time when the current state was entered.",
- "type":"string",
- "maxLength":50
- },
- "startTime":{
- "title":"Starttime",
- "description":"Date-time of the start of the operation.",
- "type":"string",
- "maxLength":50
- },
- "nsInstanceId":{
- "title":"Nsinstanceid",
- "description":"Identifier of the ns instance to which the operation applies",
- "type":"string",
- "format":"uuid"
- },
- "operation":{
- "title":"Operation",
- "description":"The lifecycle management operation",
- "type":"string",
- "enum":[
- "INSTANTIATE",
- "SCALE",
- "TERMINATE",
- "HEAL",
- "UPDATE"
- ]
- },
- "isAutomaticInvocation":{
- "title":"Isautomaticinvocation",
- "description":"Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO.",
- "type":"boolean",
- "default":false
- },
- "operationParams":{
- "title":"Operationparams",
- "description":"Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: 1. INSTANTIATE: InstantiateVnfRequest 2. SCALE: ScaleVnfRequest 3. CHANGE_FLAVOUR: ChangeVnfFlavourRequest4. HEAL: HealVnfRequest 5. TERMINATE: TerminateVnfRequest ",
- "type":"object",
- "additionalProperties":{
- "type":"string"
- }
- },
- "isCancelPending":{
- "title":"Iscancelpending",
- "description":"If the NS LCM operation occurrence is in 'STARTING' or 'PROCESSING' or 'ROLLING_BACK' state and the operation is being cancelled, this attribute shall be set to True. Otherwise, it shall be set to False.",
- "type":"boolean"
- },
- "cancelMode":{
- "title":"Cancelmode",
- "description":"The mode of an ongoing cancellation. Shall be present when isCancelPending=true, and shall be None otherwise.",
- "type":"string"
- },
- "error":{
- "$ref":"#/definitions/ProblemDetails"
- },
- "resourceChanges":{
- "$ref":"#/definitions/ResourceChanges"
- },
- "_links":{
- "$ref":"#/definitions/LcmOpLink"
- }
- }
- },
- "NsInstanceSubscriptionFilter":{
- "title":"Nsinstancesubscriptionfilter",
- "description":"Filter criteria to select NS instances about which to notify.",
- "type":"object",
- "properties":{
- "nsdIds":{
- "description":"If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.",
- "type":"array",
- "items":{
- "type":"string",
- "format":"uuid"
- }
- },
- "vnfdIds":{
- "description":"If present, match NS instances that contain VNF instances that were created based on identified by one of the vnfdId values listed in this attribute.",
- "type":"array",
- "items":{
- "type":"string",
- "format":"uuid"
- }
- },
- "pnfdIds":{
- "description":"If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute",
- "type":"array",
- "items":{
- "type":"string",
- "format":"uuid"
- }
- },
- "nsInstanceIds":{
- "description":"If present, match NS instances with an instance identifier listed in this attribute",
- "type":"array",
- "items":{
- "type":"string",
- "format":"uuid"
- }
- },
- "nsInstanceNames":{
- "description":"If present, match NS instances with a NS Instance Name listed in this attribute.",
- "type":"array",
- "items":{
- "type":"string",
- "maxLength":255
- }
- }
- }
- },
- "LifeCycleChangeNotificationsFilter":{
- "title":"Filter",
- "description":"Filter settings for this subscription, to define the of all notifications this subscription relates to A particular notification is sent to the subscriber if the filter matches, or if there is no filter.",
- "type":"object",
- "properties":{
- "nsInstanceSubscriptionFilter":{
- "$ref":"#/definitions/NsInstanceSubscriptionFilter"
- },
- "notificationTypes":{
- "description":"Match particular notification types",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "NsLcmOperationOccurrenceNotification",
- "NsIdentifierCreationNotification",
- "NsIdentifierDeletionNotification",
- "NsChangeNotification"
- ]
- }
- },
- "operationTypes":{
- "description":"Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification.",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "INSTANTIATE",
- "SCALE",
- "TERMINATE",
- "HEAL",
- "UPDATE"
- ]
- }
- },
- "operationStates":{
- "description":"Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification.",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "STARTING",
- "PROCESSING",
- "COMPLETED",
- "FAILED_TEMP",
- "FAILED",
- "ROLLING_BACK",
- "ROLLED_BACK"
- ]
- }
- },
- "nsComponentTypes":{
- "description":"Match particular NS component types for the notification of type NsChangeNotification. ",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "VNF",
- "PNF",
- "NS"
- ]
- }
- },
- "lcmOpNameImpactingNsComponent":{
- "description":"Match particular LCM operation names for the notification of type NsChangeNotification. ",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "VNF_INSTANTIATE",
- "VNF_SCALE",
- "VNF_SCALE_TO_LEVEL",
- "VNF_CHANGE_FLAVOUR",
- "VNF_TERMINATE",
- "VNF_HEAL",
- "VNF_OPERATE",
- "VNF_CHANGE_EXT_CONN",
- "VNF_MODIFY_INFO",
- "NS_INSTANTIATE",
- "NS_SCALE",
- "NS_UPDATE",
- "NS_TERMINATE",
- "NS_HEAL"
- ]
- }
- },
- "lcmOpOccStatusImpactingNsComponent":{
- "description":"Match particular LCM operation status values as reported in notifications of type NsChangeNotification.",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "START",
- "COMPLETED ",
- "PARTIALLY_COMPLETED",
- "FAILED",
- "ROLLED_BACK"
- ]
- }
- }
- }
- },
- "LccnSubscriptionLink":{
- "title":" links",
- "description":"Links to resources related to this resource.",
- "required":[
- "self"
- ],
- "type":"object",
- "properties":{
- "self":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "LccnSubscription":{
- "required":[
- "id",
- "callbackUri",
- "_links"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this subscription resource.",
- "type":"string",
- "maxLength":255
- },
- "callbackUri":{
- "title":"Callbackuri",
- "description":"The URI of the endpoint to send the notification to.",
- "type":"string",
- "maxLength":255
- },
- "filter":{
- "$ref":"#/definitions/LifeCycleChangeNotificationsFilter"
- },
- "_links":{
- "$ref":"#/definitions/LccnSubscriptionLink"
- }
- }
- },
- "BasicAuth":{
- "title":"Paramsbasic",
- "description":"Parameters for authentication/authorization using BASIC.",
- "type":"object",
- "properties":{
- "userName":{
- "title":"Username",
- "description":"Username to be used in HTTP Basic authentication.",
- "type":"string",
- "maxLength":255
- },
- "password":{
- "title":"Password",
- "description":"Password to be used in HTTP Basic authentication.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "OAuthCredentials":{
- "title":"Paramsoauth2clientcredentials",
- "description":"Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS.",
- "type":"object",
- "properties":{
- "clientId":{
- "title":"Clientid",
- "description":"Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.",
- "type":"string",
- "maxLength":255
- },
- "clientPassword":{
- "title":"Clientpassword",
- "description":"Client password to be used in the access token request of the OAuth 2.0 client credentials grant type.",
- "type":"string",
- "maxLength":255
- },
- "tokenEndpoint":{
- "title":"Tokenendpoint",
- "description":"The token endpoint from which the access token can be obtained.",
- "type":"string",
- "maxLength":255
- }
- }
- },
- "SubscriptionAuthentication":{
- "title":"Authentication",
- "description":"Authentication parameters to conFigure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 4.5.3 This attribute shall only be present if the subscriber requires authorization of notifications.",
- "required":[
- "authType"
- ],
- "type":"object",
- "properties":{
- "authType":{
- "description":"Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification.",
- "type":"array",
- "items":{
- "type":"string",
- "enum":[
- "BASIC",
- "OAUTH2_CLIENT_CREDENTIALS",
- "TLS_CERT"
- ]
- }
- },
- "paramsBasic":{
- "$ref":"#/definitions/BasicAuth"
- },
- "paramsOauth2ClientCredentials":{
- "$ref":"#/definitions/OAuthCredentials"
- }
- }
- },
- "LccnSubscriptionRequest":{
- "required":[
- "callbackUri"
- ],
- "type":"object",
- "properties":{
- "callbackUri":{
- "title":"Callbackuri",
- "description":"The URI of the endpoint to send the notification to.",
- "type":"string"
- },
- "filter":{
- "$ref":"#/definitions/LifeCycleChangeNotificationsFilter"
- },
- "authentication":{
- "$ref":"#/definitions/SubscriptionAuthentication"
- }
- }
- },
- "VimInfoResp":{
- "required":[
- "vimId",
- "name",
- "url",
- "userName",
- "password",
- "type"
- ],
- "type":"object",
- "properties":{
- "vimId":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- },
- "name":{
- "title":"Name",
- "description":"Name of VIM",
- "type":"string"
- },
- "url":{
- "title":"Url",
- "description":"Url of VIM",
- "type":"string"
- },
- "userName":{
- "title":"Username",
- "description":"User Name of VIM",
- "type":"string"
- },
- "password":{
- "title":"Password",
- "description":"Password of VIM",
- "type":"string"
- },
- "tenantId":{
- "title":"Tenantid",
- "description":"Tenant ID of VIM",
- "type":"string"
- },
- "tenant":{
- "title":"Tenant",
- "description":"Default Tenant of VIM",
- "type":"string"
- },
- "vendor":{
- "title":"Vendor",
- "description":"Vendor of VIM",
- "type":"string"
- },
- "version":{
- "title":"Version",
- "description":"Version of VIM",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Description of VIM",
- "type":"string"
- },
- "domain":{
- "title":"Domain",
- "description":"Domain of VIM",
- "type":"string"
- },
- "type":{
- "title":"Type",
- "description":"Type of VIM",
- "type":"string"
- },
- "createTime":{
- "title":"Createtime",
- "description":"Create Time of VIM",
- "type":"string"
- },
- "sslCacert":{
- "title":"Sslcacert",
- "description":"SSL Cacert of VIM",
- "type":"string"
- },
- "sslInsecure":{
- "title":"Sslinsecure",
- "description":"SSL Insecure of VIM",
- "type":"string"
- },
- "status":{
- "title":"Status",
- "description":"Status of VIM",
- "type":"string"
- }
- }
- },
- "VnfmInfoResp":{
- "required":[
- "vnfmId",
- "name",
- "type",
- "vimId"
- ],
- "type":"object",
- "properties":{
- "vnfmId":{
- "title":"Vnfmid",
- "description":"ID of VNFM",
- "type":"string"
- },
- "name":{
- "title":"Name",
- "description":"Name of VNFM",
- "type":"string"
- },
- "type":{
- "title":"Type",
- "description":"Type of VNFM",
- "type":"string"
- },
- "vimId":{
- "title":"Vimid",
- "description":"ID of VIM",
- "type":"string"
- },
- "vendor":{
- "title":"Vendor",
- "description":"Vendor of VNFM",
- "type":"string"
- },
- "version":{
- "title":"Version",
- "description":"Version of VNFM",
- "type":"string"
- },
- "description":{
- "title":"Description",
- "description":"Description of VNFM",
- "type":"string"
- },
- "certificateUrl":{
- "title":"Certificateurl",
- "description":"Certificate PEM of VNFM",
- "type":"string"
- },
- "url":{
- "title":"Url",
- "description":"url of VNFM",
- "type":"string"
- },
- "userName":{
- "title":"Username",
- "description":"User Name of VNFM",
- "type":"string"
- },
- "password":{
- "title":"Password",
- "description":"Password of VNFM",
- "type":"string"
- },
- "createTime":{
- "title":"Createtime",
- "description":"Create Time of VNFM",
- "type":"string"
- }
- }
- },
- "VerifyVnfReq":{
- "required":[
- "PackageID"
- ],
- "type":"object",
- "properties":{
- "PackageID":{
- "title":"Packageid",
- "description":"ID of Package",
- "type":"string"
- }
- }
- },
- "VerifyVnfResp":{
- "required":[
- "jobId"
- ],
- "type":"object",
- "properties":{
- "jobId":{
- "title":"Jobid",
- "description":"ID of Job",
- "type":"string"
- }
- }
- },
- "ResourceDefinition":{
- "description":"List of resource definitions in the VNFD for resources to be added by the LCM operation.",
- "required":[
- "id",
- "type"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this ResourceDefinition, unique at least within the scope of the GrantRequest.",
- "type":"string"
- },
- "type":{
- "title":"Type",
- "description":"Type of the resource definition referenced.",
- "type":"string",
- "enum":[
- "COMPUTE",
- "VL",
- "STORAGE",
- "LINKPORT"
- ]
- },
- "vduId":{
- "title":"Vduid",
- "description":"Reference to the related VDU in the VNFD applicable to this resource.",
- "type":"string"
- },
- "resourceTemplateId":{
- "title":"Resourcetemplateid",
- "description":"Reference to a resource template(such as VnfVirtualLinkDesc) in the VNFD.",
- "type":"string"
- },
- "resource":{
- "$ref":"#/definitions/ResourceHandle"
- }
- }
- },
- "ConstraintResourceRef":{
- "description":"References to resources in the constraint rule.",
- "required":[
- "idType",
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "idType":{
- "title":"Idtype",
- "description":"The type of the identifier.",
- "type":"string",
- "enum":[
- "RES_MGMT",
- "GRANT"
- ]
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"An actual resource-management-level identifier(idType=RES_MGMT), or an identifier that references a ResourceDefinition(idType=GRANT).",
- "type":"string"
- },
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifier of the resource provider. It shall only be present when idType = RES_MGMT.",
- "type":"string"
- }
- }
- },
- "PlacementConstraint":{
- "description":"Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision.",
- "required":[
- "affinityOrAntiAffinity",
- "scope"
- ],
- "type":"object",
- "properties":{
- "affinityOrAntiAffinity":{
- "title":"Affinityorantiaffinity",
- "description":"The type of the constraint.",
- "type":"string",
- "enum":[
- "AFFINITY",
- "ANTI_AFFINITY"
- ]
- },
- "scope":{
- "title":"Scope",
- "description":"The scope of the placement constraint indicating the category of the place where the constraint applies.",
- "type":"string",
- "enum":[
- "NFVI_POP",
- "ZONE",
- "ZONE_GROUP",
- "NFVI_NODE"
- ]
- },
- "resource":{
- "description":"References to resources in the constraint rule.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ConstraintResourceRef"
- }
- }
- }
- },
- "VimConstraint":{
- "description":"Used by the VNFM to require that multiple resources are managed through the same VIM connection.",
- "type":"object",
- "properties":{
- "sameResourceGroup":{
- "title":"Sameresourcegroup",
- "description":"Set to true when the constraint applies not only to the same VIM connection, but also to the same infrastructure resource group.",
- "type":"boolean"
- },
- "resource":{
- "description":"References to resources in the constraint rule.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ConstraintResourceRef"
- }
- }
- }
- },
- "GrantRequestLinks":{
- "title":" links",
- "description":"Links to resources related to this request.",
- "required":[
- "vnfLcmOpOcc",
- "vnfInstance"
- ],
- "type":"object",
- "properties":{
- "vnfLcmOpOcc":{
- "$ref":"#/definitions/Link"
- },
- "vnfInstance":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "GrantRequest":{
- "required":[
- "vnfInstanceId",
- "operation",
- "isAutomaticInvocation"
- ],
- "type":"object",
- "properties":{
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the VNF instance which this grant request is related to.",
- "type":"string"
- },
- "vnfLcmOpOccId":{
- "title":"Vnflcmopoccid",
- "description":"The identifier of the VNF lifecycle management operation occurrence associated to the GrantRequest.",
- "type":"string"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"Identifier of the VNFD that defines the VNF for which the LCM operation is to be granted.",
- "type":"string"
- },
- "flavourId":{
- "title":"Flavourid",
- "description":"Identifier of the VNF deployment flavour of the VNFD that defines the VNF for which the LCM operation is to be granted.",
- "type":"string"
- },
- "operation":{
- "title":"Operation",
- "description":"The lifecycle management operation for which granting is requested.",
- "type":"string",
- "enum":[
- "INSTANTIATE",
- "SCALE",
- "SCALE_TO_LEVEL",
- "CHANGE_FLAVOUR",
- "TERMINATE",
- "HEAL",
- "OPERATE",
- "CHANGE_EXT_CONN",
- "MODIFY_INFO"
- ]
- },
- "isAutomaticInvocation":{
- "title":"Isautomaticinvocation",
- "description":"Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM, set to false otherwise.",
- "type":"boolean"
- },
- "instantiationLevelId":{
- "title":"Instantiationlevelid",
- "description":"If operation=INSTANTIATE, the identifier of the instantiation level may be provided as an alternative way to define the resources to be added.",
- "type":"string"
- },
- "addResources":{
- "description":"List of resource definitions in the VNFD for resources to be added by the LCM operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceDefinition"
- }
- },
- "tempResources":{
- "description":"List of resource definitions in the VNFD for resources to be temporarily instantiated during the runtime of the LCM operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceDefinition"
- }
- },
- "removeResources":{
- "description":"Provides the definitions of resources to be removed by the LCM operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceDefinition"
- }
- },
- "updateResources":{
- "description":"Provides the definitions of resources to be modified by the LCM operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ResourceDefinition"
- }
- },
- "placementConstraints":{
- "description":"Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/PlacementConstraint"
- }
- },
- "vimConstraints":{
- "description":"Used by the VNFM to require that multiple resources are managed through the same VIM connection.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VimConstraint"
- }
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Additional parameters passed by the VNFM.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "_links":{
- "$ref":"#/definitions/GrantRequestLinks"
- }
- }
- },
- "VimConnectionInfo":{
- "description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources.",
- "required":[
- "id"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"The identifier of the VIM Connection. This identifier is managed by the NFVO.",
- "type":"string"
- },
- "vimId":{
- "title":"Vimid",
- "description":"The identifier of the VIM instance. This identifier is managed by the NFVO.",
- "type":"string"
- },
- "vimType":{
- "title":"Vimtype",
- "description":"Discriminator for the different types of the VIM information.",
- "type":"string"
- },
- "interfaceInfo":{
- "title":"Interfaceinfo",
- "description":"Information about the interface or interfaces to the VIM.",
- "type":"object",
- "additionalProperties":{
- "description":"Interface Info",
- "type":"string"
- }
- },
- "accessInfo":{
- "title":"Accessinfo",
- "description":"Authentication credentials for accessing the VIM.",
- "type":"object",
- "additionalProperties":{
- "description":"Access Info",
- "type":"string"
- }
- },
- "extra":{
- "title":"Extra",
- "description":"VIM type specific additional information.",
- "type":"object",
- "additionalProperties":{
- "description":"Extra",
- "type":"string"
- }
- }
- }
- },
- "ZoneInfo":{
- "description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.",
- "required":[
- "id"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the Grant structure.",
- "type":"string"
- },
- "zoneId":{
- "title":"Zoneid",
- "description":"The identifier of the resource zone, as managed by the resource management layer(typically, the VIM).",
- "type":"string"
- },
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the connection to the VIM that manages the resource zone.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management the resource zone.",
- "type":"string"
- }
- }
- },
- "ZoneGroupInfo":{
- "description":"Information about groups of resource zones.",
- "type":"object",
- "properties":{
- "zoneId":{
- "description":"References of identifiers of ZoneInfo structures.",
- "type":"array",
- "items":{
- "description":"IdentifierLocal",
- "type":"string"
- }
- }
- }
- },
- "GrantInfo":{
- "description":"List of resources that are approved to be added.",
- "required":[
- "resourceDefinitionId"
- ],
- "type":"object",
- "properties":{
- "resourceDefinitionId":{
- "title":"Resourcedefinitionid",
- "description":"Identifier of the related ResourceDefinition from the related GrantRequest.",
- "type":"string"
- },
- "reservationId":{
- "title":"Reservationid",
- "description":"The reservation identifier applicable to the VNFC/VirtualLink/VirtualStorage.",
- "type":"string"
- },
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to be used to manage this resource.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of the virtualised resource.",
- "type":"string"
- },
- "zoneId":{
- "title":"Zoneid",
- "description":"Reference to the identifier of the ZoneInfo in the Grant.",
- "type":"string"
- },
- "resourceGroupId":{
- "title":"Resourcegroupid",
- "description":"Identifier of the infrastructure resource group.",
- "type":"string"
- }
- }
- },
- "VimComputeResourceFlavour":{
- "description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.",
- "type":"object",
- "properties":{
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to access the flavour referenced in this structure.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of the virtualised resource.",
- "type":"string"
- },
- "vnfdVirtualComputeDescId":{
- "title":"Vnfdvirtualcomputedescid",
- "description":"Identifier which references the virtual compute descriptor in the VNFD that maps to this flavour.",
- "type":"string"
- },
- "vimFlavourId":{
- "title":"Vimflavourid",
- "description":"Identifier of the compute resource flavour in the resource management layer (i.e. VIM).",
- "type":"string"
- }
- }
- },
- "VimSoftwareImage":{
- "description":"Mappings between software images defined in the VNFD and software images managed in the VIM.",
- "type":"object",
- "properties":{
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to access the flavour referenced in this structure.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of the virtualised resource.",
- "type":"string"
- },
- "vnfdSoftwareImageId":{
- "title":"Vnfdsoftwareimageid",
- "description":"Identifier which references the software image descriptor in the VNFD.",
- "type":"string"
- },
- "vimSoftwareImageId":{
- "title":"Vimsoftwareimageid",
- "description":"Identifier of the software image in the resource management layer (i.e. VIM).",
- "type":"string"
- }
- }
- },
- "VimAssets":{
- "title":"Vimassets",
- "description":"Information about assets for the VNF that are managed by the NFVO in the VIM.",
- "type":"object",
- "properties":{
- "computeResourceFlavours":{
- "description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VimComputeResourceFlavour"
- }
- },
- "softwareImages":{
- "description":"Mappings between software images defined in the VNFD and software images managed in the VIM.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VimSoftwareImage"
- }
- }
- }
- },
- "IpAddresse":{
- "description":"List of IP addresses to assign to the CP instance.",
- "required":[
- "type",
- "numDynamicAddresses"
- ],
- "type":"object",
- "properties":{
- "type":{
- "title":"Type",
- "description":"The type of the IP addresses.",
- "type":"string",
- "enum":[
- "IPV4",
- "IPV6"
- ]
- },
- "fixedAddresses":{
- "description":"Fixed addresses to assign.",
- "type":"array",
- "items":{
- "description":"IpAddress",
- "type":"string"
- }
- },
- "numDynamicAddresses":{
- "title":"Numdynamicaddresses",
- "description":"Number of dynamic addresses to assign.",
- "type":"integer"
- },
- "addressRange":{
- "$ref":"#/definitions/AddressRange"
- },
- "subnetId":{
- "title":"Subnetid",
- "description":"Subnet defined by the identifier of the subnet resource in the VIM.",
- "type":"string"
- }
- }
- },
- "IpOverEthernetAddress":{
- "title":"Ipoverethernet",
- "description":"Network address data for IP over Ethernet to assign to the extCP instance.",
- "type":"object",
- "properties":{
- "macAddress":{
- "title":"Macaddress",
- "description":"MAC address.",
- "type":"string"
- },
- "ipAddresses":{
- "description":"List of IP addresses to assign to the CP instance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/IpAddresse"
- }
- }
- }
- },
- "CpProtocolDataConfig":{
- "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL.",
- "required":[
- "layerProtocol"
- ],
- "type":"object",
- "properties":{
- "layerProtocol":{
- "title":"Layerprotocol",
- "description":"Identifier of layer(s) and protocol(s).",
- "type":"string",
- "enum":[
- "IP_OVER_ETHERNET"
- ]
- },
- "ipOverEthernet":{
- "$ref":"#/definitions/IpOverEthernetAddress"
- }
- }
- },
- "VnfExtCpConfigData":{
- "description":"List of instance data that need to be configured on the CP instances created from the respective CPD.",
- "type":"object",
- "properties":{
- "cpInstanceId":{
- "title":"Cpinstanceid",
- "description":"Identifier of the external CP instance to which this set of configuration parameters is requested to be applied.",
- "type":"string"
- },
- "linkPortId":{
- "title":"Linkportid",
- "description":"Identifier of a pre-configured link port to which the external CP will be associated.",
- "type":"string"
- },
- "cpProtocolData":{
- "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/CpProtocolDataConfig"
- }
- }
- }
- },
- "VnfExtCp":{
- "description":"External CPs of the VNF to be connected to this external VL.",
- "required":[
- "cpdId"
- ],
- "type":"object",
- "properties":{
- "cpdId":{
- "title":"Cpdid",
- "description":"The identifier of the CPD in the VNFD.",
- "type":"string"
- },
- "cpConfig":{
- "description":"List of instance data that need to be configured on the CP instances created from the respective CPD.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfExtCpConfigData"
- }
- }
- }
- },
- "ExtLinkPort":{
- "description":"Externally provided link ports to be used to connect external connection points to this external VL.",
- "required":[
- "id",
- "resourceHandle"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this link port as provided by the entity that has created the link port.",
- "type":"string"
- },
- "resourceHandle":{
- "title":"Resourcehandle",
- "description":"Reference to the virtualised resource realizing this link port.",
- "type":"string"
- }
- }
- },
- "ExtVirtualLink":{
- "description":"Information about external VLs to connect the VNF to.",
- "required":[
- "id",
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"The identifier of the external VL instance.",
- "type":"string"
- },
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to manage this resource.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of this resource.",
- "type":"string"
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"The identifier of the resource in the scope of the VIM or the resource provider.",
- "type":"string"
- },
- "extCps":{
- "description":"External CPs of the VNF to be connected to this external VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VnfExtCp"
- }
- },
- "extLinkPorts":{
- "description":"Externally provided link ports to be used to connect external connection points to this external VL.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtLinkPort"
- }
- }
- }
- },
- "ExtManagedVirtualLink":{
- "description":"Information about internal VLs that are managed by other entities than the VNFM.",
- "required":[
- "id",
- "virtualLinkDescId",
- "resourceId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"The identifier of the externally-managed internal VL instance.",
- "type":"string"
- },
- "virtualLinkDescId":{
- "title":"Virtuallinkdescid",
- "description":"The identifier of the VLD in the VNFD for this VL.",
- "type":"string"
- },
- "vimConnectionId":{
- "title":"Vimconnectionid",
- "description":"Identifier of the VIM connection to manage this resource.",
- "type":"string"
- },
- "resourceProviderId":{
- "title":"Resourceproviderid",
- "description":"Identifies the entity responsible for the management of this resource.",
- "type":"string"
- },
- "resourceId":{
- "title":"Resourceid",
- "description":"The identifier of the resource in the scope of the VIM or the resource provider.",
- "type":"string"
- }
- }
- },
- "GrantLinks":{
- "title":" links",
- "description":"Links to resources related to this resource.",
- "required":[
- "self",
- "vnfLcmOpOcc",
- "vnfInstance"
- ],
- "type":"object",
- "properties":{
- "self":{
- "$ref":"#/definitions/Link"
- },
- "vnfLcmOpOcc":{
- "$ref":"#/definitions/Link"
- },
- "vnfInstance":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "Grant":{
- "description":"The grant was created successfully (synchronous mode).",
- "required":[
- "id",
- "vnfInstanceId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the grant.",
- "type":"string"
- },
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"Identifier of the related VNF instance.",
- "type":"string"
- },
- "vnfLcmOpOccId":{
- "title":"Vnflcmopoccid",
- "description":"Identifier of the related VNF lifecycle management operation occurrence.",
- "type":"string"
- },
- "vimConnections":{
- "description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VimConnectionInfo"
- }
- },
- "zones":{
- "description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ZoneInfo"
- }
- },
- "zoneGroups":{
- "description":"Information about groups of resource zones.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ZoneGroupInfo"
- }
- },
- "computeReservationId":{
- "title":"Computereservationid",
- "description":"Information that identifies a reservation applicable to the compute resource requirements.",
- "type":"string"
- },
- "networkReservationId":{
- "title":"Networkreservationid",
- "description":"Information that identifies a reservation applicable to the network resource requirements.",
- "type":"string"
- },
- "storageReservationId":{
- "title":"Storagereservationid",
- "description":"Information that identifies a reservation applicable to the storage resource requirements.",
- "type":"string"
- },
- "addResources":{
- "description":"List of resources that are approved to be added.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/GrantInfo"
- }
- },
- "tempResources":{
- "description":"List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/GrantInfo"
- }
- },
- "removeResources":{
- "description":"List of resources that are approved to be removed.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/GrantInfo"
- }
- },
- "updateResources":{
- "description":"List of resources that are approved to be modified.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/GrantInfo"
- }
- },
- "vimAssets":{
- "$ref":"#/definitions/VimAssets"
- },
- "extVirtualLinks":{
- "description":"Information about external VLs to connect the VNF to.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtVirtualLink"
- }
- },
- "extManagedVirtualLinks":{
- "description":"Information about internal VLs that are managed by other entities than the VNFM.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtManagedVirtualLink"
- }
- },
- "additionalParams":{
- "title":"Additionalparams",
- "description":"Additional parameters passed by the NFVO, specific to the VNF and the LCM operation.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "_links":{
- "$ref":"#/definitions/GrantLinks"
- }
- }
- },
- "AffectedVnfc":{
- "description":"Information about VNFC instances that were affected during the lifecycle operation.",
- "required":[
- "id",
- "vduId",
- "changeType",
- "computeResource"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the Vnfc instance.",
- "type":"string"
- },
- "vduId":{
- "title":"Vduid",
- "description":"Identifier of the related VDU in the VNFD.",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change.",
- "type":"string",
- "enum":[
- "ADDED",
- "REMOVED",
- "MODIFIED",
- "TEMPORARY"
- ]
- },
- "computeResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "affectedVnfcCpIds":{
- "description":"Identifiers of CP(s) of the VNFC instance that were affected by the change.",
- "type":"array",
- "items":{
- "description":"Identifier In Vnf",
- "type":"string"
- }
- },
- "addedStorageResourceIds":{
- "description":"References to VirtualStorage resources that have been added.",
- "type":"array",
- "items":{
- "description":"Identifier In Vnf",
- "type":"string"
- }
- },
- "removedStorageResourceIds":{
- "description":"References to VirtualStorage resources that have been removed.",
- "type":"array",
- "items":{
- "description":"Identifier In Vnf",
- "type":"string"
- }
- }
- }
- },
- "AffectedVirtualLink":{
- "description":"Information about VL instances that were affected during the lifecycle operation.",
- "required":[
- "id",
- "virtualLinkDescId",
- "changeType"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the virtual link instance.",
- "type":"string"
- },
- "virtualLinkDescId":{
- "title":"Virtuallinkdescid",
- "description":"Identifier of the related VLD in the VNFD.",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change.",
- "type":"string",
- "enum":[
- "ADDED",
- "REMOVED",
- "MODIFIED",
- "TEMPORARY",
- "LINK_PORT_ADDED",
- "LINK_PORT_REMOVED"
- ]
- },
- "networkResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "AffectedVirtualStorage":{
- "description":"Information about virtualised storage instances that were affected during the lifecycle operation.",
- "required":[
- "id",
- "virtualStorageDescId",
- "changeType"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of the storage instance.",
- "type":"string"
- },
- "virtualStorageDescId":{
- "title":"Virtualstoragedescid",
- "description":"Identifier of the related VirtualStorage descriptor in the VNFD.",
- "type":"string"
- },
- "changeType":{
- "title":"Changetype",
- "description":"Signals the type of change.",
- "type":"string",
- "enum":[
- "ADDED",
- "REMOVED",
- "MODIFIED",
- "TEMPORARY"
- ]
- },
- "storageResource":{
- "$ref":"#/definitions/ResourceHandle"
- },
- "metadata":{
- "title":"Metadata",
- "description":"Metadata about this resource.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- }
- }
- },
- "VnfInfoModifications":{
- "title":"Changedinfo",
- "description":"Information about the changed VNF instance information, including changed VNF configurable properties.",
- "type":"object",
- "properties":{
- "vnfInstanceName":{
- "title":"Vnfinstancename",
- "description":"If present, this attribute signals modifications of the vnfInstanceName attribute in VnfInstance.",
- "type":"string"
- },
- "vnfInstanceDescription":{
- "title":"Vnfinstancedescription",
- "description":"If present, this attribute signals modifications of the vnfInstanceDescription attribute in VnfInstance.",
- "type":"string"
- },
- "vnfConfigurableProperties":{
- "title":"Vnfconfigurableproperties",
- "description":"If present, this attribute signals modifications of the vnfConfigurableProperties attribute in VnfInstance.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "metadata":{
- "title":"Metadata",
- "description":"If present, this attribute signals modifications of the metadata attribute in VnfInstance.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "extensions":{
- "title":"Extensions",
- "description":"If present, this attribute signals modifications of the extensions attribute in VnfInstance.",
- "type":"object",
- "additionalProperties":{
- "description":"KeyValue Pairs",
- "type":"string"
- }
- },
- "vimConnectionInfo":{
- "description":"If present, this attribute signals modifications of the vimConnectionInfo attribute in VnfInstance.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/VimConnectionInfo"
- }
- },
- "vnfPkgId":{
- "title":"Vnfpkgid",
- "description":"If present, this attribute signals modifications of the vnfPkgId attribute in VnfInstance.",
- "type":"string"
- },
- "vnfdId":{
- "title":"Vnfdid",
- "description":"If present, this attribute signals modifications of the vnfdId attribute in VnfInstance.",
- "type":"string"
- },
- "vnfProvider":{
- "title":"Vnfprovider",
- "description":"If present, this attribute signals modifications of the vnfProvider attribute in VnfInstance.",
- "type":"string"
- },
- "vnfProductName":{
- "title":"Vnfproductname",
- "description":"If present, this attribute signals modifications of the vnfProductName attribute in VnfInstance.",
- "type":"string"
- },
- "vnfSoftwareVersion":{
- "title":"Vnfsoftwareversion",
- "description":"If present, this attribute signals modifications of the vnfSoftwareVersion attribute in VnfInstance.",
- "type":"string"
- },
- "vnfdVersion":{
- "title":"Vnfdversion",
- "description":"If present, this attribute signals modifications of the vnfdVersion attribute in VnfInstance.",
- "type":"string"
- }
- }
- },
- "LccnLinks":{
- "title":" links",
- "description":"Links to resources related to this notification.",
- "required":[
- "vnfInstance",
- "subscription"
- ],
- "type":"object",
- "properties":{
- "vnfInstance":{
- "$ref":"#/definitions/Link"
- },
- "subscription":{
- "$ref":"#/definitions/Link"
- },
- "vnfLcmOpOcc":{
- "$ref":"#/definitions/Link"
- }
- }
- },
- "VnfLcmOperationOccurrenceNotification":{
- "description":"A notification about lifecycle changes triggered by a VNF LCM operation occurrence.",
- "required":[
- "id",
- "notificationType",
- "subscriptionId",
- "timeStamp",
- "notificationStatus",
- "operationState",
- "vnfInstanceId",
- "operation",
- "isAutomaticInvocation",
- "vnfLcmOpOccId"
- ],
- "type":"object",
- "properties":{
- "id":{
- "title":"Id",
- "description":"Identifier of this notification.",
- "type":"string"
- },
- "notificationType":{
- "title":"Notificationtype",
- "description":"Discriminator for the different notification types.",
- "type":"string",
- "enum":[
- "VnfLcmOperationOccurrenceNotification",
- "VnfIdentifierCreationNotification",
- "VnfIdentifierDeletionNotification"
- ]
- },
- "subscriptionId":{
- "title":"Subscriptionid",
- "description":"Identifier of the subscription that this notification relates to.",
- "type":"string"
- },
- "timeStamp":{
- "title":"Timestamp",
- "description":"Date-time of the generation of the notification.",
- "type":"string"
- },
- "notificationStatus":{
- "title":"Notificationstatus",
- "description":"Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation.",
- "type":"string",
- "enum":[
- "START",
- "RESULT"
- ]
- },
- "operationState":{
- "title":"Operationstate",
- "description":"The state of the VNF LCM operation occurrence.",
- "type":"string",
- "enum":[
- "STARTING",
- "PROCESSING",
- "COMPLETED",
- "FAILED_TEMP",
- "FAILED",
- "ROLLING_BACK",
- "ROLLED_BACK"
- ]
- },
- "vnfInstanceId":{
- "title":"Vnfinstanceid",
- "description":"The identifier of the VNF instance affected.",
- "type":"string"
- },
- "operation":{
- "title":"Operation",
- "description":"The lifecycle management operation.",
- "type":"string",
- "enum":[
- "INSTANTIATE",
- "SCALE",
- "SCALE_TO_LEVEL",
- "CHANGE_FLAVOUR",
- "TERMINATE",
- "HEAL",
- "OPERATE",
- "CHANGE_EXT_CONN",
- "MODIFY_INFO"
- ]
- },
- "isAutomaticInvocation":{
- "title":"Isautomaticinvocation",
- "description":"Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM.",
- "type":"boolean"
- },
- "vnfLcmOpOccId":{
- "title":"Vnflcmopoccid",
- "description":"The identifier of the VNF lifecycle management operation occurrence associated to the notification.",
- "type":"string"
- },
- "affectedVnfcs":{
- "description":"Information about VNFC instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVnfc"
- }
- },
- "affectedVirtualLinks":{
- "description":"Information about VL instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVirtualLink"
- }
- },
- "affectedVirtualStorages":{
- "description":"Information about virtualised storage instances that were affected during the lifecycle operation.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/AffectedVirtualStorage"
- }
- },
- "changedInfo":{
- "$ref":"#/definitions/VnfInfoModifications"
- },
- "changedExtConnectivity":{
- "description":"Information about changed external connectivity.",
- "type":"array",
- "items":{
- "$ref":"#/definitions/ExtVirtualLinkInfo"
- }
- },
- "error":{
- "$ref":"#/definitions/ProblemDetails"
- },
- "_links":{
- "$ref":"#/definitions/LccnLinks"
- }
- }
- }
- }
-}
+{ + "swagger": "2.0", + "info": { + "version": "1.0.0", + "title": "ONAP VFC Network Service Lifecycle Management API", + "description": "VFC Network Service Lifecycle Management Rest API.", + "contact": { + "name": "ONAP VFC team", + "email": "onap-discuss@lists.onap.org", + "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm" + } + }, + "basePath": "/", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths":{ + "/api/nslcm/v1/jobs/{job_id}":{ + "get":{ + "operationId":"api_nslcm_v1_jobs_read", + "description":"Query job", + "parameters":[ + { + "name":"job_id", + "in":"query", + "description":"job id", + "type":"string" + }, + { + "name":"responseId", + "in":"query", + "description":"response id", + "type":"string" + } + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/JobQueryResp" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v1_jobs_create", + "description":"Update job", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/JobUpdReq" + } + }, + { + "name":"job_id", + "in":"query", + "description":"job id", + "type":"string" + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/JobUpdResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"job_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/mandb/{modelName}":{ + "get":{ + "operationId":"api_nslcm_v1_mandb_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/RecordCount" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_mandb_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "204":{ + "description":"successful" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"modelName", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns":{ + "get":{ + "operationId":"api_nslcm_v1_ns_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "description":"NS instances", + "type":"array", + "items":{ + "$ref":"#/definitions/_QueryNsResp" + } + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v1_ns_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_CreateNsReq" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_CreateNsResp" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/create_flow_classifier":{ + "post":{ + "operationId":"api_nslcm_v1_ns_create_flow_classifier_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreateFlowCla" + } + } + ], + "responses":{ + "200":{ + "description":"successful" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/create_port_chain":{ + "post":{ + "operationId":"api_nslcm_v1_ns_create_port_chain_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreatePortChain" + } + } + ], + "responses":{ + "200":{ + "description":"successful" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/create_port_pair_group":{ + "post":{ + "operationId":"api_nslcm_v1_ns_create_port_pair_group_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreatePortPairGp" + } + } + ], + "responses":{ + "200":{ + "description":"successful" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/grantvnf":{ + "post":{ + "operationId":"api_nslcm_v1_ns_grantvnf_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/GrantVnfReq" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/GrantVnfResp" + } + }, + "409":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/ns_vnfs/{vnfinstid}/scaling":{ + "post":{ + "operationId":"api_nslcm_v1_ns_ns_vnfs_scaling_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/ScaleVnfReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ScaleVnfResp" + } + }, + "409":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfinstid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/placevnf":{ + "post":{ + "operationId":"api_nslcm_v1_ns_placevnf_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/PlaceVnfReq" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/PlaceVnfReq" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/sfc_instance":{ + "post":{ + "operationId":"api_nslcm_v1_ns_sfc_instance_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreateSfcInstReq" + } + } + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/CreateSfcInstResp" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/sfcs":{ + "post":{ + "operationId":"api_nslcm_v1_ns_sfcs_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreateSfcReq" + } + } + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/CreateSfcResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/sfcs/{sfc_inst_id}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_sfcs_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/GetSfcResp" + } + }, + "404":{ + "description":"SFC not found" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_ns_sfcs_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/DeleteSfcResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"sfc_inst_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/terminatevnf/{vnfinstid}":{ + "post":{ + "operationId":"api_nslcm_v1_ns_terminatevnf_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/TerminateVnfReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/TerminateVnfResp" + } + }, + "409":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfinstid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/vls":{ + "post":{ + "operationId":"api_nslcm_v1_ns_vls_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreateVlReq" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/CreateVlResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/vls/{vl_inst_id}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_vls_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/GetVlResp" + } + }, + "404":{ + "description":"VL instance is not found" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_ns_vls_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/DeleteVlResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vl_inst_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/vnfs":{ + "post":{ + "operationId":"api_nslcm_v1_ns_vnfs_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/InstVnfReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/InstVnfResp" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns/vnfs/{vnfinstid}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_vnfs_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/GetVnfResp" + } + }, + "404":{ + "description":"VNF not found" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfinstid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "description":"NS instance", + "type":"array", + "items":{ + "$ref":"#/definitions/_QueryNsResp" + } + } + }, + "404":{ + "description":"Ns instance does not exist" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_ns_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "204":{ + "description":"successful" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/heal":{ + "post":{ + "operationId":"api_nslcm_v1_ns_heal_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_HealNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_NsOperateJob" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/instantiate":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instantiate_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_InstantNsReq" + } + } + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_NsOperateJob" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/postdeal":{ + "post":{ + "operationId":"api_nslcm_v1_ns_postdeal_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_InstNsPostDealReq" + } + } + ], + "responses":{ + "202":{ + "description":"NS instant post deal success" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/scale":{ + "post":{ + "operationId":"api_nslcm_v1_ns_scale_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_ManualScaleNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_NsOperateJob" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/terminate":{ + "post":{ + "operationId":"api_nslcm_v1_ns_terminate_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/_TerminateNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_NsOperateJob" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{ns_instance_id}/update":{ + "post":{ + "operationId":"api_nslcm_v1_ns_update_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/UpdateNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/_NsOperateJob" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns/{vnfmid}/vnfs/{vnfInstanceId}/Notify":{ + "post":{ + "operationId":"api_nslcm_v1_ns_vnfs_Notify_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/NotifyLcmReq" + } + } + ], + "responses":{ + "201":{ + "description":"successful" + }, + "409":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfInstanceId", + "in":"path", + "required":true, + "type":"string" + }, + { + "name":"vnfmid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances":{ + "get":{ + "operationId":"api_nslcm_v1_ns_instances_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "description":"NS instances", + "type":"array", + "items":{ + "$ref":"#/definitions/NsInstance" + } + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v1_ns_instances_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/CreateNsRequest" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/NsInstance" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_instances_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/NsInstance" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_ns_instances_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "204":{ + "description":"HTTP_204_NO_CONTENT" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}/heal":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instances_heal_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/HealNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"HTTP_202_ACCEPTED" + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}/instantiate":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instances_instantiate_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/InstantNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"HTTP_202_ACCEPTED" + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}/scale":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instances_scale_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/ManualScaleNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"HTTP_202_ACCEPTED" + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}/terminate":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instances_terminate_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/TerminateNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"HTTP_202_ACCEPTED" + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_instances/{ns_instance_id}/update":{ + "post":{ + "operationId":"api_nslcm_v1_ns_instances_update_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/UpdateNsReq" + } + } + ], + "responses":{ + "202":{ + "description":"HTTP_202_ACCEPTED" + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"ns_instance_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/ns_lcm_op_occs":{ + "get":{ + "operationId":"api_nslcm_v1_ns_lcm_op_occs_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "type":"array", + "items":{ + "$ref":"#/definitions/NSLCMOpOcc" + } + } + }, + "400":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/ns_lcm_op_occs/{lcmopoccid}":{ + "get":{ + "operationId":"api_nslcm_v1_ns_lcm_op_occs_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/NSLCMOpOcc" + } + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"lcmopoccid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/pnfs":{ + "get":{ + "operationId":"api_nslcm_v1_pnfs_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "description":"Pnf instances", + "type":"array", + "items":{ + "description":"Pnf instances", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfInstance" + } + } + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v1_pnfs_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/PnfInstance" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/PnfInstance" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/pnfs/{pnf_id}":{ + "get":{ + "operationId":"api_nslcm_v1_pnfs_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "description":"Pnf instance", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfInstance" + } + } + }, + "404":{ + "description":"Pnf instance does not exist" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "delete":{ + "operationId":"api_nslcm_v1_pnfs_delete", + "description":"", + "parameters":[ + + ], + "responses":{ + "204":{ + "description":"successful" + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"pnf_id", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/subscriptions":{ + "get":{ + "operationId":"api_nslcm_v1_subscriptions_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "type":"array", + "items":{ + "$ref":"#/definitions/LccnSubscription" + } + } + }, + "400":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v1_subscriptions_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/LccnSubscriptionRequest" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/LccnSubscription" + } + }, + "303":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + }, + "500":{ + "description":"", + "schema":{ + "$ref":"#/definitions/ProblemDetails" + } + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/vims/(P{vimid}[0-9a-zA-Z_-]+)":{ + "get":{ + "operationId":"api_nslcm_v1_vims_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/VimInfoResp" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vimid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/vnfms/(P{vnfmid}[0-9a-zA-Z_-]+)":{ + "get":{ + "operationId":"api_nslcm_v1_vnfms_read", + "description":"", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"", + "schema":{ + "$ref":"#/definitions/VnfmInfoResp" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfmid", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/api/nslcm/v1/vnfonboarding":{ + "post":{ + "operationId":"api_nslcm_v1_vnfonboarding_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/VerifyVnfReq" + } + } + ], + "responses":{ + "202":{ + "description":"", + "schema":{ + "$ref":"#/definitions/VerifyVnfResp" + } + }, + "409":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v1/workflow":{ + "post":{ + "operationId":"api_nslcm_v1_workflow_create", + "description":"", + "parameters":[ + + ], + "responses":{ + "201":{ + "description":"" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v2/grants":{ + "post":{ + "operationId":"api_nslcm_v2_grants_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/GrantRequest" + } + } + ], + "responses":{ + "201":{ + "description":"", + "schema":{ + "$ref":"#/definitions/Grant" + } + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + + ] + }, + "/api/nslcm/v2/ns/{vnfmId}/vnfs/{vnfInstanceId}/Notify":{ + "get":{ + "operationId":"api_nslcm_v2_ns_vnfs_Notify_list", + "description":"", + "parameters":[ + + ], + "responses":{ + "204":{ + "description":"The notification endpoint was tested successfully." + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "post":{ + "operationId":"api_nslcm_v2_ns_vnfs_Notify_create", + "description":"", + "parameters":[ + { + "name":"data", + "in":"body", + "required":true, + "schema":{ + "$ref":"#/definitions/VnfLcmOperationOccurrenceNotification" + } + } + ], + "responses":{ + "204":{ + "description":"The notification was delivered successfully." + }, + "500":{ + "description":"Inner error" + } + }, + "tags":[ + "api" + ] + }, + "parameters":[ + { + "name":"vnfInstanceId", + "in":"path", + "required":true, + "type":"string" + }, + { + "name":"vnfmId", + "in":"path", + "required":true, + "type":"string" + } + ] + }, + "/samples/":{ + "get":{ + "operationId":"samples_list", + "description":"List all samples.", + "parameters":[ + + ], + "responses":{ + "200":{ + "description":"Status is active" + } + }, + "tags":[ + "samples" + ] + }, + "parameters":[ + + ] + } + }, + "definitions":{ + "JobHistory":{ + "description":"History of job", + "required":[ + "status", + "progress", + "responseId" + ], + "type":"object", + "properties":{ + "status":{ + "title":"Status", + "description":"Status of job", + "type":"string" + }, + "progress":{ + "title":"Progress", + "description":"Progress of job", + "type":"string" + }, + "statusDescription":{ + "title":"Statusdescription", + "description":"Description of job", + "type":"string" + }, + "errorCode":{ + "title":"Errorcode", + "description":"Error code of job", + "type":"string" + }, + "responseId":{ + "title":"Responseid", + "description":"Response index of job", + "type":"string" + } + } + }, + "JobDescriptor":{ + "title":"Responsedescriptor", + "description":"Descriptor of job", + "required":[ + "status", + "progress", + "responseId", + "responseHistoryList" + ], + "type":"object", + "properties":{ + "status":{ + "title":"Status", + "description":"Status of job", + "type":"string" + }, + "progress":{ + "title":"Progress", + "description":"Progress of job", + "type":"integer" + }, + "statusDescription":{ + "title":"Statusdescription", + "description":"Description of job", + "type":"string" + }, + "errorCode":{ + "title":"Errorcode", + "description":"Error code of job", + "type":"string" + }, + "responseId":{ + "title":"Responseid", + "description":"Response index of job", + "type":"string" + }, + "responseHistoryList":{ + "description":"History of job", + "type":"array", + "items":{ + "$ref":"#/definitions/JobHistory" + } + } + } + }, + "JobQueryResp":{ + "required":[ + "jobId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"UUID of job", + "type":"string" + }, + "responseDescriptor":{ + "$ref":"#/definitions/JobDescriptor" + } + } + }, + "JobUpdReq":{ + "required":[ + "progress" + ], + "type":"object", + "properties":{ + "progress":{ + "title":"Progress", + "description":"Progress of job", + "type":"string" + }, + "desc":{ + "title":"Desc", + "description":"Desc of job", + "type":"string" + }, + "errcode":{ + "title":"Errcode", + "description":"Error code of job", + "type":"string" + } + } + }, + "JobUpdResp":{ + "required":[ + "result" + ], + "type":"object", + "properties":{ + "result":{ + "title":"Result", + "description":"Result of job update", + "type":"string" + }, + "msg":{ + "title":"Msg", + "description":"Detail of job update", + "type":"string" + } + } + }, + "RecordCount":{ + "required":[ + "count" + ], + "type":"object", + "properties":{ + "count":{ + "title":"Count", + "description":"Count of record", + "type":"string" + } + } + }, + "_VnfInst":{ + "description":"VNF instances", + "required":[ + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"ID of VNF instance", + "type":"string" + }, + "vnfInstanceName":{ + "title":"Vnfinstancename", + "description":"Name of VNF instance", + "type":"string" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"ID of VNFD", + "type":"string" + } + } + }, + "PnfInstance":{ + "description":"PNF instances", + "required":[ + "pnfId", + "pnfName", + "pnfdId", + "pnfProfileId" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the PNF.", + "type":"string" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF.", + "type":"string" + }, + "pnfdId":{ + "title":"Pnfdid", + "description":"Identifier of the PNFD on which the PNF is based.", + "type":"string" + }, + "pnfdInfoId":{ + "title":"Pnfdinfoid", + "description":"Identifier of the PNFD information object related to this PNF.", + "type":"string" + }, + "pnfProfileId":{ + "title":"Pnfprofileid", + "description":"Identifier of the related PnfProfile in the NSD on which the PNF is based.", + "type":"string" + }, + "cpInfo":{ + "title":"Cpinfo", + "description":"Information on the external CP of the PNF.", + "type":"string" + } + } + }, + "_CpInstInfo":{ + "description":"Related CP instances", + "required":[ + "cpInstanceId" + ], + "type":"object", + "properties":{ + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"ID of CP instance", + "type":"string" + }, + "cpInstanceName":{ + "title":"Cpinstancename", + "description":"Name of CP instance", + "type":"string" + }, + "cpdId":{ + "title":"Cpdid", + "description":"ID of CPD", + "type":"string" + } + } + }, + "_VlInst":{ + "description":"VL instances", + "required":[ + "vlInstanceId", + "relatedCpInstanceId" + ], + "type":"object", + "properties":{ + "vlInstanceId":{ + "title":"Vlinstanceid", + "description":"ID of VL instance", + "type":"string" + }, + "vlInstanceName":{ + "title":"Vlinstancename", + "description":"Name of VL instance", + "type":"string" + }, + "vldId":{ + "title":"Vldid", + "description":"ID of VLD", + "type":"string" + }, + "relatedCpInstanceId":{ + "description":"Related CP instances", + "type":"array", + "items":{ + "$ref":"#/definitions/_CpInstInfo" + } + } + } + }, + "_VnffgInst":{ + "description":"VNFFG instances", + "required":[ + "vnffgInstanceId" + ], + "type":"object", + "properties":{ + "vnffgInstanceId":{ + "title":"Vnffginstanceid", + "description":"ID of VNFFG instance", + "type":"string" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"ID of VNFD", + "type":"string" + }, + "pnfId":{ + "title":"Pnfid", + "description":"ID of PNF", + "type":"string" + }, + "virtualLinkId":{ + "title":"Virtuallinkid", + "description":"ID of virtual link", + "type":"string" + }, + "cpdId":{ + "title":"Cpdid", + "description":"ID of CPD", + "type":"string" + }, + "nfp":{ + "title":"Nfp", + "description":"nfp", + "type":"string" + } + } + }, + "_QueryNsResp":{ + "description":"NS instances", + "required":[ + "nsInstanceId", + "nsdId" + ], + "type":"object", + "properties":{ + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + }, + "nsName":{ + "title":"Nsname", + "description":"Name of NS instance", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Description of NS instance", + "type":"string" + }, + "nsdId":{ + "title":"Nsdid", + "description":"ID of NSD", + "type":"string" + }, + "vnfInfo":{ + "description":"VNF instances", + "type":"array", + "items":{ + "$ref":"#/definitions/_VnfInst" + } + }, + "pnfInfo":{ + "description":"PNF instances", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfInstance" + } + }, + "vlInfo":{ + "description":"VL instances", + "type":"array", + "items":{ + "$ref":"#/definitions/_VlInst" + } + }, + "vnffgInfo":{ + "description":"VNFFG instances", + "type":"array", + "items":{ + "$ref":"#/definitions/_VnffgInst" + } + }, + "nsState":{ + "title":"Nsstate", + "description":"State of NS instance", + "type":"string" + } + } + }, + "_Context":{ + "title":"Context", + "description":"Context of NS", + "type":"object", + "properties":{ + "globalCustomerId":{ + "title":"Globalcustomerid", + "description":"Global customer ID", + "type":"string" + }, + "serviceType":{ + "title":"Servicetype", + "description":"Service type", + "type":"string" + } + } + }, + "_CreateNsReq":{ + "type":"object", + "properties":{ + "csarId":{ + "title":"Csarid", + "description":"Package ID of NS", + "type":"string" + }, + "nsName":{ + "title":"Nsname", + "description":"Name of NS", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Description of NS", + "type":"string" + }, + "context":{ + "$ref":"#/definitions/_Context" + } + } + }, + "_CreateNsResp":{ + "required":[ + "nsInstanceId" + ], + "type":"object", + "properties":{ + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + } + } + }, + "CreateFlowCla":{ + "type":"object", + "properties":{ + "fpinstid":{ + "title":"Fpinstid", + "description":"ID of FP instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of NS instance", + "type":"string" + } + } + }, + "CreatePortChain":{ + "type":"object", + "properties":{ + "fpinstid":{ + "title":"Fpinstid", + "description":"ID of FP instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of NS instance", + "type":"string" + } + } + }, + "CreatePortPairGp":{ + "type":"object", + "properties":{ + "fpinstid":{ + "title":"Fpinstid", + "description":"ID of FP instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of NS instance", + "type":"string" + }, + "nsinstanceid":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + } + } + }, + "ResourceChange":{ + "description":"Add resources", + "required":[ + "type" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"Change Type", + "type":"string", + "enum":[ + "VDU" + ] + }, + "resourceDefinitionId":{ + "title":"Resourcedefinitionid", + "description":"Identifier of resource", + "type":"string" + }, + "vdu":{ + "title":"Vdu", + "description":"Identifier identifier of VDU", + "type":"string" + } + } + }, + "GrantVnfReq":{ + "required":[ + "vnfInstanceId", + "lifecycleOperation", + "addResource", + "removeResource" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"ID of VNF instance", + "type":"string" + }, + "vnfDescriptorId":{ + "title":"Vnfdescriptorid", + "description":"ID of VNF Descriptor", + "type":"string" + }, + "lifecycleOperation":{ + "title":"Lifecycleoperation", + "description":"Lifecycle Operation", + "type":"string", + "enum":[ + "Terminate", + "Instantiate", + "Scalein", + "Scaleout", + "Scaledown", + "Scaleup", + "Heal" + ] + }, + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + }, + "addResource":{ + "description":"Add resources", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceChange" + } + }, + "removeResource":{ + "description":"Remove resources", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceChange" + } + }, + "additionalParam":{ + "title":"Additionalparam", + "description":"Additional parameters passed to the NFVO, specific to the VNF and the LCM operation. The currently interpreted keys are the following: vimId", + "type":"object", + "additionalProperties":{ + "description":"Additional parameters", + "type":"string" + } + } + } + }, + "Accessinfo":{ + "title":"Accessinfo", + "description":"Access Info", + "required":[ + "tenant" + ], + "type":"object", + "properties":{ + "tenant":{ + "title":"Tenant", + "description":"Name of tenant", + "type":"string" + } + } + }, + "Vim":{ + "title":"Vim", + "description":"VIM Info", + "required":[ + "vimid" + ], + "type":"object", + "properties":{ + "vimid":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + }, + "accessinfo":{ + "$ref":"#/definitions/Accessinfo" + }, + "accessInfo":{ + "$ref":"#/definitions/Accessinfo" + } + } + }, + "GrantVnfResp":{ + "required":[ + "vim" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"ID of VNF instance", + "type":"string" + }, + "vim":{ + "$ref":"#/definitions/Vim" + } + } + }, + "ScaleVnfData":{ + "title":"Scalevnfdata", + "description":"Scale data", + "required":[ + "type" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"Direction of the scaling", + "type":"string", + "enum":[ + "SCALE_IN", + "SCALE_OUT" + ] + }, + "aspectId":{ + "title":"Aspectid", + "description":"Aspect ID of the VNF that is requested to be scaled", + "type":"string" + }, + "numberOfSteps":{ + "title":"Numberofsteps", + "description":"Number of scaling steps to be executed as part of this ScaleVnf operation", + "type":"string" + }, + "additionalParam":{ + "title":"Additionalparam", + "description":"Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled", + "type":"object", + "additionalProperties":{ + "description":"Additional parameters", + "type":"string" + } + } + } + }, + "ScaleVnfReq":{ + "required":[ + "scaleVnfData" + ], + "type":"object", + "properties":{ + "scaleVnfData":{ + "$ref":"#/definitions/ScaleVnfData" + } + } + }, + "ScaleVnfResp":{ + "required":[ + "jobId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + } + } + }, + "Candidate":{ + "title":"Solution", + "description":"The Placement Solution", + "required":[ + "identifierType", + "identifiers" + ], + "type":"object", + "properties":{ + "identifierType":{ + "title":"Identifiertype", + "description":"The type of a candidate", + "type":"string", + "enum":[ + "serviceInstanceId", + "vnfName", + "cloudRegionId", + "vimId" + ] + }, + "identifiers":{ + "description":"A list of identifiers", + "type":"array", + "items":{ + "description":"One identifier", + "type":"string" + } + }, + "cloudOwner":{ + "title":"Cloudowner", + "description":"The name of a cloud owner. Only required if identifier Type is cloudRegionId", + "type":"string" + } + } + }, + "AssignmentInfo":{ + "description":"Additonal information related to a candidate", + "required":[ + "key", + "value" + ], + "type":"object", + "properties":{ + "key":{ + "title":"Key", + "description":"Any attribute Key needed", + "type":"string" + }, + "value":{ + "title":"Value", + "description":"Attribute value for that key", + "type":"string" + } + } + }, + "PlacementSolution":{ + "description":"A list of placement solutions", + "required":[ + "resourceModuleName", + "serviceResourceId", + "solution" + ], + "type":"object", + "properties":{ + "resourceModuleName":{ + "title":"Resourcemodulename", + "description":"Name of Resource as defined in the Service Model", + "type":"string" + }, + "serviceResourceId":{ + "title":"Serviceresourceid", + "description":"Resource Id defined in the Service Model", + "type":"string" + }, + "solution":{ + "$ref":"#/definitions/Candidate" + }, + "assignmentInfo":{ + "description":"Additonal information related to a candidate", + "type":"array", + "items":{ + "$ref":"#/definitions/AssignmentInfo" + } + } + } + }, + "LicenseSolution":{ + "description":"A list of License Solutions", + "required":[ + "resourceModuleName", + "serviceResourceId", + "entitlementPoolUUID", + "licenseKeyGroupUUID", + "entitlementPoolInvariantUUID", + "licenseKeyGroupInvariantUUID" + ], + "type":"object", + "properties":{ + "resourceModuleName":{ + "title":"Resourcemodulename", + "description":"Name of Resource as defined in the Service Model", + "type":"string" + }, + "serviceResourceId":{ + "title":"Serviceresourceid", + "description":"Resource Id defined in the Service Model", + "type":"string" + }, + "entitlementPoolUUID":{ + "description":"A list of entitlementPoolUUIDs", + "type":"array", + "items":{ + "description":"entitlementPoolUUID", + "type":"string" + } + }, + "licenseKeyGroupUUID":{ + "description":"A list of licenseKeyGroupUUID", + "type":"array", + "items":{ + "description":"licenseKeyGroupUUID", + "type":"string" + } + }, + "entitlementPoolInvariantUUID":{ + "description":"A list of entitlementPoolInvariantUUIDs", + "type":"array", + "items":{ + "description":"entitlementPoolInvariantUUID", + "type":"string" + } + }, + "licenseKeyGroupInvariantUUID":{ + "description":"A list of licenseKeyGroupInvariantUUID", + "type":"array", + "items":{ + "description":"licenseKeyGroupInvariantUUID", + "type":"string" + } + } + } + }, + "Solution":{ + "title":"Solutions", + "description":"Request Solutions", + "required":[ + "placementSolutions" + ], + "type":"object", + "properties":{ + "placementSolutions":{ + "description":"A list of Placement Solutions", + "type":"array", + "items":{ + "description":"A list of Placement Solutions", + "type":"array", + "items":{ + "$ref":"#/definitions/PlacementSolution" + } + } + }, + "licenseSolutions":{ + "description":"A list of License Solutions", + "type":"array", + "items":{ + "$ref":"#/definitions/LicenseSolution" + } + } + } + }, + "PlaceVnfReq":{ + "required":[ + "requestId", + "transactionId", + "requestStatus", + "solutions" + ], + "type":"object", + "properties":{ + "requestId":{ + "title":"Requestid", + "description":"ID of Homing Request", + "type":"string" + }, + "transactionId":{ + "title":"Transactionid", + "description":"ID of Homing Transaction", + "type":"string" + }, + "statusMessage":{ + "title":"Statusmessage", + "description":"Status Message of Request", + "type":"string" + }, + "requestStatus":{ + "title":"Requeststatus", + "description":"The Status of a Request", + "type":"string", + "enum":[ + "completed", + "failed", + "pending" + ] + }, + "solutions":{ + "$ref":"#/definitions/Solution" + } + } + }, + "CreateSfcInstReq":{ + "required":[ + "fpindex" + ], + "type":"object", + "properties":{ + "fpindex":{ + "title":"Fpindex", + "description":"Index of FP", + "type":"string" + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of NS instance", + "type":"string" + }, + "sdnControllerId":{ + "title":"Sdncontrollerid", + "description":"ID of SDN controller", + "type":"string" + } + } + }, + "CreateSfcInstResp":{ + "required":[ + "fpinstid" + ], + "type":"object", + "properties":{ + "fpinstid":{ + "title":"Fpinstid", + "description":"ID of FP instance", + "type":"string" + } + } + }, + "CreateSfcReq":{ + "required":[ + "fpindex" + ], + "type":"object", + "properties":{ + "fpindex":{ + "title":"Fpindex", + "description":"Index of FP", + "type":"string" + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of NS instance", + "type":"string" + }, + "sdnControllerId":{ + "title":"Sdncontrollerid", + "description":"ID of SDN controller", + "type":"string" + } + } + }, + "CreateSfcResp":{ + "required":[ + "jobId", + "sfcInstId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"ID of job", + "type":"string" + }, + "sfcInstId":{ + "title":"Sfcinstid", + "description":"ID of SFC instance", + "type":"string" + } + } + }, + "GetSfcResp":{ + "required":[ + "sfcInstId", + "sfcName", + "sfcStatus" + ], + "type":"object", + "properties":{ + "sfcInstId":{ + "title":"Sfcinstid", + "description":"ID of SFC instance", + "type":"string" + }, + "sfcName":{ + "title":"Sfcname", + "description":"Name of SFC instance", + "type":"string" + }, + "sfcStatus":{ + "title":"Sfcstatus", + "description":"Status of SFC instance", + "type":"string" + } + } + }, + "DeleteSfcResp":{ + "required":[ + "result" + ], + "type":"object", + "properties":{ + "result":{ + "title":"Result", + "description":"Delete SFC result(0: success, 1: failed)", + "type":"string" + }, + "detail":{ + "title":"Detail", + "description":"Result detail", + "type":"string" + } + } + }, + "TerminateVnfReq":{ + "type":"object", + "properties":{ + "terminationType":{ + "title":"Terminationtype", + "description":"Termination Type", + "type":"string" + }, + "gracefulTerminationTimeout":{ + "title":"Gracefulterminationtimeout", + "description":"Graceful Termination Timeout", + "type":"string" + } + } + }, + "TerminateVnfResp":{ + "required":[ + "jobId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + } + } + }, + "CreateVlReq":{ + "required":[ + "vlIndex" + ], + "type":"object", + "properties":{ + "vlIndex":{ + "title":"Vlindex", + "description":"Index of VL instance", + "type":"string" + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + }, + "context":{ + "title":"Context", + "description":"Context of VL instance", + "type":"string" + }, + "additionalParamForNs":{ + "title":"Additionalparamforns", + "description":"Additional param for NS", + "type":"string" + } + } + }, + "CreateVlResp":{ + "required":[ + "result", + "vlId" + ], + "type":"object", + "properties":{ + "result":{ + "title":"Result", + "description":"VL create result(0: success, 1: failed)", + "type":"integer" + }, + "detail":{ + "title":"Detail", + "description":"Detail of result", + "type":"string" + }, + "vlId":{ + "title":"Vlid", + "description":"ID of VL instance", + "type":"string" + } + } + }, + "GetVlResp":{ + "type":"object", + "properties":{ + "vlId":{ + "title":"Vlid", + "description":"ID of VL instance", + "type":"string" + }, + "vlName":{ + "title":"Vlname", + "description":"Name of VL instance", + "type":"string" + }, + "vlStatus":{ + "title":"Vlstatus", + "description":"Status of VL instance", + "type":"string" + } + } + }, + "DeleteVlResp":{ + "required":[ + "result" + ], + "type":"object", + "properties":{ + "result":{ + "title":"Result", + "description":"VL delete result(0: success)", + "type":"integer" + }, + "detail":{ + "title":"Detail", + "description":"Detail of result", + "type":"string" + } + } + }, + "InstVnfReq":{ + "required":[ + "vnfIndex", + "nsInstanceId" + ], + "type":"object", + "properties":{ + "vnfIndex":{ + "title":"Vnfindex", + "description":"Index of VNF", + "type":"string" + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"ID of NS instance", + "type":"string" + }, + "additionalParamForVnf":{ + "title":"Additionalparamforvnf", + "description":"Additional param for VNF", + "type":"string" + } + } + }, + "InstVnfResp":{ + "required":[ + "vnfInstId", + "jobId" + ], + "type":"object", + "properties":{ + "vnfInstId":{ + "title":"Vnfinstid", + "description":"ID of VNF instance", + "type":"string" + }, + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + } + } + }, + "VnfVms":{ + "description":"VMs of VNF", + "required":[ + "vmID" + ], + "type":"object", + "properties":{ + "vmID":{ + "title":"Vmid", + "description":"ID of VM", + "type":"string" + }, + "vmName":{ + "title":"Vmname", + "description":"Name of VM", + "type":"string" + } + } + }, + "GetVnfResp":{ + "required":[ + "vnfInstId", + "vnfName", + "vnfStatus", + "vnfVms" + ], + "type":"object", + "properties":{ + "vnfInstId":{ + "title":"Vnfinstid", + "description":"ID of VNF instance", + "type":"string" + }, + "vnfName":{ + "title":"Vnfname", + "description":"Name of VNF instance", + "type":"string" + }, + "vnfStatus":{ + "title":"Vnfstatus", + "description":"Status of VNF instance", + "type":"string" + }, + "vnfVms":{ + "description":"VMs of VNF", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfVms" + } + } + } + }, + "_ActionVm":{ + "title":"Actionvminfo", + "description":"VM info of action", + "type":"object", + "properties":{ + "vmid":{ + "title":"Vmid", + "description":"ID of VM", + "type":"string" + }, + "vduid":{ + "title":"Vduid", + "description":"ID of vdu", + "type":"string" + }, + "vmname":{ + "title":"Vmname", + "description":"Name of VM", + "type":"string" + } + } + }, + "_HealNsAdditionalParams":{ + "title":"Additionalparams", + "description":"Additional params of NS heal", + "type":"object", + "properties":{ + "action":{ + "title":"Action", + "description":"Action of NS heal", + "type":"string" + }, + "actionvminfo":{ + "$ref":"#/definitions/_ActionVm" + } + } + }, + "_HealVnfData":{ + "title":"Healvnfdata", + "description":"Data of heal VNF", + "required":[ + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"ID of VNF Instance", + "type":"string" + }, + "cause":{ + "title":"Cause", + "description":"Cause of NS heal", + "type":"string" + }, + "additionalParams":{ + "$ref":"#/definitions/_HealNsAdditionalParams" + } + } + }, + "_HealNsData":{ + "title":"Healnsdata", + "description":"Data of heal NS", + "required":[ + "degreeHealing" + ], + "type":"object", + "properties":{ + "degreeHealing":{ + "title":"Degreehealing", + "description":"degree of healing", + "type":"string", + "enum":[ + "HEAL_RESTORE", + "HEAL_QOS", + "HEAL_RESET", + "PARTIAL_HEALING" + ] + }, + "actionsHealing":{ + "description":"A list of actions", + "type":"array", + "items":{ + "description":"One action", + "type":"string" + } + }, + "healScript":{ + "title":"Healscript", + "description":"script of NS heal", + "type":"string" + }, + "additionalParamsforNs":{ + "title":"Additionalparamsforns", + "description":"Addition params of NS heal", + "type":"string" + } + } + }, + "_HealNsReq":{ + "type":"object", + "properties":{ + "healVnfData":{ + "$ref":"#/definitions/_HealVnfData" + }, + "healNsData":{ + "$ref":"#/definitions/_HealNsData" + } + } + }, + "_NsOperateJob":{ + "required":[ + "jobId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"ID of NS operate job", + "type":"string" + } + } + }, + "_VnfLocation":{ + "title":"Locationconstraints", + "description":"Location constraint", + "type":"object", + "properties":{ + "vimId":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + } + } + }, + "_LocationConstraint":{ + "description":"Location constraints", + "type":"object", + "properties":{ + "vnfProfileId":{ + "title":"Vnfprofileid", + "description":"ID of VNF profile", + "type":"string" + }, + "locationConstraints":{ + "$ref":"#/definitions/_VnfLocation" + } + } + }, + "_AddressRange":{ + "title":"Addressrange", + "description":"An IP address range to be used.", + "required":[ + "minAddress", + "maxAddress" + ], + "type":"object", + "properties":{ + "minAddress":{ + "title":"Minaddress", + "description":"Lowest IP address belonging to the range.", + "type":"string" + }, + "maxAddress":{ + "title":"Maxaddress", + "description":"Highest IP address belonging to the range.", + "type":"string" + } + } + }, + "_IpAddress":{ + "description":"List of IP addresses to assign to the extCP instance.", + "required":[ + "type" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"The type of the IP addresses.", + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses":{ + "type":"array", + "items":{ + "description":"Fixed addresses to assign.", + "type":"string" + } + }, + "numDynamicAddresses":{ + "title":"Numdynamicaddresses", + "description":"Number of dynamic addresses to assign.", + "type":"integer" + }, + "addressRange":{ + "$ref":"#/definitions/_AddressRange" + }, + "subnetId":{ + "title":"Subnetid", + "description":"Subnet defined by the identifier of the subnet resource in the VIM.", + "type":"string" + } + } + }, + "_IpOverEthernet":{ + "title":"Ipoverethernet", + "description":"IP addresses over Ethernet to assign to the extCP instance.", + "type":"object", + "properties":{ + "macAddress":{ + "title":"Macaddress", + "description":"MAC address.", + "type":"string" + }, + "ipAddresses":{ + "description":"List of IP addresses to assign to the extCP instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/_IpAddress" + } + } + } + }, + "_CpProtocolInfo":{ + "description":"Address assigned for this CP", + "required":[ + "layerProtocol" + ], + "type":"object", + "properties":{ + "layerProtocol":{ + "title":"Layerprotocol", + "description":"The identifier of layer(s) and protocol(s) associated to the network address information.", + "type":"string", + "enum":[ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet":{ + "$ref":"#/definitions/_IpOverEthernet" + } + } + }, + "_PnfExtCpData":{ + "description":"Address assigned for the PNF external CP", + "required":[ + "cpProtocolData" + ], + "type":"object", + "properties":{ + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the CP", + "type":"string" + }, + "cpdId":{ + "title":"Cpdid", + "description":"Identifier of the Connection Point Descriptor", + "type":"string" + }, + "cpProtocolData":{ + "description":"Address assigned for this CP", + "type":"array", + "items":{ + "$ref":"#/definitions/_CpProtocolInfo" + } + } + } + }, + "_AddPnfData":{ + "description":"Information on the PNF", + "required":[ + "pnfId", + "pnfName", + "pnfdId", + "pnfProfileId" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the PNF", + "type":"string" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF", + "type":"string" + }, + "pnfdId":{ + "title":"Pnfdid", + "description":"Identifier of the PNFD", + "type":"string" + }, + "pnfProfileId":{ + "title":"Pnfprofileid", + "description":"Identifier of related PnfProfile in the NSD", + "type":"string" + }, + "cpData":{ + "description":"Address assigned for the PNF external CP", + "type":"array", + "items":{ + "$ref":"#/definitions/_PnfExtCpData" + } + } + } + }, + "_InstantNsReq":{ + "type":"object", + "properties":{ + "locationConstraints":{ + "description":"Location constraints", + "type":"array", + "items":{ + "$ref":"#/definitions/_LocationConstraint" + } + }, + "additionalParamForNs":{ + "title":"Additionalparamforns", + "description":"Additional param for NS", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "addpnfData":{ + "description":"Information on the PNF", + "type":"array", + "items":{ + "$ref":"#/definitions/_AddPnfData" + } + } + } + }, + "_InstNsPostDealReq":{ + "description":"NS instant post deal", + "required":[ + "status" + ], + "type":"object", + "properties":{ + "status":{ + "title":"Status", + "description":"Status of NS Inst", + "type":"string" + } + } + }, + "_ScaleNsBySteps":{ + "description":"Scale NS by steps data", + "required":[ + "aspectId", + "numberOfSteps", + "scalingDirection" + ], + "type":"object", + "properties":{ + "aspectId":{ + "title":"Aspectid", + "description":"ID of aspect", + "type":"string" + }, + "numberOfSteps":{ + "title":"Numberofsteps", + "description":"Number of steps", + "type":"string" + }, + "scalingDirection":{ + "title":"Scalingdirection", + "description":"Scaling direction", + "type":"string" + } + } + }, + "_ScaleNsData":{ + "description":"Scale NS data", + "required":[ + "scaleNsByStepsData" + ], + "type":"object", + "properties":{ + "scaleNsByStepsData":{ + "description":"Scale NS by steps data", + "type":"array", + "items":{ + "$ref":"#/definitions/_ScaleNsBySteps" + } + } + } + }, + "_ManualScaleNsReq":{ + "description":"NS manual scale", + "required":[ + "scaleType", + "scaleNsData" + ], + "type":"object", + "properties":{ + "scaleType":{ + "title":"Scaletype", + "description":"Type of NS Scale", + "type":"string" + }, + "scaleNsData":{ + "description":"Scale NS data", + "type":"array", + "items":{ + "$ref":"#/definitions/_ScaleNsData" + } + } + } + }, + "_TerminateNsReq":{ + "type":"object", + "properties":{ + "terminationType":{ + "title":"Terminationtype", + "description":"Type of NS termination", + "type":"string" + }, + "gracefulTerminationTimeout":{ + "title":"Gracefulterminationtimeout", + "description":"Timeout of NS graceful termination", + "type":"string" + } + } + }, + "VnfInstanceData":{ + "description":"Data of vnf instance", + "required":[ + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Specify the target NS instance where the VNF instances are moved to", + "type":"string" + }, + "vnfProfileId":{ + "title":"Vnfprofileid", + "description":"Specify the VNF instance that is moved.", + "type":"string" + } + } + }, + "InstantiateVnfData":{ + "description":"Data of vnf instance", + "required":[ + "vnfdId", + "vnfFlavourId" + ], + "type":"object", + "properties":{ + "vnfdId":{ + "title":"Vnfdid", + "description":"Information sufficient to identify the VNFD which defines the VNF to be instantiated. ", + "type":"string" + }, + "vnfFlavourId":{ + "title":"Vnfflavourid", + "description":"Identifier of the VNF deployment flavour to be instantiated.", + "type":"string" + }, + "vnfInstantiationLevelId":{ + "title":"Vnfinstantiationlevelid", + "description":"Identifier of the instantiation level of the deployment flavour to be instantiated. ", + "type":"string" + }, + "vnfInstanceName":{ + "title":"Vnfinstancename", + "description":"Human-readable name of the VNF instance to be created.", + "type":"string" + } + } + }, + "AddressRange":{ + "title":"Addressrange", + "description":"An IP address range to be used.", + "required":[ + "minAddress", + "maxAddress" + ], + "type":"object", + "properties":{ + "minAddress":{ + "title":"Minaddress", + "description":"Lowest IP address belonging to the range.", + "type":"string" + }, + "maxAddress":{ + "title":"Maxaddress", + "description":"Highest IP address belonging to the range.", + "type":"string" + } + } + }, + "IpAddressesDataSerialzier":{ + "description":"List of IP addresses to assign to the extCP instance.", + "required":[ + "type", + "fixedAddresses" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"The type of the IP addresses.", + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses":{ + "type":"array", + "items":{ + "description":"Fixed addresses to assign.", + "type":"string" + } + }, + "numDynamicAddresses":{ + "title":"Numdynamicaddresses", + "description":"Number of dynamic addresses to assign.", + "type":"integer" + }, + "addressRange":{ + "$ref":"#/definitions/AddressRange" + }, + "subnetId":{ + "title":"Subnetid", + "description":"Subnet defined by the identifier of the subnet resource in the VIM.", + "type":"string" + } + } + }, + "IpOverEthernetAddressData":{ + "title":"Ipoverethernet", + "description":"Network address data for IP over Ethernetto assign to the extCP instance.", + "type":"object", + "properties":{ + "macAddress":{ + "title":"Macaddress", + "description":"Mac address", + "type":"string" + }, + "ipAddresses":{ + "description":"List of IP addresses to assign to the extCP instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/IpAddressesDataSerialzier" + } + } + } + }, + "CpProtocolData":{ + "description":"This type represents network protocol data.", + "required":[ + "layerProtocol" + ], + "type":"object", + "properties":{ + "layerProtocol":{ + "title":"Layerprotocol", + "description":"Identifier of layer(s) and protocol(s)", + "type":"string", + "enum":[ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet":{ + "$ref":"#/definitions/IpOverEthernetAddressData" + } + } + }, + "VnfExtCpConfig":{ + "description":"Config of vnf ext cp", + "type":"object", + "properties":{ + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the external CP instance to which this set of configuration parameters is requested to be applied.", + "type":"string" + }, + "linkPortId":{ + "title":"Linkportid", + "description":"Identifier of a pre-conFigured link port to which the external CP will be associated.", + "type":"string" + }, + "cpProtocolData":{ + "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolData" + } + } + } + }, + "VnfExtCpData":{ + "description":"External CPs of the VNF to be connected to this external VL.", + "required":[ + "cpdId" + ], + "type":"object", + "properties":{ + "cpdId":{ + "title":"Cpdid", + "description":"The identifier of the CPD in the VNFD.", + "type":"string" + }, + "cpConfig":{ + "description":"List of instance data that need to be conFigured on the CP instances created from the respective CPD.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfExtCpConfig" + } + } + } + }, + "ResourceHandle":{ + "title":"Resourcehandle", + "description":"Identifier(s) of the virtualised network resource(s) realizing the VL instance", + "required":[ + "resourceId" + ], + "type":"object", + "properties":{ + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to manage the resource.", + "type":"string", + "maxLength":255 + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifier of the entity responsible for the management of the resource.", + "type":"string", + "maxLength":255 + }, + "resourceId":{ + "title":"Resourceid", + "description":"Identifier of the resource in the scope of the VIM or the resource provider.", + "type":"string", + "maxLength":255 + }, + "vimLevelResourceType":{ + "title":"Vimlevelresourcetype", + "description":"String, type of the resource in the scope of the VIM or the resource provider.", + "type":"string", + "maxLength":255 + } + } + }, + "ExtLinkPortData":{ + "description":"This type represents an externallyprovided link port to be used to connect a VNF external connection point to an external VL", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Provided by the entity that has created the link port", + "type":"string" + }, + "resourceHandle":{ + "$ref":"#/definitions/ResourceHandle" + } + } + }, + "ExtVirtualLinkData":{ + "description":"This type represents an external VL", + "required":[ + "resourceId" + ], + "type":"object", + "properties":{ + "extVirtualLinkId":{ + "title":"Extvirtuallinkid", + "description":"The identifier of the external VL instance, if provided. ", + "type":"string" + }, + "vimId":{ + "title":"Vimid", + "description":"Identifier of the VIM that manages this resource.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of this resource.", + "type":"string" + }, + "resourceId":{ + "title":"Resourceid", + "description":"The identifier of the resource in the scope of the VIM or the resource provider.", + "type":"string" + }, + "extCps":{ + "type":"array", + "items":{ + "$ref":"#/definitions/VnfExtCpData" + } + }, + "extLinkPorts":{ + "description":"Externally provided link ports to be used to connect external connection points to this external VL. ", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtLinkPortData" + } + } + } + }, + "ExtManagedVirtualLinkData":{ + "description":"This type represents an externally-managed internalVL.", + "required":[ + "virtualLinkDescId", + "resourceId" + ], + "type":"object", + "properties":{ + "extManagedVirtualLinkId":{ + "title":"Extmanagedvirtuallinkid", + "description":"The identifier of the externally-managed internal VL instance,if provided.", + "type":"string" + }, + "virtualLinkDescId":{ + "title":"Virtuallinkdescid", + "description":"The identifier of the VLD in the VNFD for this VL.", + "type":"string" + }, + "vimId":{ + "title":"Vimid", + "description":"Identifier of the VIMthat manage this resource.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management ofthis resource.", + "type":"string" + }, + "resourceId":{ + "title":"Resourceid", + "description":"The identifier of the resource in the scope of the VIM orthe resource provider.", + "type":"string" + } + } + }, + "ChangeVnfFlavourDataSerizlizer":{ + "description":"The type represents the information that is requested to be changed deployment flavour for an existing VNF instance.", + "required":[ + "vnfInstanceId", + "newFlavourId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance to be modified.", + "type":"string" + }, + "newFlavourId":{ + "title":"Newflavourid", + "description":"Identifier of the VNF deployment flavour to be instantiated.", + "type":"string" + }, + "instantiationLevelId":{ + "title":"Instantiationlevelid", + "description":"Identifier of the instantiation level of the deployment flavour to be instantiated.", + "type":"string" + }, + "extVirtualLinks":{ + "description":"Information about external VLs to connect the VNF to.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtVirtualLinkData" + } + }, + "extManagedVirtualLinks":{ + "description":"Information about internal VLs that are managed by NFVO", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtManagedVirtualLinkData" + } + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Additional input parameters for the flavour change process", + "type":"string" + } + } + }, + "OperationalStates":{ + "title":"Changestateto", + "description":"The desired operational state to change the VNF to.", + "required":[ + "OperationalStates" + ], + "type":"object", + "properties":{ + "OperationalStates":{ + "title":"Operationalstates", + "description":"State of operation", + "type":"string", + "enum":[ + "STARTED", + "STOPPED" + ] + } + } + }, + "StopType":{ + "title":"Stoptype", + "description":"It signals whether forceful or graceful stop is requested.", + "required":[ + "StopType" + ], + "type":"object", + "properties":{ + "StopType":{ + "title":"Stoptype", + "description":"Type of stop", + "type":"string", + "enum":[ + "FORCEFUL", + "GRACEFUL" + ] + } + } + }, + "OperateVnfData":{ + "description":"This type represents a VNF instance for which the operational state needs to be changed and the requested new state", + "required":[ + "vnfInstanceId", + "changeStateTo" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance.", + "type":"string" + }, + "changeStateTo":{ + "$ref":"#/definitions/OperationalStates" + }, + "stopType":{ + "$ref":"#/definitions/StopType" + }, + "gracefulStopTimeout":{ + "title":"Gracefulstoptimeout", + "description":"The time interval to wait for the VNF to be taken out ofservice during graceful stop.", + "type":"string" + } + } + }, + "ModifyVnfInfoData":{ + "description":"This type represents the information that is requested to be modified for a VNF instance. ", + "required":[ + "vnfInstanceId", + "vnfPkgId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance.", + "type":"string", + "format":"uuid" + }, + "vnfInstanceName":{ + "title":"Vnfinstancename", + "description":"New value of the 'vnfInstanceName' attribute in 'VnfInstance', or 'null' to remove the attribute.", + "type":"string", + "maxLength":255 + }, + "vnfInstanceDescription":{ + "title":"Vnfinstancedescription", + "description":"If present, this attribute signals modifications of the 'vnfInstanceDescription' attribute in 'VnfInstance'", + "type":"string" + }, + "vnfPkgId":{ + "title":"Vnfpkgid", + "description":"New value of the 'vnfPkgId' attribute in 'VnfInstance' The value 'null' is not permitted..", + "type":"string", + "format":"uuid" + }, + "vnfConfigurableProperties":{ + "title":"Vnfconfigurableproperties", + "description":"Modifications to entries in the 'vnfConfigurableProperties' list, as defined below this Table.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "metaData":{ + "title":"Metadata", + "description":"If present, this attribute signals modifications of certain 'metadata' attribute in 'vnfInstance'.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "extensions":{ + "title":"Extensions", + "description":"If present,this attribute signals modifications of certain 'extensions' attribute in 'vnfInstance'.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "ChangeExtVnfConnectivityData":{ + "description":"This type describes the information invoked bythe NFVO to change the external VNF connectivity information maintained by the VNFM.", + "required":[ + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance.", + "type":"string" + }, + "extVirtualLinks":{ + "description":"Information about external VLs to change", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtVirtualLinkData" + } + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Additional parameters passed by the OSS as input to the external connectivity change process", + "type":"string" + } + } + }, + "SapData":{ + "description":"This type represents the information related to a SAP of a NS", + "required":[ + "sapdId", + "sapName", + "description" + ], + "type":"object", + "properties":{ + "sapdId":{ + "title":"Sapdid", + "description":"Reference to the SAPD for this SAP.", + "type":"string" + }, + "sapName":{ + "title":"Sapname", + "description":"Human readable name for the SAP.", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Human readable description for the SAP. ", + "type":"string" + }, + "sapProtocolData":{ + "description":"Parameters for configuring the network protocols on the SAP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolData" + } + } + } + }, + "AssocNewNsdVersionData":{ + "title":"Assocnewnsdversiondata", + "description":"Specify the new NSD to be used for the NS instance.", + "required":[ + "newNsdId" + ], + "type":"object", + "properties":{ + "newNsdId":{ + "title":"Newnsdid", + "description":"Identifier of the new NSD version that is to be associated to the NS instance. ", + "type":"string" + } + } + }, + "MoveVnfInstanceData":{ + "required":[ + "targetNsInstanceId" + ], + "type":"object", + "properties":{ + "targetNsInstanceId":{ + "title":"Targetnsinstanceid", + "description":"Specify the target NS instance where the VNF instances are moved to.", + "type":"string" + }, + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Specify the VNF instance that is moved.", + "type":"string" + } + } + }, + "NsCpHandle":{ + "description":"This type represents an identifier of the CP or SAP instance.", + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance associated to the CPinstance.", + "type":"string" + }, + "vnfExtCpInstanceId":{ + "title":"Vnfextcpinstanceid", + "description":"Identifier of the VNF external CP instance in thescope of the VNF instance.", + "type":"string" + }, + "pnfInfoId":{ + "title":"Pnfinfoid", + "description":"Identifier of the PNF instance associated to the CPinstance.", + "type":"string" + }, + "pnfExtCpInstanceId":{ + "title":"Pnfextcpinstanceid", + "description":"Identifier of the PNF external CP instance in thescope of the PNF.", + "type":"string" + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"Identifier of the NS instance associated to the SAPinstance", + "type":"string" + }, + "nsSapInstanceId":{ + "title":"Nssapinstanceid", + "description":"Identifier of the SAP instance in the scope of the NSinstance.", + "type":"string" + } + } + }, + "Mask":{ + "description":"Indicates values of specific bits in a frame", + "required":[ + "startingPoint", + "length", + "value" + ], + "type":"object", + "properties":{ + "startingPoint":{ + "title":"Startingpoint", + "description":"Indicates the offset between the last bit of the sourcemac address and the first bit of the sequence of bitsto be matched.", + "type":"string" + }, + "length":{ + "title":"Length", + "description":"Indicates the number of bits to be matched", + "type":"string" + }, + "value":{ + "title":"Value", + "description":"Provide the sequence of bit values to be matched.", + "type":"string" + } + } + }, + "NfpRule":{ + "title":"Nfprule", + "description":"NFP classification and selection rule.", + "type":"object", + "properties":{ + "etherDestinationAddress":{ + "title":"Etherdestinationaddress", + "description":"Indicates a destination Mac address", + "type":"string" + }, + "etherSourceAddress":{ + "title":"Ethersourceaddress", + "description":"Indicates a source Mac address", + "type":"string" + }, + "etherType":{ + "title":"Ethertype", + "description":"Indicates the protocol carried over the Ethernet layer", + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "vlanTag":{ + "description":"ndicates a VLAN identifier in an IEEE 802.1Q-2014 tag", + "type":"array", + "items":{ + "type":"string" + } + }, + "protocol":{ + "title":"Protocol", + "description":"Indicates the L4 protocol, For IPv4 [7] this corresponds tothe field called Protocol to identifythe next level protocol", + "type":"string", + "enum":[ + "TCP", + "UDP", + "ICMP" + ] + }, + "dscp":{ + "title":"Dscp", + "description":"For IPv4 [7] a string of 0 and 1 digits that corresponds to the6-bit Differentiated Services Code Point (DSCP) field of theIP header.", + "type":"string" + }, + "sourcePortRange":{ + "title":"Sourceportrange", + "description":"Indicates a range of source ports", + "type":"string" + }, + "destinationPortRange":{ + "title":"Destinationportrange", + "description":"Indicates a range of destination ports", + "type":"string" + }, + "sourceIpAddressPrefix":{ + "title":"Sourceipaddressprefix", + "description":"Indicates the source IP address range in CIDRformat.", + "type":"string" + }, + "destinationIpAddressPrefix":{ + "title":"Destinationipaddressprefix", + "description":"Indicates the destination IP address rangein CIDRformat.", + "type":"string" + }, + "extendedCriteria":{ + "description":"Indicates values of specific bits in a frame", + "type":"array", + "items":{ + "$ref":"#/definitions/Mask" + } + } + } + }, + "NfpData":{ + "description":"This type contains information used to create or modify NFP instance parameters for the updateof an existing VNFFG instance. ", + "type":"object", + "properties":{ + "nfpInfoId":{ + "title":"Nfpinfoid", + "description":"Identifier of the NFP to be modified.", + "type":"string" + }, + "nfpName":{ + "title":"Nfpname", + "description":"Human readable name for the NFP.", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Human readable description for the NFP", + "type":"string" + }, + "nsCpHandle":{ + "description":"HanIdentifier(s) of the CPs and SAPs which the NFP passes by.", + "type":"array", + "items":{ + "$ref":"#/definitions/NsCpHandle" + } + }, + "nfpRule":{ + "$ref":"#/definitions/NfpRule" + } + } + }, + "UpdateVnffgData":{ + "description":"This type specifies the parameters used for the update of an existing VNFFG instance.", + "required":[ + "vnffgInfoId" + ], + "type":"object", + "properties":{ + "vnffgInfoId":{ + "title":"Vnffginfoid", + "description":"Identifier of an existing VNFFG to be updated for the NS Instance.", + "type":"string" + }, + "nfp":{ + "description":"nfp", + "type":"array", + "items":{ + "$ref":"#/definitions/NfpData" + } + }, + "nfpInfoId":{ + "description":"Identifier(s) of the NFP to be deleted from a given VNFFG.", + "type":"array", + "items":{ + "type":"string" + } + } + } + }, + "ChangeNsFlavourData":{ + "title":"Changensflavourdata", + "description":"Specifies the new DF to be applied to the NS instance", + "required":[ + "newNsFlavourId" + ], + "type":"object", + "properties":{ + "newNsFlavourId":{ + "title":"Newnsflavourid", + "description":"Identifier of the new NS DF to apply to this NS instance.", + "type":"string" + }, + "instantiationLevelId":{ + "title":"Instantiationlevelid", + "description":"Identifier of the instantiation level of the deployment flavour to be instantiated.", + "type":"string" + } + } + }, + "IdentifierInPnf":{ + "title":"Cpinstancei16", + "description":"Identifier of the CP. Shall be present for existing CP.", + "required":[ + "IdentifierInPnf" + ], + "type":"object", + "properties":{ + "IdentifierInPnf":{ + "description":"An Identifier that is unique within respect to a PNF.", + "type":"object", + "properties":{ + + } + } + } + }, + "IdentifierInNsd":{ + "title":"Cpdid", + "description":"Identifier of the Connection Point Descriptor (CPD) for this CP", + "required":[ + "IdentifierInNsd" + ], + "type":"object", + "properties":{ + "IdentifierInNsd":{ + "description":"An identifier that is unique within a NS descriptor", + "type":"object", + "properties":{ + + } + } + } + }, + "PnfExtCpData":{ + "description":"Address assigned for the PNF external CP(s). ", + "type":"object", + "properties":{ + "cpInstanceI16":{ + "$ref":"#/definitions/IdentifierInPnf" + }, + "cpdId":{ + "$ref":"#/definitions/IdentifierInNsd" + }, + "cpProtocolData":{ + "description":"Address assigned for this CP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolData" + } + } + } + }, + "AddPnfData":{ + "description":"Serializer data of add pnf", + "required":[ + "pnfId", + "pnfName", + "pnfdId", + "pnfProfileId" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the PNF.", + "type":"string" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF.", + "type":"string" + }, + "pnfdId":{ + "title":"Pnfdid", + "description":"Identifier of the PNFD on which the PNF is based.", + "type":"string" + }, + "pnfProfileId":{ + "title":"Pnfprofileid", + "description":"Identifier of related PnfProfile in the NSD on which the PNF is based.", + "type":"string" + }, + "cpData":{ + "description":"Address assigned for the PNF external CP(s). ", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfExtCpData" + } + } + } + }, + "ModifyPnfData":{ + "description":"This type specifies an PNF to be modified in the NS instance.", + "required":[ + "pnfId" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the PNF.", + "type":"string" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF", + "type":"string" + }, + "cpData":{ + "description":"Address assigned for the PNF external CP(s).", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfExtCpData" + } + } + } + }, + "DateTime":{ + "title":"Updatetime", + "description":"Timestamp indicating the update time of the NS", + "required":[ + "DateTime" + ], + "type":"object", + "properties":{ + "DateTime":{ + "description":"Date-time stamp.", + "type":"object", + "properties":{ + + } + } + } + }, + "UpdateNsReq":{ + "required":[ + "updateType" + ], + "type":"object", + "properties":{ + "updateType":{ + "title":"Updatetype", + "description":"The type of update.", + "type":"string", + "enum":[ + "ADD_VNF", + "REMOVE_VNF", + "INSTANTIATE_VNF", + "CHANGE_VNF_DF", + "OPERATE_VNF", + "MODIFY_VNF_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY", + "REMOVE_SAP", + "ADD_NESTED_NS", + "REMOVE_NESTED_NS", + "ASSOC_NEW_NSD_VERSION", + "MOVE_VNF", + "ADD_VNFFG", + "REMOVE_VNFFG", + "UPDATE_VNFFG", + "CHANGE_NS_DF", + "ADD_PNF", + "MODIFY_PNF", + "REMOVE_PNF" + ] + }, + "addVnfInstance":{ + "description":"Identifies an existing VNF instance to be added to the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfInstanceData" + } + }, + "removeVnfInstanceId":{ + "description":"Identifies an existing VNF instance to be removed from the NS instance.", + "type":"array", + "items":{ + "type":"string" + } + }, + "instantiateVnfData":{ + "description":"Identifies the new VNF to be instantiated.", + "type":"array", + "items":{ + "$ref":"#/definitions/InstantiateVnfData" + } + }, + "changeVnfFlavourData":{ + "description":"Identifies the new DF of the VNF instance to be changed to.", + "type":"array", + "items":{ + "$ref":"#/definitions/ChangeVnfFlavourDataSerizlizer" + } + }, + "operateVnfData":{ + "description":"This type represents a VNF instance for which the operational state needs to be changed and the requested new state.", + "type":"array", + "items":{ + "$ref":"#/definitions/OperateVnfData" + } + }, + "modifyVnfInfoData":{ + "description":"This type represents the information that is requested to be modified for a VNF instance. ", + "type":"array", + "items":{ + "$ref":"#/definitions/ModifyVnfInfoData" + } + }, + "changeExtVnfConnectivityData":{ + "description":"Specifies the new external connectivity data of theVNF instance to be changed", + "type":"array", + "items":{ + "$ref":"#/definitions/ChangeExtVnfConnectivityData" + } + }, + "addSap":{ + "description":"Identifies a new SAP to be added to the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/SapData" + } + }, + "removeSapId":{ + "description":"The identifier an existing SAP to be removed from the NS instance", + "type":"array", + "items":{ + "type":"string" + } + }, + "addNestedNsId":{ + "description":"The identifier of an existing nested NS instance to be added to the NS instance", + "type":"array", + "items":{ + "type":"string" + } + }, + "removeNestedNsId":{ + "description":"The identifier of an existing nested NS instance to be removed from the NS instance.", + "type":"array", + "items":{ + "type":"string" + } + }, + "assocNewNsdVersionData":{ + "$ref":"#/definitions/AssocNewNsdVersionData" + }, + "moveVnfInstanceData":{ + "description":"Specify existing VNF instance to be moved from one NS instance to another NS instance", + "type":"array", + "items":{ + "$ref":"#/definitions/MoveVnfInstanceData" + } + }, + "addVnffg":{ + "description":"The identifier of an existing nested NS instance to be added to the NS instance.", + "type":"array", + "items":{ + "type":"string" + } + }, + "removeVnffgId":{ + "description":"The identifier of an existing nested NS instance to be removed from the NS instance", + "type":"array", + "items":{ + "type":"string" + } + }, + "updateVnffg":{ + "description":"Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance", + "type":"array", + "items":{ + "$ref":"#/definitions/UpdateVnffgData" + } + }, + "changeNsFlavourData":{ + "$ref":"#/definitions/ChangeNsFlavourData" + }, + "addPnfData":{ + "description":"Specifies the PNF to be added into the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/AddPnfData" + } + }, + "modifyPnfData":{ + "description":"Specifies the PNF to be modified in the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/ModifyPnfData" + } + }, + "removePnfId":{ + "description":"Identifier of the PNF to be deleted from the NS instance.", + "type":"array", + "items":{ + "type":"string" + } + }, + "updateTime":{ + "$ref":"#/definitions/DateTime" + } + } + }, + "AffectedVnfcLcm":{ + "description":"Affected VNFC", + "required":[ + "changeType" + ], + "type":"object", + "properties":{ + "vnfcInstanceId":{ + "title":"Vnfcinstanceid", + "description":"ID of VNFC instance", + "type":"string" + }, + "vduId":{ + "title":"Vduid", + "description":"ID of VDU in VNFD", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Type of Change", + "type":"string", + "enum":[ + "added", + "removed", + "modified" + ] + }, + "vimId":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + }, + "vmId":{ + "title":"Vmid", + "description":"ID of virtual machine", + "type":"string" + }, + "vmName":{ + "title":"Vmname", + "description":"Name of virtual machine", + "type":"string" + } + } + }, + "NetworkResource":{ + "title":"Networkresource", + "description":"Network Resource", + "required":[ + "resourceType" + ], + "type":"object", + "properties":{ + "resourceType":{ + "title":"Resourcetype", + "description":"Type of Resource", + "type":"string", + "enum":[ + "network", + "port" + ] + }, + "resourceId":{ + "title":"Resourceid", + "description":"ID of network resource", + "type":"string" + }, + "resourceName":{ + "title":"Resourcename", + "description":"Name of network resource", + "type":"string" + } + } + }, + "AffectedVirtualLinkLcm":{ + "description":"Affected VL", + "required":[ + "changeType" + ], + "type":"object", + "properties":{ + "vlInstanceId":{ + "title":"Vlinstanceid", + "description":"ID of VL instance", + "type":"string" + }, + "vldId":{ + "title":"Vldid", + "description":"ID of VLD in VNFD", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Type of Change", + "type":"string", + "enum":[ + "added", + "removed", + "modified" + ] + }, + "networkResource":{ + "$ref":"#/definitions/NetworkResource" + } + } + }, + "PortResource":{ + "title":"Portresource", + "description":"Port Resource", + "type":"object", + "properties":{ + "vimId":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + }, + "resourceId":{ + "title":"Resourceid", + "description":"ID of Resource", + "type":"string" + }, + "resourceName":{ + "title":"Resourcename", + "description":"Name of Resource", + "type":"string" + }, + "tenant":{ + "title":"Tenant", + "description":"ID of Tenant", + "type":"string" + }, + "ipAddress":{ + "title":"Ipaddress", + "description":"IP address of port", + "type":"string" + }, + "macAddress":{ + "title":"Macaddress", + "description":"MAC address of port", + "type":"string" + }, + "instId":{ + "title":"Instid", + "description":"Instance id of server to which the port is attached to", + "type":"string" + } + } + }, + "AffectedCp":{ + "description":"Affected CP", + "required":[ + "changeType" + ], + "type":"object", + "properties":{ + "changeType":{ + "title":"Changetype", + "description":"Type of Change", + "type":"string", + "enum":[ + "added", + "removed", + "modified" + ] + }, + "virtualLinkInstanceId":{ + "title":"Virtuallinkinstanceid", + "description":"ID of VL instance", + "type":"string" + }, + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"ID of CP instance", + "type":"string" + }, + "cpdId":{ + "title":"Cpdid", + "description":"ID of CPD in VNFD", + "type":"string" + }, + "ownerType":{ + "title":"Ownertype", + "description":"Type of Owner", + "type":"string" + }, + "ownerId":{ + "title":"Ownerid", + "description":"ID of Owner", + "type":"string" + }, + "portResource":{ + "$ref":"#/definitions/PortResource" + } + } + }, + "AffectedVirtualStorageLcm":{ + "description":"Affected Virtual Storage(Not supported)", + "type":"object", + "properties":{ + + } + }, + "NotifyLcmReq":{ + "required":[ + "status", + "operation", + "affectedVnfc", + "affectedVl", + "affectedCp", + "affectedVirtualStorage" + ], + "type":"object", + "properties":{ + "status":{ + "title":"Status", + "description":"Status of operation", + "type":"string", + "enum":[ + "result", + "start" + ] + }, + "operation":{ + "title":"Operation", + "description":"Lifecycle Operation", + "type":"string", + "enum":[ + "Terminate", + "Instantiate", + "Scalein", + "Scaleout", + "Scaledown", + "Scaleup", + "Heal" + ] + }, + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + }, + "vnfdmodule":{ + "title":"Vnfdmodule", + "description":"VNFD Module", + "type":"string" + }, + "affectedVnfc":{ + "description":"Affected VNFC", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVnfcLcm" + } + }, + "affectedVl":{ + "description":"Affected VL", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVirtualLinkLcm" + } + }, + "affectedCp":{ + "description":"Affected CP", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedCp" + } + }, + "affectedVirtualStorage":{ + "description":"Affected Virtual Storage(Not supported)", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVirtualStorageLcm" + } + } + } + }, + "VnfScaleInfo":{ + "description":"Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how big the VNF has been scaled w.r.t. that aspect.", + "required":[ + "aspectlId", + "scaleLevel" + ], + "type":"object", + "properties":{ + "aspectlId":{ + "description":"The scaling aspect", + "type":"object", + "properties":{ + + } + }, + "scaleLevel":{ + "description":"The scale level for that aspect", + "type":"object", + "properties":{ + + } + } + } + }, + "IpAddressesInfoSerialzier":{ + "description":"List of IP addresses to assign to the extCP instance.", + "required":[ + "type" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"The type of the IP addresses.", + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "addresses":{ + "description":"An IPV4 or IPV6 address", + "type":"array", + "items":{ + "type":"string" + } + }, + "isDynamic":{ + "title":"Isdynamic", + "description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). ", + "type":"boolean" + }, + "addressRange":{ + "$ref":"#/definitions/AddressRange" + }, + "subnetId":{ + "title":"Subnetid", + "description":"Subnet defined by the identifier of the subnet resource in the VIM. ", + "type":"string" + } + } + }, + "IpOverEthernetAddressInfo":{ + "title":"Ipoverethernet", + "description":"Network address data for IP over Ethernetto assign to the extCP instance.", + "type":"object", + "properties":{ + "macAddress":{ + "title":"Macaddress", + "description":"Mac address", + "type":"string" + }, + "ipAddresses":{ + "description":"List of IP addresses to assign to the extCP instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/IpAddressesInfoSerialzier" + } + } + } + }, + "CpProtocolInfo":{ + "description":"Network protocol information for this CP.", + "required":[ + "layerProtocol" + ], + "type":"object", + "properties":{ + "layerProtocol":{ + "title":"Layerprotocol", + "description":"Identifier of layer(s) and protocol(s)", + "type":"string", + "enum":[ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet":{ + "$ref":"#/definitions/IpOverEthernetAddressInfo" + } + } + }, + "VnfExtCpInfo":{ + "description":"Information about the external CPs exposed by the VNF instance.", + "required":[ + "id", + "cpdId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the external CP instance and the related information instance.", + "type":"string", + "maxLength":255 + }, + "cpdId":{ + "title":"Cpdid", + "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.", + "type":"string", + "maxLength":255 + }, + "cpProtocolInfo":{ + "description":"Network protocol information for this CP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolInfo" + } + }, + "extLinkPortId":{ + "title":"Extlinkportid", + "description":"Identifier of the extLinkPortInfo structure inside the extVirtualLinkInfo structure.", + "type":"string", + "maxLength":255 + } + } + }, + "ExtlinkPortInfo":{ + "description":"Link ports of this VL.", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this link port as provided by the entity that has created the link port.", + "type":"string", + "maxLength":255 + }, + "resourceHandle":{ + "$ref":"#/definitions/ResourceHandle" + }, + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the external CP of the VNFconnected to this link port.", + "type":"string", + "maxLength":255 + } + } + }, + "ExtVirtualLinkInfo":{ + "description":"Information about the external VLs the VNF instance is connected to.", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the external VL and the related external VL information instance.", + "type":"string", + "maxLength":255 + }, + "resourceHandle":{ + "$ref":"#/definitions/ResourceHandle" + }, + "extlinkPorts":{ + "description":"Link ports of this VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtlinkPortInfo" + } + } + } + }, + "VnfLinkPortInfo":{ + "description":"VnfLinkPortInfo, Link ports of this VL.", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this link port as provided by the entity that has created the link port.", + "type":"string", + "maxLength":255 + }, + "resourceHandle":{ + "$ref":"#/definitions/ResourceHandle" + }, + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"When the link port is used for external connectivity by the VNF, this attribute represents the identifier of the external CP of the VNF to be connected to this link port.", + "type":"string", + "maxLength":255 + }, + "cpInstanceType":{ + "title":"Cpinstancetype", + "description":"Type of the CP instance that is identified by cpInstanceId.", + "type":"string", + "enum":[ + "VNFC_CP", + "EXT_CP" + ] + } + } + }, + "ExtManagedVirtualLinkInfo":{ + "description":"Information about the externally-managed inner VLs of the VNF instance.", + "required":[ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the externally-managed inner VL and the related externally-managed VL information instance.", + "type":"string", + "maxLength":255 + }, + "vnfVirtualLinkDescId":{ + "title":"Vnfvirtuallinkdescid", + "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.", + "type":"string", + "maxLength":255 + }, + "networkResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "vnfLinkPorts":{ + "description":"VnfLinkPortInfo, Link ports of this VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfLinkPortInfo" + } + } + } + }, + "VnfcCpInfo":{ + "description":"CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance.", + "required":[ + "id", + "cpdId", + "vnfLinkPortId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the external CP instance and the related information instance.", + "type":"string", + "maxLength":255 + }, + "cpdId":{ + "title":"Cpdid", + "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.", + "type":"string", + "maxLength":255 + }, + "vnfExtCpId":{ + "title":"Vnfextcpid", + "description":"When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.", + "type":"string", + "maxLength":255 + }, + "cpProtocolInfo":{ + "description":"Network protocol information for this CP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolInfo" + } + }, + "vnfLinkPortId":{ + "title":"Vnflinkportid", + "description":"Identifier of the vnfLinkPorts structure in the vnfVirtualLinkResourceInfo structure.", + "type":"string", + "maxLength":255 + } + } + }, + "VnfcResourceInfo":{ + "description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.", + "required":[ + "computeResource" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this VnfcResourceInfo instance.", + "type":"string", + "maxLength":255 + }, + "vduId":{ + "title":"Vduid", + "description":"Reference to the applicable VDU in the VNFD.", + "type":"string", + "maxLength":255 + }, + "computeResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "storageResourceIds":{ + "description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.", + "type":"array", + "items":{ + "description":"Identifier In Vnf", + "type":"string" + } + }, + "reservationId":{ + "title":"Reservationid", + "description":"The reservation identifier applicable to the resource.", + "type":"string", + "maxLength":255 + }, + "vnfcCpInfo":{ + "description":"CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfcCpInfo" + } + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "VnfVirtualLinkResourceInfo":{ + "description":"Information about the virtualised network resources used by the VLs of the VNF instance.", + "required":[ + "id", + "virtualLinkDescId", + "networkResource" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this VnfVirtualLinkResourceInfo instance.", + "type":"string", + "maxLength":255 + }, + "virtualLinkDescId":{ + "title":"Virtuallinkdescid", + "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.", + "type":"string", + "maxLength":255 + }, + "networkResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "reservationId":{ + "title":"Reservationid", + "description":"The reservation identifier applicable to the resource.", + "type":"string", + "maxLength":255 + }, + "vnfLinkPorts":{ + "description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfLinkPortInfo" + } + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "VirtualStorageResourceInfo":{ + "description":"Information about the virtualised storage resources used as storage for the VNF instance.", + "required":[ + "id", + "storageResource" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this VirtualStorageResourceInfo instance.", + "type":"string", + "maxLength":255 + }, + "virtualStorageDescId":{ + "title":"Virtualstoragedescid", + "description":"Identifier of the VirtualStorageDesc in the VNFD.", + "type":"string", + "maxLength":255 + }, + "storageResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "reservationId":{ + "title":"Reservationid", + "description":"The reservation identifier applicable to the resource.", + "type":"string", + "maxLength":255 + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "InstantiatedVnfInfo":{ + "title":"Instantiatedvnfinfo", + "description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED", + "required":[ + "flavourId", + "vnfState", + "extCpInfo" + ], + "type":"object", + "properties":{ + "flavourId":{ + "title":"Flavourid", + "description":"Identifier of the VNF deployment flavour applied to this VNF instance.", + "type":"string", + "maxLength":255 + }, + "vnfState":{ + "title":"Vnfstate", + "description":"State of the VNF instance.", + "type":"string", + "enum":[ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus":{ + "description":"Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how big the VNF has been scaled w.r.t. that aspect.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfScaleInfo" + } + }, + "extCpInfo":{ + "description":"Information about the external CPs exposed by the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfExtCpInfo" + } + }, + "extVirtualLinkInfo":{ + "description":"Information about the external VLs the VNF instance is connected to.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtVirtualLinkInfo" + } + }, + "extManagedVirtualLinkInfo":{ + "description":"Information about the externally-managed inner VLs of the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtManagedVirtualLinkInfo" + } + }, + "monitoringParameters":{ + "title":"Monitoringparameters", + "description":"Active monitoring parameters.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "localizationLanguage":{ + "title":"Localizationlanguage", + "description":"Information about localization language of the VNF.", + "type":"string", + "maxLength":255 + }, + "vnfcResourceInfo":{ + "description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfcResourceInfo" + } + }, + "vnfVirtualLinkResourceInfo":{ + "description":"Information about the virtualised network resources used by the VLs of the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfVirtualLinkResourceInfo" + } + }, + "virtualStorageResourceInfo":{ + "description":"Information about the virtualised storage resources used as storage for the VNF instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VirtualStorageResourceInfo" + } + } + } + }, + "Link":{ + "title":"Href", + "description":"URI of this resource.", + "required":[ + "href" + ], + "type":"object", + "properties":{ + "href":{ + "title":"Href", + "description":"URI of the referenced resource.", + "type":"string" + } + } + }, + "VnfInstanceLinks":{ + "title":" links", + "description":"Links to resources related to this resource.", + "required":[ + "href" + ], + "type":"object", + "properties":{ + "href":{ + "$ref":"#/definitions/Link" + }, + "indicators":{ + "$ref":"#/definitions/Link" + }, + "instantiate":{ + "$ref":"#/definitions/Link" + }, + "termiante":{ + "$ref":"#/definitions/Link" + }, + "scale":{ + "$ref":"#/definitions/Link" + }, + "scaleToLevel":{ + "$ref":"#/definitions/Link" + }, + "changeFlavour":{ + "$ref":"#/definitions/Link" + }, + "heal":{ + "$ref":"#/definitions/Link" + }, + "operate":{ + "$ref":"#/definitions/Link" + }, + "changeExtConn":{ + "$ref":"#/definitions/Link" + } + } + }, + "VnfInstance":{ + "description":"Information on constituent VNF(s) of the NS instance.", + "required":[ + "id", + "vnfProvider", + "vnfdVersion", + "vnfPkgId", + "instantiationState" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the VNF instance.", + "type":"string", + "maxLength":255 + }, + "vnfInstanceName":{ + "title":"Vnfinstancename", + "description":"Name of the VNF instance.", + "type":"string", + "maxLength":255 + }, + "vnfInstanceDescription":{ + "title":"Vnfinstancedescription", + "description":"Human-readable description of the VNF instance.", + "type":"string" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"Identifier of the VNFD on which the VNF instance is based.", + "type":"string", + "maxLength":255 + }, + "vnfProvider":{ + "title":"Vnfprovider", + "description":"Provider of the VNF and the VNFD.", + "type":"string", + "maxLength":255 + }, + "vnfProductName":{ + "title":"Vnfproductname", + "description":"Name to identify the VNF Product.", + "type":"string", + "maxLength":255 + }, + "vnfSoftwareVersion":{ + "title":"Vnfsoftwareversion", + "description":"Software version of the VNF.", + "type":"string", + "maxLength":255 + }, + "vnfdVersion":{ + "title":"Vnfdversion", + "description":"Identifies the version of the VNFD.", + "type":"string", + "maxLength":255 + }, + "vnfPkgId":{ + "title":"Vnfpkgid", + "description":"Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This attribute can be modified with the PATCH method.", + "type":"string", + "maxLength":255 + }, + "vnfConfigurableProperties":{ + "title":"Vnfconfigurableproperties", + "description":"Current values of the configurable properties of the VNF instance. Configurable properties referred in this attribute are declared in the VNFD", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "vimId":{ + "description":"Identifier set of a VIM that manages resources for the VNF instance.", + "type":"array", + "items":{ + "description":"Identifier of a VIM that manages resources for the VNF instance.", + "type":"string" + } + }, + "instantiationState":{ + "title":"Instantiationstate", + "description":"The instantiation state of the VNF.", + "type":"string", + "enum":[ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "instantiatedVnfInfo":{ + "$ref":"#/definitions/InstantiatedVnfInfo" + }, + "metadata":{ + "title":"Metadata", + "description":"Additional VNF-specific metadata describing the VNF instance. This attribute can be modified with the PATCH method.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "extensions":{ + "title":"Extensions", + "description":"VNF-specific attributes that affect the lifecycle management of this VNF instance by the VNFM, or the lifecycle management scripts. This attribute can be modified with the PATCH method.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "_links":{ + "$ref":"#/definitions/VnfInstanceLinks" + } + } + }, + "PnfExtCpInfo":{ + "description":"Information on the external CP of the PNF", + "required":[ + "cpInstanceId", + "cpdId", + "cpProtocolData" + ], + "type":"object", + "properties":{ + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the CP in the scope of the PNF.", + "type":"string" + }, + "cpdId":{ + "title":"Cpdid", + "description":"Identifier of (reference to) the Connection Point Descriptor(CPD) for this CP.", + "type":"string" + }, + "cpProtocolData":{ + "description":"Parameters for configuring the network protocols onthe CP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolData" + } + } + } + }, + "PnfInfo":{ + "description":"Information on constituent PNF(s) of the NS instance.", + "required":[ + "pnfId", + "pnfName", + "pnfdId", + "pnfdInfoId", + "pnfProfileId", + "cpInfo" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the PNF.", + "type":"string" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF.", + "type":"string" + }, + "pnfdId":{ + "title":"Pnfdid", + "description":"Identifier of the PNFD on which the PNF is based.", + "type":"string" + }, + "pnfdInfoId":{ + "title":"Pnfdinfoid", + "description":"Identifier of the PNFD information onject related to this PNF.", + "type":"string" + }, + "pnfProfileId":{ + "title":"Pnfprofileid", + "description":"Identifier of the related PnfProfile in the NSD on which the PNF is based.", + "type":"string" + }, + "cpInfo":{ + "description":"Information on the external CP of the PNF", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfExtCpInfo" + } + } + } + }, + "NsLinkPortInfo":{ + "description":"Link ports of this VL.", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this link port as provided by the entity that has created the link port.", + "type":"string", + "maxLength":255 + }, + "resourceHandle":{ + "$ref":"#/definitions/ResourceHandle" + }, + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance.", + "type":"string", + "maxLength":255 + } + } + }, + "NsVirtualLinkInfo":{ + "description":"Information on the VL(s) of the NS instance.", + "required":[ + "id", + "nsVirtualLinkDescId", + "nsVirtualLinkProfileId", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the VL instance.", + "type":"string" + }, + "nsVirtualLinkDescId":{ + "title":"Nsvirtuallinkdescid", + "description":"Identifier of the VLD in the NSD.", + "type":"string" + }, + "nsVirtualLinkProfileId":{ + "title":"Nsvirtuallinkprofileid", + "description":"Identifier of the VL profile in the NSD.", + "type":"string" + }, + "resourceHandle":{ + "description":"Identifier(s) of the virtualised network resource(s) realizing the VL instance", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceHandle" + } + }, + "linkPort":{ + "description":"Link ports of this VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/NsLinkPortInfo" + } + } + } + }, + "NfpInfo":{ + "description":"Information on the NFP instances.", + "required":[ + "id", + "description", + "nscpHandle", + "nfpRule", + "nfpState" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this NFP instance.", + "type":"string" + }, + "nfpdId":{ + "title":"Nfpdid", + "description":"Identifier of the NFPD used to instantiate this NFPinstance.", + "type":"string" + }, + "nfpName":{ + "title":"Nfpname", + "description":"Human readable name for the NFP instance.", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Human readable description for the NFP instance.", + "type":"string" + }, + "nscpHandle":{ + "description":"Identifier(s) of the CPs and/or SAPs which the NFP passes by", + "type":"array", + "items":{ + "$ref":"#/definitions/NsCpHandle" + } + }, + "totalCp":{ + "title":"Totalcp", + "description":"Total number of CP and SAP instances in this NFPinstance.", + "type":"string" + }, + "nfpRule":{ + "$ref":"#/definitions/NfpRule" + }, + "nfpState":{ + "title":"Nfpstate", + "description":"The state of the NFP instance.", + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + } + } + }, + "VnffgInfo":{ + "description":"VNF Forward Graph Information.", + "required":[ + "id", + "vnffgdId", + "vnfInstanceId", + "nsVirtualLinkInfoId", + "nsCpHandle", + "nfpInfo" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this VNFFG instance.", + "type":"string" + }, + "vnffgdId":{ + "title":"Vnffgdid", + "description":"Identifier of the VNFFGD in the NSD.", + "type":"string" + }, + "vnfInstanceId":{ + "description":"Identifier(s) of the constituent VNF instance(s) of thisVNFFG instance.", + "type":"array", + "items":{ + "description":"ID of vnf instance", + "type":"string" + } + }, + "pnfInfoId":{ + "description":"Identifier(s) of the constituent PNF instance(s) of thisVNFFG instance", + "type":"array", + "items":{ + "description":"ID of pnf info", + "type":"string" + } + }, + "nsVirtualLinkInfoId":{ + "description":"Identifier(s) of the constituent VL instance(s) ofthisVNFFG instance.", + "type":"array", + "items":{ + "description":"ID of ns virtual link info", + "type":"string" + } + }, + "nsCpHandle":{ + "description":"Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG.", + "type":"array", + "items":{ + "$ref":"#/definitions/NsCpHandle" + } + }, + "nfpInfo":{ + "description":"Information on the NFP instances.", + "type":"array", + "items":{ + "$ref":"#/definitions/NfpInfo" + } + } + } + }, + "SapInfo":{ + "description":"Create data concerning the SAPs.", + "required":[ + "id", + "sapdId", + "sapName", + "description" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the SAP instance.", + "type":"string" + }, + "sapdId":{ + "title":"Sapdid", + "description":"Reference to the SAPD for this SAP.", + "type":"string" + }, + "sapName":{ + "title":"Sapname", + "description":"Human readable name for the SAP.", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Human readable description for the SAP. ", + "type":"string" + }, + "sapProtocolInfo":{ + "description":"Parameters for configuring the network protocols on the SAP.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolInfo" + } + } + } + }, + "NsScaleInfo":{ + "description":"Status of each NS scaling aspect declared in the applicable DF.", + "required":[ + "nsScalingAspectId", + "nsScaleLevelId" + ], + "type":"object", + "properties":{ + "nsScalingAspectId":{ + "title":"Nsscalingaspectid", + "description":"Identifier of the NS scaling aspect.", + "type":"string" + }, + "nsScaleLevelId":{ + "title":"Nsscalelevelid", + "description":"Identifier of the NS scale level.", + "type":"string" + } + } + }, + "AffinityOrAntiAffinityRule":{ + "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.", + "required":[ + "vnfInstanceId", + "affinityOrAntiAffiinty", + "scope" + ], + "type":"object", + "properties":{ + "vnfdId":{ + "description":"Identifier of the VNFD on which the VNF instance is based.", + "type":"array", + "items":{ + "type":"string" + } + }, + "vnfProfileId":{ + "description":"Identifier of (Reference to) a vnfProfile defined in the NSD which the existing VNF instance shall be matched with.", + "type":"array", + "items":{ + "type":"string" + } + }, + "vnfInstanceId":{ + "description":"Identifier of the existing VNF instance to be used in the NS.", + "type":"array", + "items":{ + "type":"string" + } + }, + "affinityOrAntiAffiinty":{ + "title":"Affinityorantiaffiinty", + "description":"The type of the constraint.", + "type":"string", + "enum":[ + "AFFINITY", + "ANTI_AFFINITY" + ] + }, + "scope":{ + "title":"Scope", + "description":"Specifies the scope of the rule where the placement constraint applies.", + "type":"string", + "enum":[ + "NFVI_POP", + "ZONE", + "ZONE_GROUP", + "NFVI_NODE" + ] + } + } + }, + "NsLink":{ + "title":" links", + "description":"The links of the NS instance.", + "required":[ + "self" + ], + "type":"object", + "properties":{ + "self":{ + "$ref":"#/definitions/Link" + }, + "nestedNsInstances":{ + "description":"Links to the nested NS instances of the present NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/Link" + } + }, + "instantiate":{ + "$ref":"#/definitions/Link" + }, + "terminate":{ + "$ref":"#/definitions/Link" + }, + "update":{ + "$ref":"#/definitions/Link" + }, + "scale":{ + "$ref":"#/definitions/Link" + }, + "heal":{ + "$ref":"#/definitions/Link" + } + } + }, + "NsInstance":{ + "description":"NS instances", + "required":[ + "id", + "nsInstanceName", + "nsInstanceDescription", + "nsdId", + "nsdInfoId", + "nsState", + "_links" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the NS instance.", + "type":"string" + }, + "nsInstanceName":{ + "title":"Nsinstancename", + "description":"Human readable name of the NS instance.", + "type":"string" + }, + "nsInstanceDescription":{ + "title":"Nsinstancedescription", + "description":"Human readable description of the NS instance.", + "type":"string" + }, + "nsdId":{ + "title":"Nsdid", + "description":"Identifier of the NSD on which the NS instance is based.", + "type":"string" + }, + "nsdInfoId":{ + "title":"Nsdinfoid", + "description":"Identifier of the NSD information object on which the NS instance is based.", + "type":"string" + }, + "flavourId":{ + "title":"Flavourid", + "description":"Identifier of the NS deployment flavour applied to the NS instance.", + "type":"string" + }, + "vnfInstance":{ + "description":"Information on constituent VNF(s) of the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfInstance" + } + }, + "pnfInfo":{ + "description":"Information on constituent PNF(s) of the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/PnfInfo" + } + }, + "virtualLinkInfo":{ + "description":"Information on the VL(s) of the NS instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/NsVirtualLinkInfo" + } + }, + "vnffgInfo":{ + "description":"VNF Forward Graph Information.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnffgInfo" + } + }, + "sapInfo":{ + "description":"Create data concerning the SAPs.", + "type":"array", + "items":{ + "$ref":"#/definitions/SapInfo" + } + }, + "nestedNsInstanceId":{ + "description":"Identifier of the nested NS(s) of the NS instance.", + "type":"array", + "items":{ + "type":"string" + } + }, + "nsState":{ + "title":"Nsstate", + "description":"The state of the NS instance.", + "type":"string", + "enum":[ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "nsScaleStatus":{ + "description":"Status of each NS scaling aspect declared in the applicable DF.", + "type":"array", + "items":{ + "$ref":"#/definitions/NsScaleInfo" + } + }, + "additionalAffinityOrAntiAffinityRule":{ + "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffinityOrAntiAffinityRule" + } + }, + "_links":{ + "$ref":"#/definitions/NsLink" + } + } + }, + "CreateNsRequest":{ + "required":[ + "nsdId", + "nsName", + "nsDescription" + ], + "type":"object", + "properties":{ + "nsdId":{ + "title":"Nsdid", + "description":"Identifier of the NSD that defines the NS instance to be created.", + "type":"string" + }, + "nsName":{ + "title":"Nsname", + "description":"Name of NS", + "type":"string" + }, + "nsDescription":{ + "title":"Nsdescription", + "description":"Description of NS", + "type":"string" + } + } + }, + "ActionVm":{ + "title":"Actionvminfo", + "description":"VM info of action", + "type":"object", + "properties":{ + "vmid":{ + "title":"Vmid", + "description":"ID of VM", + "type":"string" + }, + "vduid":{ + "title":"Vduid", + "description":"ID of vdu", + "type":"string" + }, + "vmname":{ + "title":"Vmname", + "description":"Name of VM", + "type":"string" + } + } + }, + "HealNsAdditionalParams":{ + "description":"KeyValue Pairs", + "type":"object", + "properties":{ + "action":{ + "title":"Action", + "description":"Action of NS heal", + "type":"string" + }, + "actionvminfo":{ + "$ref":"#/definitions/ActionVm" + } + } + }, + "HealVnfData":{ + "description":"Data of heal VNF", + "required":[ + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifies the VNF instance,", + "type":"string" + }, + "cause":{ + "title":"Cause", + "description":"Indicates the reason why a healing procedure is required", + "type":"string" + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Additional parameters passed by the NFVO as input to the healing process", + "type":"object", + "additionalProperties":{ + "$ref":"#/definitions/HealNsAdditionalParams" + } + } + } + }, + "HealNsData":{ + "title":"Healnsdata", + "description":"Provides the information needed to heal an NS", + "required":[ + "degreeHealing" + ], + "type":"object", + "properties":{ + "degreeHealing":{ + "title":"Degreehealing", + "description":"degree of healing", + "type":"string", + "enum":[ + "HEAL_RESTORE", + "HEAL_QOS", + "HEAL_RESET", + "PARTIAL_HEALING" + ] + }, + "actionsHealing":{ + "description":"A list of actions", + "type":"array", + "items":{ + "description":"One action", + "type":"string" + } + }, + "healScript":{ + "title":"Healscript", + "description":"script of NS heal", + "type":"string" + }, + "additionalParamsforNs":{ + "title":"Additionalparamsforns", + "description":"Addition params of NS heal", + "type":"string" + } + } + }, + "HealNsReq":{ + "type":"object", + "properties":{ + "healVnfData":{ + "description":"Data of heal VNF", + "type":"array", + "items":{ + "$ref":"#/definitions/HealVnfData" + } + }, + "healNsData":{ + "$ref":"#/definitions/HealNsData" + } + } + }, + "ProblemDetails":{ + "required":[ + "status", + "detail" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type.", + "type":"string" + }, + "title":{ + "title":"Title", + "description":"A short, human-readable summary of the problem type.", + "type":"string" + }, + "status":{ + "title":"Status", + "description":"The HTTP status code for this occurrence of the problem.", + "type":"integer" + }, + "detail":{ + "title":"Detail", + "description":"A human-readable explanation specific to this occurrence of the problem.", + "type":"string" + }, + "instance":{ + "title":"Instance", + "description":"A URI reference that identifies the specific occurrence of the problem.", + "type":"string" + }, + "additional_details":{ + "description":"Any number of additional attributes, as defined in a specification or by an implementation.", + "type":"array", + "items":{ + "type":"string" + } + } + } + }, + "civicAddressElement":{ + "description":"Zero or more elements comprising the civicaddress.", + "required":[ + "caType", + "caValue" + ], + "type":"object", + "properties":{ + "caType":{ + "title":"Catype", + "description":"Describe the content type of caValue.", + "type":"string" + }, + "caValue":{ + "title":"Cavalue", + "description":"Content of civic address element corresponding to theaType.", + "type":"string" + } + } + }, + "LocationConstraints":{ + "title":"Locationconstraints", + "description":"Defines the location constraints for theVNF instance to be created based on theVNF profile.", + "required":[ + "countryCode" + ], + "type":"object", + "properties":{ + "countryCode":{ + "title":"Countrycode", + "description":"The two-letter ISO 3166 [29] country code in capitalletters.", + "type":"string" + }, + "civicAddressElement":{ + "description":"Zero or more elements comprising the civicaddress.", + "type":"array", + "items":{ + "$ref":"#/definitions/civicAddressElement" + } + } + } + }, + "VnfLocationConstraint":{ + "description":"Defines the location constraints for the VNF to be instantiated as part of the NS instantiation.", + "type":"object", + "properties":{ + "vnfProfileId":{ + "title":"Vnfprofileid", + "description":"ID of VNF profile", + "type":"string" + }, + "locationConstraints":{ + "$ref":"#/definitions/LocationConstraints" + } + } + }, + "ParamsForVnf":{ + "description":"Allows the OSS/BSS to provide additional parameter(s)per VNF instance", + "required":[ + "vnfProfileId" + ], + "type":"object", + "properties":{ + "vnfProfileId":{ + "title":"Vnfprofileid", + "description":"Identifier of (reference to) a vnfProfile to which theadditional parameters apply", + "type":"string" + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Content of civic address element corresponding to thecaType", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "InstantNsReq":{ + "required":[ + "nsFlavourId" + ], + "type":"object", + "properties":{ + "nsFlavourId":{ + "title":"Nsflavourid", + "description":"Identifier of the NS deployment flavour to beinstantiated.", + "type":"string" + }, + "sapData":{ + "description":"Create data concerning the SAPs of this NS", + "type":"array", + "items":{ + "$ref":"#/definitions/SapData" + } + }, + "addpnfData":{ + "description":"Information on the PNF(s) that are part of this NS.", + "type":"array", + "items":{ + "$ref":"#/definitions/AddPnfData" + } + }, + "vnfInstanceData":{ + "description":"Specify an existing VNF instance to be used in the NS.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfInstanceData" + } + }, + "nestedNsInstanceId":{ + "description":"Specify an existing NS instance to be used as a nested NS within the NS", + "type":"array", + "items":{ + "type":"string" + } + }, + "localizationLanguage":{ + "description":"Defines the location constraints for the VNF to be instantiated as part of the NS instantiation.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfLocationConstraint" + } + }, + "additionalParamForNs":{ + "title":"Additionalparamforns", + "description":"Allows the OSS/BSS to provide additional parameters at the NS level ", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "additionalParamsForVnf":{ + "description":"Allows the OSS/BSS to provide additional parameter(s)per VNF instance", + "type":"array", + "items":{ + "$ref":"#/definitions/ParamsForVnf" + } + }, + "startTime":{ + "title":"Starttime", + "description":"Timestamp indicating the earliest time to instantiatethe NS.", + "type":"string", + "format":"date-time" + }, + "nsInstantiationLevelId":{ + "title":"Nsinstantiationlevelid", + "description":"Identifies one of the NS instantiation levelsdeclared in the DF applicable to this NS instance", + "type":"string" + }, + "additionalAffinityOrAntiAffiniityRule":{ + "description":"Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffinityOrAntiAffinityRule" + } + } + } + }, + "ScaleNsByStepsData":{ + "title":"Scalensbystepsdata", + "description":"The information used to scale an NS instance by one or more scaling steps", + "required":[ + "scalingDirection", + "aspectId" + ], + "type":"object", + "properties":{ + "scalingDirection":{ + "title":"Scalingdirection", + "description":"The scaling direction", + "type":"string", + "enum":[ + "SCALE_IN", + "SCALE_OUT" + ] + }, + "aspectId":{ + "title":"Aspectid", + "description":"The aspect of the NS that is requested to be scaled, as declared in the NSD. ", + "type":"string" + }, + "numberOfSteps":{ + "title":"Numberofsteps", + "description":"The number of scaling steps to be performed. Defaults to 1. ", + "type":"string" + } + } + }, + "ScaleNsToLevelData":{ + "title":"Scalenstoleveldata", + "description":"The information used to scale an NS instance to a target size. ", + "type":"object", + "properties":{ + "nsInstantiationLevel":{ + "title":"Nsinstantiationlevel", + "description":"Identifier of the target NS instantiation level of the current DF to which the NS instance is requested to be scaled.", + "type":"string" + }, + "nsScaleInfo":{ + "description":"For each NS scaling aspect of the current DF", + "type":"array", + "items":{ + "$ref":"#/definitions/NsScaleInfo" + } + } + } + }, + "ScaleNsData":{ + "description":"Scale NS data", + "type":"object", + "properties":{ + "vnfInstanceToBeAdded":{ + "description":"An existing VNF instance to be added to the NS instance as part of the scaling operation. ", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfInstanceData" + } + }, + "vnfInstanceToBeRemoved":{ + "description":"The VNF instance to be removed from the NS instance as part of the scaling operation", + "type":"array", + "items":{ + "type":"string" + } + }, + "scaleNsByStepsData":{ + "$ref":"#/definitions/ScaleNsByStepsData" + }, + "scaleNsToLevelData":{ + "$ref":"#/definitions/ScaleNsToLevelData" + }, + "additionalParamsForNs":{ + "title":"Additionalparamsforns", + "description":"Allows the OSS/BSS to provide additional parameter(s) at the NS level necessary for the NS scaling ", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "additionalParamsForVnf":{ + "description":"Allows the OSS/BSS to provide additional parameter(s) per VNF instance", + "type":"array", + "items":{ + "$ref":"#/definitions/ParamsForVnf" + } + }, + "locationConstraints":{ + "description":"The location constraints for the VNF to be instantiated as part of the NS scaling.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfLocationConstraint" + } + } + } + }, + "ManualScaleNsReq":{ + "description":"NS Scale", + "required":[ + "scaleType", + "scaleNsData" + ], + "type":"object", + "properties":{ + "scaleType":{ + "title":"Scaletype", + "description":"Type of NS Scale", + "type":"string" + }, + "scaleNsData":{ + "description":"Scale NS data", + "type":"array", + "items":{ + "$ref":"#/definitions/ScaleNsData" + } + } + } + }, + "TerminateNsReq":{ + "type":"object", + "properties":{ + "terminationTime":{ + "title":"Terminationtime", + "description":"Timestamp indicating the end time of the NS.", + "type":"string" + } + } + }, + "ChangedInfo":{ + "title":"Changedinfo", + "description":"Links to resources related to this resource.", + "type":"object", + "properties":{ + "changedVnfInfo":{ + "$ref":"#/definitions/ModifyVnfInfoData" + }, + "changedExtConnectivity":{ + "$ref":"#/definitions/ExtVirtualLinkInfo" + } + } + }, + "AffectedVnfs":{ + "description":"Information about VNFC instances that were affected during the lifecycle operation.", + "required":[ + "vnfInstanceId", + "vnfdId", + "vnfProfileId", + "vnfName", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance.", + "type":"string", + "format":"uuid" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"Identifier of the VNFD of the VNF Instance..", + "type":"string", + "format":"uuid" + }, + "vnfProfileId":{ + "title":"Vnfprofileid", + "description":"Identifier of the VNF profile of the NSD.", + "type":"string", + "format":"uuid" + }, + "vnfName":{ + "title":"Vnfname", + "description":"Name of the VNF Instance.", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "INSTANTIATE", + "TERMINATE", + "SCALE", + "CHANGE_FLAVOUR", + "HEAL", + "OPERATE", + "MODIFY_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + }, + "changedInfo":{ + "$ref":"#/definitions/ChangedInfo" + } + } + }, + "AffectedPnfs":{ + "description":"Information about the PNF instances that were affected during the lifecycle operation.", + "required":[ + "pnfId", + "pnfdId", + "pnfProfileId", + "pnfName", + "cpInstanceId", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "pnfId":{ + "title":"Pnfid", + "description":"Identifier of the affected PNF. This identifier is allocated by the OSS/BSS. ", + "type":"string", + "format":"uuid" + }, + "pnfdId":{ + "title":"Pnfdid", + "description":"Identifier of the PNFD on which the PNF is based.", + "type":"string", + "format":"uuid" + }, + "pnfProfileId":{ + "title":"Pnfprofileid", + "description":"Identifier of the VNF profile of the NSD.", + "type":"string", + "format":"uuid" + }, + "pnfName":{ + "title":"Pnfname", + "description":"Name of the PNF.", + "type":"string" + }, + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the NS profile of the NSD.", + "type":"string", + "format":"uuid" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + }, + "AffectedVLs":{ + "description":"Information about the VL instances that were affected during the lifecycle operation", + "required":[ + "id", + "virtualLinkDescId", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the VL Instance.", + "type":"string", + "format":"uuid" + }, + "virtualLinkDescId":{ + "title":"Virtuallinkdescid", + "description":"Identifier of the VLD in the NSD for this VL.", + "type":"string", + "format":"uuid" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "DELETE", + "MODIFY", + "ADD_LINK_PORT", + "REMOVE_LINK_PORT" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the result of change identified by the 'changeType' attribute.", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + }, + "AffectedVnffgs":{ + "description":"Information about the VNFFG instances that were affected during the lifecycle operation.", + "required":[ + "vnffgInstanceId", + "vnffgdId", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "vnffgInstanceId":{ + "title":"Vnffginstanceid", + "description":"Identifier of the VNFFG instance.", + "type":"string", + "format":"uuid" + }, + "vnffgdId":{ + "title":"Vnffgdid", + "description":"Identifier of the VNFFGD of the VNFFG instance.", + "type":"string", + "format":"uuid" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + }, + "AffectedNss":{ + "description":"Information about the nested NS instances that were affected during the lifecycle operation.", + "required":[ + "nsInstanceId", + "nsdId", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"Identifier of the nested NS instance.", + "type":"string", + "format":"uuid" + }, + "nsdId":{ + "title":"Nsdid", + "description":"Identifier of the NSD of the nested NS instance.", + "type":"string", + "format":"uuid" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "TERMINATE", + "SCALE", + "UPDATE", + "HEAL" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED", + "PARTIALLY_COMPLETED" + ] + } + } + }, + "AffectedSaps":{ + "description":"Information about the SAP instances that were affected during the lifecycle operation.", + "required":[ + "sapInstanceId", + "sapdId", + "sapName", + "changeType", + "changeResult" + ], + "type":"object", + "properties":{ + "sapInstanceId":{ + "title":"Sapinstanceid", + "description":"Identifier of the SAP instance.", + "type":"string", + "format":"uuid" + }, + "sapdId":{ + "title":"Sapdid", + "description":"Identifier of the SAPD for this SAP.", + "type":"string", + "format":"uuid" + }, + "sapName":{ + "title":"Sapname", + "description":"Human readable name for the SAP.", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult":{ + "title":"Changeresult", + "description":"Signals the type of change", + "type":"string", + "enum":[ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + }, + "ResourceChanges":{ + "title":"Resourcechanges", + "description":"It contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.", + "type":"object", + "properties":{ + "affectedVnfs":{ + "description":"Information about VNFC instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVnfs" + } + }, + "affectedPnfs":{ + "description":"Information about the PNF instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedPnfs" + } + }, + "affectedVls":{ + "description":"Information about the VL instances that were affected during the lifecycle operation", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVLs" + } + }, + "affectedVnffgs":{ + "description":"Information about the VNFFG instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVnffgs" + } + }, + "affectedNss":{ + "description":"Information about the nested NS instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedNss" + } + }, + "affectedSaps":{ + "description":"Information about the SAP instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedSaps" + } + } + } + }, + "LcmOpLink":{ + "title":" links", + "description":"Links to resources related to this resource.", + "required":[ + "self", + "nsInstance" + ], + "type":"object", + "properties":{ + "self":{ + "$ref":"#/definitions/Link" + }, + "nsInstance":{ + "$ref":"#/definitions/Link" + }, + "cancel":{ + "$ref":"#/definitions/Link" + }, + "retry":{ + "$ref":"#/definitions/Link" + }, + "rollback":{ + "$ref":"#/definitions/Link" + }, + "fail":{ + "$ref":"#/definitions/Link" + } + } + }, + "NSLCMOpOcc":{ + "required":[ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "nsInstanceId", + "operation", + "operationParams", + "isCancelPending", + "_links" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this NS lifecycle management operation occurrence,", + "type":"string", + "maxLength":255 + }, + "operationState":{ + "title":"Operationstate", + "description":"The state of the VNF LCM operation occurrence. ", + "type":"string", + "enum":[ + "STARTING", + "PROCESSING", + "COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "stateEnteredTime":{ + "title":"Stateenteredtime", + "description":"Date-time when the current state was entered.", + "type":"string", + "maxLength":50 + }, + "startTime":{ + "title":"Starttime", + "description":"Date-time of the start of the operation.", + "type":"string", + "maxLength":50 + }, + "nsInstanceId":{ + "title":"Nsinstanceid", + "description":"Identifier of the ns instance to which the operation applies", + "type":"string", + "format":"uuid" + }, + "operation":{ + "title":"Operation", + "description":"The lifecycle management operation", + "type":"string", + "enum":[ + "INSTANTIATE", + "SCALE", + "TERMINATE", + "HEAL", + "UPDATE" + ] + }, + "isAutomaticInvocation":{ + "title":"Isautomaticinvocation", + "description":"Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO.", + "type":"boolean", + "default":false + }, + "operationParams":{ + "title":"Operationparams", + "description":"Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: 1. INSTANTIATE: InstantiateVnfRequest 2. SCALE: ScaleVnfRequest 3. CHANGE_FLAVOUR: ChangeVnfFlavourRequest4. HEAL: HealVnfRequest 5. TERMINATE: TerminateVnfRequest ", + "type":"object", + "additionalProperties":{ + "type":"string" + } + }, + "isCancelPending":{ + "title":"Iscancelpending", + "description":"If the NS LCM operation occurrence is in 'STARTING' or 'PROCESSING' or 'ROLLING_BACK' state and the operation is being cancelled, this attribute shall be set to True. Otherwise, it shall be set to False.", + "type":"boolean" + }, + "cancelMode":{ + "title":"Cancelmode", + "description":"The mode of an ongoing cancellation. Shall be present when isCancelPending=true, and shall be None otherwise.", + "type":"string" + }, + "error":{ + "$ref":"#/definitions/ProblemDetails" + }, + "resourceChanges":{ + "$ref":"#/definitions/ResourceChanges" + }, + "_links":{ + "$ref":"#/definitions/LcmOpLink" + } + } + }, + "NsInstanceSubscriptionFilter":{ + "title":"Nsinstancesubscriptionfilter", + "description":"Filter criteria to select NS instances about which to notify.", + "type":"object", + "properties":{ + "nsdIds":{ + "description":"If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.", + "type":"array", + "items":{ + "type":"string", + "format":"uuid" + } + }, + "vnfdIds":{ + "description":"If present, match NS instances that contain VNF instances that were created based on identified by one of the vnfdId values listed in this attribute.", + "type":"array", + "items":{ + "type":"string", + "format":"uuid" + } + }, + "pnfdIds":{ + "description":"If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute", + "type":"array", + "items":{ + "type":"string", + "format":"uuid" + } + }, + "nsInstanceIds":{ + "description":"If present, match NS instances with an instance identifier listed in this attribute", + "type":"array", + "items":{ + "type":"string", + "format":"uuid" + } + }, + "nsInstanceNames":{ + "description":"If present, match NS instances with a NS Instance Name listed in this attribute.", + "type":"array", + "items":{ + "type":"string", + "maxLength":255 + } + } + } + }, + "LifeCycleChangeNotificationsFilter":{ + "title":"Filter", + "description":"Filter settings for this subscription, to define the of all notifications this subscription relates to A particular notification is sent to the subscriber if the filter matches, or if there is no filter.", + "type":"object", + "properties":{ + "nsInstanceSubscriptionFilter":{ + "$ref":"#/definitions/NsInstanceSubscriptionFilter" + }, + "notificationTypes":{ + "description":"Match particular notification types", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "NsLcmOperationOccurrenceNotification", + "NsIdentifierCreationNotification", + "NsIdentifierDeletionNotification", + "NsChangeNotification" + ] + } + }, + "operationTypes":{ + "description":"Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification.", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "INSTANTIATE", + "SCALE", + "TERMINATE", + "HEAL", + "UPDATE" + ] + } + }, + "operationStates":{ + "description":"Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification.", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "STARTING", + "PROCESSING", + "COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + } + }, + "nsComponentTypes":{ + "description":"Match particular NS component types for the notification of type NsChangeNotification. ", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "VNF", + "PNF", + "NS" + ] + } + }, + "lcmOpNameImpactingNsComponent":{ + "description":"Match particular LCM operation names for the notification of type NsChangeNotification. ", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "VNF_INSTANTIATE", + "VNF_SCALE", + "VNF_SCALE_TO_LEVEL", + "VNF_CHANGE_FLAVOUR", + "VNF_TERMINATE", + "VNF_HEAL", + "VNF_OPERATE", + "VNF_CHANGE_EXT_CONN", + "VNF_MODIFY_INFO", + "NS_INSTANTIATE", + "NS_SCALE", + "NS_UPDATE", + "NS_TERMINATE", + "NS_HEAL" + ] + } + }, + "lcmOpOccStatusImpactingNsComponent":{ + "description":"Match particular LCM operation status values as reported in notifications of type NsChangeNotification.", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "START", + "COMPLETED ", + "PARTIALLY_COMPLETED", + "FAILED", + "ROLLED_BACK" + ] + } + } + } + }, + "LccnSubscriptionLink":{ + "title":" links", + "description":"Links to resources related to this resource.", + "required":[ + "self" + ], + "type":"object", + "properties":{ + "self":{ + "$ref":"#/definitions/Link" + } + } + }, + "LccnSubscription":{ + "required":[ + "id", + "callbackUri", + "_links" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this subscription resource.", + "type":"string", + "maxLength":255 + }, + "callbackUri":{ + "title":"Callbackuri", + "description":"The URI of the endpoint to send the notification to.", + "type":"string", + "maxLength":255 + }, + "filter":{ + "$ref":"#/definitions/LifeCycleChangeNotificationsFilter" + }, + "_links":{ + "$ref":"#/definitions/LccnSubscriptionLink" + } + } + }, + "BasicAuth":{ + "title":"Paramsbasic", + "description":"Parameters for authentication/authorization using BASIC.", + "type":"object", + "properties":{ + "userName":{ + "title":"Username", + "description":"Username to be used in HTTP Basic authentication.", + "type":"string", + "maxLength":255 + }, + "password":{ + "title":"Password", + "description":"Password to be used in HTTP Basic authentication.", + "type":"string", + "maxLength":255 + } + } + }, + "OAuthCredentials":{ + "title":"Paramsoauth2clientcredentials", + "description":"Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS.", + "type":"object", + "properties":{ + "clientId":{ + "title":"Clientid", + "description":"Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.", + "type":"string", + "maxLength":255 + }, + "clientPassword":{ + "title":"Clientpassword", + "description":"Client password to be used in the access token request of the OAuth 2.0 client credentials grant type.", + "type":"string", + "maxLength":255 + }, + "tokenEndpoint":{ + "title":"Tokenendpoint", + "description":"The token endpoint from which the access token can be obtained.", + "type":"string", + "maxLength":255 + } + } + }, + "SubscriptionAuthentication":{ + "title":"Authentication", + "description":"Authentication parameters to conFigure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 4.5.3 This attribute shall only be present if the subscriber requires authorization of notifications.", + "required":[ + "authType" + ], + "type":"object", + "properties":{ + "authType":{ + "description":"Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification.", + "type":"array", + "items":{ + "type":"string", + "enum":[ + "BASIC", + "OAUTH2_CLIENT_CREDENTIALS", + "TLS_CERT" + ] + } + }, + "paramsBasic":{ + "$ref":"#/definitions/BasicAuth" + }, + "paramsOauth2ClientCredentials":{ + "$ref":"#/definitions/OAuthCredentials" + } + } + }, + "LccnSubscriptionRequest":{ + "required":[ + "callbackUri" + ], + "type":"object", + "properties":{ + "callbackUri":{ + "title":"Callbackuri", + "description":"The URI of the endpoint to send the notification to.", + "type":"string" + }, + "filter":{ + "$ref":"#/definitions/LifeCycleChangeNotificationsFilter" + }, + "authentication":{ + "$ref":"#/definitions/SubscriptionAuthentication" + } + } + }, + "VimInfoResp":{ + "required":[ + "vimId", + "name", + "url", + "userName", + "password", + "type" + ], + "type":"object", + "properties":{ + "vimId":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + }, + "name":{ + "title":"Name", + "description":"Name of VIM", + "type":"string" + }, + "url":{ + "title":"Url", + "description":"Url of VIM", + "type":"string" + }, + "userName":{ + "title":"Username", + "description":"User Name of VIM", + "type":"string" + }, + "password":{ + "title":"Password", + "description":"Password of VIM", + "type":"string" + }, + "tenantId":{ + "title":"Tenantid", + "description":"Tenant ID of VIM", + "type":"string" + }, + "tenant":{ + "title":"Tenant", + "description":"Default Tenant of VIM", + "type":"string" + }, + "vendor":{ + "title":"Vendor", + "description":"Vendor of VIM", + "type":"string" + }, + "version":{ + "title":"Version", + "description":"Version of VIM", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Description of VIM", + "type":"string" + }, + "domain":{ + "title":"Domain", + "description":"Domain of VIM", + "type":"string" + }, + "type":{ + "title":"Type", + "description":"Type of VIM", + "type":"string" + }, + "createTime":{ + "title":"Createtime", + "description":"Create Time of VIM", + "type":"string" + }, + "sslCacert":{ + "title":"Sslcacert", + "description":"SSL Cacert of VIM", + "type":"string" + }, + "sslInsecure":{ + "title":"Sslinsecure", + "description":"SSL Insecure of VIM", + "type":"string" + }, + "status":{ + "title":"Status", + "description":"Status of VIM", + "type":"string" + } + } + }, + "VnfmInfoResp":{ + "required":[ + "vnfmId", + "name", + "type", + "vimId" + ], + "type":"object", + "properties":{ + "vnfmId":{ + "title":"Vnfmid", + "description":"ID of VNFM", + "type":"string" + }, + "name":{ + "title":"Name", + "description":"Name of VNFM", + "type":"string" + }, + "type":{ + "title":"Type", + "description":"Type of VNFM", + "type":"string" + }, + "vimId":{ + "title":"Vimid", + "description":"ID of VIM", + "type":"string" + }, + "vendor":{ + "title":"Vendor", + "description":"Vendor of VNFM", + "type":"string" + }, + "version":{ + "title":"Version", + "description":"Version of VNFM", + "type":"string" + }, + "description":{ + "title":"Description", + "description":"Description of VNFM", + "type":"string" + }, + "certificateUrl":{ + "title":"Certificateurl", + "description":"Certificate PEM of VNFM", + "type":"string" + }, + "url":{ + "title":"Url", + "description":"url of VNFM", + "type":"string" + }, + "userName":{ + "title":"Username", + "description":"User Name of VNFM", + "type":"string" + }, + "password":{ + "title":"Password", + "description":"Password of VNFM", + "type":"string" + }, + "createTime":{ + "title":"Createtime", + "description":"Create Time of VNFM", + "type":"string" + } + } + }, + "VerifyVnfReq":{ + "required":[ + "PackageID" + ], + "type":"object", + "properties":{ + "PackageID":{ + "title":"Packageid", + "description":"ID of Package", + "type":"string" + } + } + }, + "VerifyVnfResp":{ + "required":[ + "jobId" + ], + "type":"object", + "properties":{ + "jobId":{ + "title":"Jobid", + "description":"ID of Job", + "type":"string" + } + } + }, + "ResourceDefinition":{ + "description":"List of resource definitions in the VNFD for resources to be added by the LCM operation.", + "required":[ + "id", + "type" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this ResourceDefinition, unique at least within the scope of the GrantRequest.", + "type":"string" + }, + "type":{ + "title":"Type", + "description":"Type of the resource definition referenced.", + "type":"string", + "enum":[ + "COMPUTE", + "VL", + "STORAGE", + "LINKPORT" + ] + }, + "vduId":{ + "title":"Vduid", + "description":"Reference to the related VDU in the VNFD applicable to this resource.", + "type":"string" + }, + "resourceTemplateId":{ + "title":"Resourcetemplateid", + "description":"Reference to a resource template(such as VnfVirtualLinkDesc) in the VNFD.", + "type":"string" + }, + "resource":{ + "$ref":"#/definitions/ResourceHandle" + } + } + }, + "ConstraintResourceRef":{ + "description":"References to resources in the constraint rule.", + "required":[ + "idType", + "resourceId" + ], + "type":"object", + "properties":{ + "idType":{ + "title":"Idtype", + "description":"The type of the identifier.", + "type":"string", + "enum":[ + "RES_MGMT", + "GRANT" + ] + }, + "resourceId":{ + "title":"Resourceid", + "description":"An actual resource-management-level identifier(idType=RES_MGMT), or an identifier that references a ResourceDefinition(idType=GRANT).", + "type":"string" + }, + "vimConnectionId":{ + "title":"Vimconnectionid", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifier of the resource provider. It shall only be present when idType = RES_MGMT.", + "type":"string" + } + } + }, + "PlacementConstraint":{ + "description":"Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision.", + "required":[ + "affinityOrAntiAffinity", + "scope" + ], + "type":"object", + "properties":{ + "affinityOrAntiAffinity":{ + "title":"Affinityorantiaffinity", + "description":"The type of the constraint.", + "type":"string", + "enum":[ + "AFFINITY", + "ANTI_AFFINITY" + ] + }, + "scope":{ + "title":"Scope", + "description":"The scope of the placement constraint indicating the category of the place where the constraint applies.", + "type":"string", + "enum":[ + "NFVI_POP", + "ZONE", + "ZONE_GROUP", + "NFVI_NODE" + ] + }, + "resource":{ + "description":"References to resources in the constraint rule.", + "type":"array", + "items":{ + "$ref":"#/definitions/ConstraintResourceRef" + } + } + } + }, + "VimConstraint":{ + "description":"Used by the VNFM to require that multiple resources are managed through the same VIM connection.", + "type":"object", + "properties":{ + "sameResourceGroup":{ + "title":"Sameresourcegroup", + "description":"Set to true when the constraint applies not only to the same VIM connection, but also to the same infrastructure resource group.", + "type":"boolean" + }, + "resource":{ + "description":"References to resources in the constraint rule.", + "type":"array", + "items":{ + "$ref":"#/definitions/ConstraintResourceRef" + } + } + } + }, + "GrantRequestLinks":{ + "title":" links", + "description":"Links to resources related to this request.", + "required":[ + "vnfLcmOpOcc", + "vnfInstance" + ], + "type":"object", + "properties":{ + "vnfLcmOpOcc":{ + "$ref":"#/definitions/Link" + }, + "vnfInstance":{ + "$ref":"#/definitions/Link" + } + } + }, + "GrantRequest":{ + "required":[ + "vnfInstanceId", + "operation", + "isAutomaticInvocation" + ], + "type":"object", + "properties":{ + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the VNF instance which this grant request is related to.", + "type":"string" + }, + "vnfLcmOpOccId":{ + "title":"Vnflcmopoccid", + "description":"The identifier of the VNF lifecycle management operation occurrence associated to the GrantRequest.", + "type":"string" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"Identifier of the VNFD that defines the VNF for which the LCM operation is to be granted.", + "type":"string" + }, + "flavourId":{ + "title":"Flavourid", + "description":"Identifier of the VNF deployment flavour of the VNFD that defines the VNF for which the LCM operation is to be granted.", + "type":"string" + }, + "operation":{ + "title":"Operation", + "description":"The lifecycle management operation for which granting is requested.", + "type":"string", + "enum":[ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO" + ] + }, + "isAutomaticInvocation":{ + "title":"Isautomaticinvocation", + "description":"Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM, set to false otherwise.", + "type":"boolean" + }, + "instantiationLevelId":{ + "title":"Instantiationlevelid", + "description":"If operation=INSTANTIATE, the identifier of the instantiation level may be provided as an alternative way to define the resources to be added.", + "type":"string" + }, + "addResources":{ + "description":"List of resource definitions in the VNFD for resources to be added by the LCM operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceDefinition" + } + }, + "tempResources":{ + "description":"List of resource definitions in the VNFD for resources to be temporarily instantiated during the runtime of the LCM operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceDefinition" + } + }, + "removeResources":{ + "description":"Provides the definitions of resources to be removed by the LCM operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceDefinition" + } + }, + "updateResources":{ + "description":"Provides the definitions of resources to be modified by the LCM operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/ResourceDefinition" + } + }, + "placementConstraints":{ + "description":"Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision.", + "type":"array", + "items":{ + "$ref":"#/definitions/PlacementConstraint" + } + }, + "vimConstraints":{ + "description":"Used by the VNFM to require that multiple resources are managed through the same VIM connection.", + "type":"array", + "items":{ + "$ref":"#/definitions/VimConstraint" + } + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Additional parameters passed by the VNFM.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "_links":{ + "$ref":"#/definitions/GrantRequestLinks" + } + } + }, + "VimConnectionInfo":{ + "description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources.", + "required":[ + "id" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"The identifier of the VIM Connection. This identifier is managed by the NFVO.", + "type":"string" + }, + "vimId":{ + "title":"Vimid", + "description":"The identifier of the VIM instance. This identifier is managed by the NFVO.", + "type":"string" + }, + "vimType":{ + "title":"Vimtype", + "description":"Discriminator for the different types of the VIM information.", + "type":"string" + }, + "interfaceInfo":{ + "title":"Interfaceinfo", + "description":"Information about the interface or interfaces to the VIM.", + "type":"object", + "additionalProperties":{ + "description":"Interface Info", + "type":"string" + } + }, + "accessInfo":{ + "title":"Accessinfo", + "description":"Authentication credentials for accessing the VIM.", + "type":"object", + "additionalProperties":{ + "description":"Access Info", + "type":"string" + } + }, + "extra":{ + "title":"Extra", + "description":"VIM type specific additional information.", + "type":"object", + "additionalProperties":{ + "description":"Extra", + "type":"string" + } + } + } + }, + "ZoneInfo":{ + "description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.", + "required":[ + "id" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the Grant structure.", + "type":"string" + }, + "zoneId":{ + "title":"Zoneid", + "description":"The identifier of the resource zone, as managed by the resource management layer(typically, the VIM).", + "type":"string" + }, + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the connection to the VIM that manages the resource zone.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management the resource zone.", + "type":"string" + } + } + }, + "ZoneGroupInfo":{ + "description":"Information about groups of resource zones.", + "type":"object", + "properties":{ + "zoneId":{ + "description":"References of identifiers of ZoneInfo structures.", + "type":"array", + "items":{ + "description":"IdentifierLocal", + "type":"string" + } + } + } + }, + "GrantInfo":{ + "description":"List of resources that are approved to be added.", + "required":[ + "resourceDefinitionId" + ], + "type":"object", + "properties":{ + "resourceDefinitionId":{ + "title":"Resourcedefinitionid", + "description":"Identifier of the related ResourceDefinition from the related GrantRequest.", + "type":"string" + }, + "reservationId":{ + "title":"Reservationid", + "description":"The reservation identifier applicable to the VNFC/VirtualLink/VirtualStorage.", + "type":"string" + }, + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to be used to manage this resource.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of the virtualised resource.", + "type":"string" + }, + "zoneId":{ + "title":"Zoneid", + "description":"Reference to the identifier of the ZoneInfo in the Grant.", + "type":"string" + }, + "resourceGroupId":{ + "title":"Resourcegroupid", + "description":"Identifier of the infrastructure resource group.", + "type":"string" + } + } + }, + "VimComputeResourceFlavour":{ + "description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.", + "type":"object", + "properties":{ + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to access the flavour referenced in this structure.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of the virtualised resource.", + "type":"string" + }, + "vnfdVirtualComputeDescId":{ + "title":"Vnfdvirtualcomputedescid", + "description":"Identifier which references the virtual compute descriptor in the VNFD that maps to this flavour.", + "type":"string" + }, + "vimFlavourId":{ + "title":"Vimflavourid", + "description":"Identifier of the compute resource flavour in the resource management layer (i.e. VIM).", + "type":"string" + } + } + }, + "VimSoftwareImage":{ + "description":"Mappings between software images defined in the VNFD and software images managed in the VIM.", + "type":"object", + "properties":{ + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to access the flavour referenced in this structure.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of the virtualised resource.", + "type":"string" + }, + "vnfdSoftwareImageId":{ + "title":"Vnfdsoftwareimageid", + "description":"Identifier which references the software image descriptor in the VNFD.", + "type":"string" + }, + "vimSoftwareImageId":{ + "title":"Vimsoftwareimageid", + "description":"Identifier of the software image in the resource management layer (i.e. VIM).", + "type":"string" + } + } + }, + "VimAssets":{ + "title":"Vimassets", + "description":"Information about assets for the VNF that are managed by the NFVO in the VIM.", + "type":"object", + "properties":{ + "computeResourceFlavours":{ + "description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.", + "type":"array", + "items":{ + "$ref":"#/definitions/VimComputeResourceFlavour" + } + }, + "softwareImages":{ + "description":"Mappings between software images defined in the VNFD and software images managed in the VIM.", + "type":"array", + "items":{ + "$ref":"#/definitions/VimSoftwareImage" + } + } + } + }, + "IpAddresse":{ + "description":"List of IP addresses to assign to the CP instance.", + "required":[ + "type", + "numDynamicAddresses" + ], + "type":"object", + "properties":{ + "type":{ + "title":"Type", + "description":"The type of the IP addresses.", + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses":{ + "description":"Fixed addresses to assign.", + "type":"array", + "items":{ + "description":"IpAddress", + "type":"string" + } + }, + "numDynamicAddresses":{ + "title":"Numdynamicaddresses", + "description":"Number of dynamic addresses to assign.", + "type":"integer" + }, + "addressRange":{ + "$ref":"#/definitions/AddressRange" + }, + "subnetId":{ + "title":"Subnetid", + "description":"Subnet defined by the identifier of the subnet resource in the VIM.", + "type":"string" + } + } + }, + "IpOverEthernetAddress":{ + "title":"Ipoverethernet", + "description":"Network address data for IP over Ethernet to assign to the extCP instance.", + "type":"object", + "properties":{ + "macAddress":{ + "title":"Macaddress", + "description":"MAC address.", + "type":"string" + }, + "ipAddresses":{ + "description":"List of IP addresses to assign to the CP instance.", + "type":"array", + "items":{ + "$ref":"#/definitions/IpAddresse" + } + } + } + }, + "CpProtocolDataConfig":{ + "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL.", + "required":[ + "layerProtocol" + ], + "type":"object", + "properties":{ + "layerProtocol":{ + "title":"Layerprotocol", + "description":"Identifier of layer(s) and protocol(s).", + "type":"string", + "enum":[ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet":{ + "$ref":"#/definitions/IpOverEthernetAddress" + } + } + }, + "VnfExtCpConfigData":{ + "description":"List of instance data that need to be configured on the CP instances created from the respective CPD.", + "type":"object", + "properties":{ + "cpInstanceId":{ + "title":"Cpinstanceid", + "description":"Identifier of the external CP instance to which this set of configuration parameters is requested to be applied.", + "type":"string" + }, + "linkPortId":{ + "title":"Linkportid", + "description":"Identifier of a pre-configured link port to which the external CP will be associated.", + "type":"string" + }, + "cpProtocolData":{ + "description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/CpProtocolDataConfig" + } + } + } + }, + "VnfExtCp":{ + "description":"External CPs of the VNF to be connected to this external VL.", + "required":[ + "cpdId" + ], + "type":"object", + "properties":{ + "cpdId":{ + "title":"Cpdid", + "description":"The identifier of the CPD in the VNFD.", + "type":"string" + }, + "cpConfig":{ + "description":"List of instance data that need to be configured on the CP instances created from the respective CPD.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfExtCpConfigData" + } + } + } + }, + "ExtLinkPort":{ + "description":"Externally provided link ports to be used to connect external connection points to this external VL.", + "required":[ + "id", + "resourceHandle" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this link port as provided by the entity that has created the link port.", + "type":"string" + }, + "resourceHandle":{ + "title":"Resourcehandle", + "description":"Reference to the virtualised resource realizing this link port.", + "type":"string" + } + } + }, + "ExtVirtualLink":{ + "description":"Information about external VLs to connect the VNF to.", + "required":[ + "id", + "resourceId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"The identifier of the external VL instance.", + "type":"string" + }, + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to manage this resource.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of this resource.", + "type":"string" + }, + "resourceId":{ + "title":"Resourceid", + "description":"The identifier of the resource in the scope of the VIM or the resource provider.", + "type":"string" + }, + "extCps":{ + "description":"External CPs of the VNF to be connected to this external VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/VnfExtCp" + } + }, + "extLinkPorts":{ + "description":"Externally provided link ports to be used to connect external connection points to this external VL.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtLinkPort" + } + } + } + }, + "ExtManagedVirtualLink":{ + "description":"Information about internal VLs that are managed by other entities than the VNFM.", + "required":[ + "id", + "virtualLinkDescId", + "resourceId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"The identifier of the externally-managed internal VL instance.", + "type":"string" + }, + "virtualLinkDescId":{ + "title":"Virtuallinkdescid", + "description":"The identifier of the VLD in the VNFD for this VL.", + "type":"string" + }, + "vimConnectionId":{ + "title":"Vimconnectionid", + "description":"Identifier of the VIM connection to manage this resource.", + "type":"string" + }, + "resourceProviderId":{ + "title":"Resourceproviderid", + "description":"Identifies the entity responsible for the management of this resource.", + "type":"string" + }, + "resourceId":{ + "title":"Resourceid", + "description":"The identifier of the resource in the scope of the VIM or the resource provider.", + "type":"string" + } + } + }, + "GrantLinks":{ + "title":" links", + "description":"Links to resources related to this resource.", + "required":[ + "self", + "vnfLcmOpOcc", + "vnfInstance" + ], + "type":"object", + "properties":{ + "self":{ + "$ref":"#/definitions/Link" + }, + "vnfLcmOpOcc":{ + "$ref":"#/definitions/Link" + }, + "vnfInstance":{ + "$ref":"#/definitions/Link" + } + } + }, + "Grant":{ + "description":"The grant was created successfully (synchronous mode).", + "required":[ + "id", + "vnfInstanceId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the grant.", + "type":"string" + }, + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"Identifier of the related VNF instance.", + "type":"string" + }, + "vnfLcmOpOccId":{ + "title":"Vnflcmopoccid", + "description":"Identifier of the related VNF lifecycle management operation occurrence.", + "type":"string" + }, + "vimConnections":{ + "description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources.", + "type":"array", + "items":{ + "$ref":"#/definitions/VimConnectionInfo" + } + }, + "zones":{ + "description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.", + "type":"array", + "items":{ + "$ref":"#/definitions/ZoneInfo" + } + }, + "zoneGroups":{ + "description":"Information about groups of resource zones.", + "type":"array", + "items":{ + "$ref":"#/definitions/ZoneGroupInfo" + } + }, + "computeReservationId":{ + "title":"Computereservationid", + "description":"Information that identifies a reservation applicable to the compute resource requirements.", + "type":"string" + }, + "networkReservationId":{ + "title":"Networkreservationid", + "description":"Information that identifies a reservation applicable to the network resource requirements.", + "type":"string" + }, + "storageReservationId":{ + "title":"Storagereservationid", + "description":"Information that identifies a reservation applicable to the storage resource requirements.", + "type":"string" + }, + "addResources":{ + "description":"List of resources that are approved to be added.", + "type":"array", + "items":{ + "$ref":"#/definitions/GrantInfo" + } + }, + "tempResources":{ + "description":"List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/GrantInfo" + } + }, + "removeResources":{ + "description":"List of resources that are approved to be removed.", + "type":"array", + "items":{ + "$ref":"#/definitions/GrantInfo" + } + }, + "updateResources":{ + "description":"List of resources that are approved to be modified.", + "type":"array", + "items":{ + "$ref":"#/definitions/GrantInfo" + } + }, + "vimAssets":{ + "$ref":"#/definitions/VimAssets" + }, + "extVirtualLinks":{ + "description":"Information about external VLs to connect the VNF to.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtVirtualLink" + } + }, + "extManagedVirtualLinks":{ + "description":"Information about internal VLs that are managed by other entities than the VNFM.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtManagedVirtualLink" + } + }, + "additionalParams":{ + "title":"Additionalparams", + "description":"Additional parameters passed by the NFVO, specific to the VNF and the LCM operation.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "_links":{ + "$ref":"#/definitions/GrantLinks" + } + } + }, + "AffectedVnfc":{ + "description":"Information about VNFC instances that were affected during the lifecycle operation.", + "required":[ + "id", + "vduId", + "changeType", + "computeResource" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the Vnfc instance.", + "type":"string" + }, + "vduId":{ + "title":"Vduid", + "description":"Identifier of the related VDU in the VNFD.", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change.", + "type":"string", + "enum":[ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "computeResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "affectedVnfcCpIds":{ + "description":"Identifiers of CP(s) of the VNFC instance that were affected by the change.", + "type":"array", + "items":{ + "description":"Identifier In Vnf", + "type":"string" + } + }, + "addedStorageResourceIds":{ + "description":"References to VirtualStorage resources that have been added.", + "type":"array", + "items":{ + "description":"Identifier In Vnf", + "type":"string" + } + }, + "removedStorageResourceIds":{ + "description":"References to VirtualStorage resources that have been removed.", + "type":"array", + "items":{ + "description":"Identifier In Vnf", + "type":"string" + } + } + } + }, + "AffectedVirtualLink":{ + "description":"Information about VL instances that were affected during the lifecycle operation.", + "required":[ + "id", + "virtualLinkDescId", + "changeType" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the virtual link instance.", + "type":"string" + }, + "virtualLinkDescId":{ + "title":"Virtuallinkdescid", + "description":"Identifier of the related VLD in the VNFD.", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change.", + "type":"string", + "enum":[ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] + }, + "networkResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "AffectedVirtualStorage":{ + "description":"Information about virtualised storage instances that were affected during the lifecycle operation.", + "required":[ + "id", + "virtualStorageDescId", + "changeType" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of the storage instance.", + "type":"string" + }, + "virtualStorageDescId":{ + "title":"Virtualstoragedescid", + "description":"Identifier of the related VirtualStorage descriptor in the VNFD.", + "type":"string" + }, + "changeType":{ + "title":"Changetype", + "description":"Signals the type of change.", + "type":"string", + "enum":[ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "storageResource":{ + "$ref":"#/definitions/ResourceHandle" + }, + "metadata":{ + "title":"Metadata", + "description":"Metadata about this resource.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + } + } + }, + "VnfInfoModifications":{ + "title":"Changedinfo", + "description":"Information about the changed VNF instance information, including changed VNF configurable properties.", + "type":"object", + "properties":{ + "vnfInstanceName":{ + "title":"Vnfinstancename", + "description":"If present, this attribute signals modifications of the vnfInstanceName attribute in VnfInstance.", + "type":"string" + }, + "vnfInstanceDescription":{ + "title":"Vnfinstancedescription", + "description":"If present, this attribute signals modifications of the vnfInstanceDescription attribute in VnfInstance.", + "type":"string" + }, + "vnfConfigurableProperties":{ + "title":"Vnfconfigurableproperties", + "description":"If present, this attribute signals modifications of the vnfConfigurableProperties attribute in VnfInstance.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "metadata":{ + "title":"Metadata", + "description":"If present, this attribute signals modifications of the metadata attribute in VnfInstance.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "extensions":{ + "title":"Extensions", + "description":"If present, this attribute signals modifications of the extensions attribute in VnfInstance.", + "type":"object", + "additionalProperties":{ + "description":"KeyValue Pairs", + "type":"string" + } + }, + "vimConnectionInfo":{ + "description":"If present, this attribute signals modifications of the vimConnectionInfo attribute in VnfInstance.", + "type":"array", + "items":{ + "$ref":"#/definitions/VimConnectionInfo" + } + }, + "vnfPkgId":{ + "title":"Vnfpkgid", + "description":"If present, this attribute signals modifications of the vnfPkgId attribute in VnfInstance.", + "type":"string" + }, + "vnfdId":{ + "title":"Vnfdid", + "description":"If present, this attribute signals modifications of the vnfdId attribute in VnfInstance.", + "type":"string" + }, + "vnfProvider":{ + "title":"Vnfprovider", + "description":"If present, this attribute signals modifications of the vnfProvider attribute in VnfInstance.", + "type":"string" + }, + "vnfProductName":{ + "title":"Vnfproductname", + "description":"If present, this attribute signals modifications of the vnfProductName attribute in VnfInstance.", + "type":"string" + }, + "vnfSoftwareVersion":{ + "title":"Vnfsoftwareversion", + "description":"If present, this attribute signals modifications of the vnfSoftwareVersion attribute in VnfInstance.", + "type":"string" + }, + "vnfdVersion":{ + "title":"Vnfdversion", + "description":"If present, this attribute signals modifications of the vnfdVersion attribute in VnfInstance.", + "type":"string" + } + } + }, + "LccnLinks":{ + "title":" links", + "description":"Links to resources related to this notification.", + "required":[ + "vnfInstance", + "subscription" + ], + "type":"object", + "properties":{ + "vnfInstance":{ + "$ref":"#/definitions/Link" + }, + "subscription":{ + "$ref":"#/definitions/Link" + }, + "vnfLcmOpOcc":{ + "$ref":"#/definitions/Link" + } + } + }, + "VnfLcmOperationOccurrenceNotification":{ + "description":"A notification about lifecycle changes triggered by a VNF LCM operation occurrence.", + "required":[ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "notificationStatus", + "operationState", + "vnfInstanceId", + "operation", + "isAutomaticInvocation", + "vnfLcmOpOccId" + ], + "type":"object", + "properties":{ + "id":{ + "title":"Id", + "description":"Identifier of this notification.", + "type":"string" + }, + "notificationType":{ + "title":"Notificationtype", + "description":"Discriminator for the different notification types.", + "type":"string", + "enum":[ + "VnfLcmOperationOccurrenceNotification", + "VnfIdentifierCreationNotification", + "VnfIdentifierDeletionNotification" + ] + }, + "subscriptionId":{ + "title":"Subscriptionid", + "description":"Identifier of the subscription that this notification relates to.", + "type":"string" + }, + "timeStamp":{ + "title":"Timestamp", + "description":"Date-time of the generation of the notification.", + "type":"string" + }, + "notificationStatus":{ + "title":"Notificationstatus", + "description":"Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation.", + "type":"string", + "enum":[ + "START", + "RESULT" + ] + }, + "operationState":{ + "title":"Operationstate", + "description":"The state of the VNF LCM operation occurrence.", + "type":"string", + "enum":[ + "STARTING", + "PROCESSING", + "COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "vnfInstanceId":{ + "title":"Vnfinstanceid", + "description":"The identifier of the VNF instance affected.", + "type":"string" + }, + "operation":{ + "title":"Operation", + "description":"The lifecycle management operation.", + "type":"string", + "enum":[ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO" + ] + }, + "isAutomaticInvocation":{ + "title":"Isautomaticinvocation", + "description":"Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM.", + "type":"boolean" + }, + "vnfLcmOpOccId":{ + "title":"Vnflcmopoccid", + "description":"The identifier of the VNF lifecycle management operation occurrence associated to the notification.", + "type":"string" + }, + "affectedVnfcs":{ + "description":"Information about VNFC instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVnfc" + } + }, + "affectedVirtualLinks":{ + "description":"Information about VL instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVirtualLink" + } + }, + "affectedVirtualStorages":{ + "description":"Information about virtualised storage instances that were affected during the lifecycle operation.", + "type":"array", + "items":{ + "$ref":"#/definitions/AffectedVirtualStorage" + } + }, + "changedInfo":{ + "$ref":"#/definitions/VnfInfoModifications" + }, + "changedExtConnectivity":{ + "description":"Information about changed external connectivity.", + "type":"array", + "items":{ + "$ref":"#/definitions/ExtVirtualLinkInfo" + } + }, + "error":{ + "$ref":"#/definitions/ProblemDetails" + }, + "_links":{ + "$ref":"#/definitions/LccnLinks" + } + } + } + } +} diff --git a/docs/platform/APIs/NSLCM_API/index.rst b/docs/platform/APIs/NSLCM_API/index.rst index 686ddb93..891294c2 100644 --- a/docs/platform/APIs/NSLCM_API/index.rst +++ b/docs/platform/APIs/NSLCM_API/index.rst @@ -3,4 +3,4 @@ NSLCM API --------- -.. swaggerv2doc:: NSLCM_API_Specification_v0.1.json +.. swaggerv2doc:: NSLCM_API_Specification_v1.json diff --git a/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst index c5c63c85..ec6c58fa 100644 --- a/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst +++ b/docs/platform/APIs/VNFLCM_API/VNFLCM_API.rst @@ -1,1685 +1,1685 @@ -.. contents::
- :depth: 3
-..
-
- **GVNFM Northbound & Southbound APIs**
- **V0.1**
-
-**1 Scope**
-=============
-
-The scope of the present document is to describe the GVNFM exposed API specification over Or-Vnfm reference point and Ve-Vnfm-vnf reference point.
-Some content has been updated, about the API Swagger definition, you can find here 'GVNFM_LCM_APIs<https://gerrit.onap.org/r/gitweb?p=vfc/gvnfm/vnflcm.git;a=blob;f=lcm/lcm/swagger/swagger.json;h=f098d282927d3535f5e9e6950f26b9171e04d30c;hb=HEAD>'.
-
-
-**2 Terms, Definitions and Abbreviations**
-===========================================
-
- For the purposes of the present document, the following
- abbreviations apply:
-
-+------------------------+-----------------------------------------------------+
-| **Abbreviation** | |
-+========================+=====================================================+
-| NFVO | Network Functions Virtualization Orchestrator |
-+------------------------+-----------------------------------------------------+
-| VNFM | Virtual Network Function Manager |
-+------------------------+-----------------------------------------------------+
-| VNF | Virtual Network Function |
-+------------------------+-----------------------------------------------------+
-
-Table 2-1 abbreviations
-
-**3. Interfaces provided by GVNFM** (Or-Vnfm)
-==========================================================
-
- Interfaces use RESTful API and the format is as follows:
- http(s)://[hostname][:port]/gvnfmapi/lcm/v1/[……]
-
-|image0|
-
-
- **{apiRoot} is** http(s)://[hostname][:port]/gvnfmapi
-
-**3.1 Create VNF Identifier**
------------------------------
-
-+---------------------+--------------------------------------------------------------+
-| If Definition | Description |
-+=====================+==============================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances |
-+---------------------+--------------------------------------------------------------+
-| Operation | POST |
-+---------------------+--------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+--------------------------------------------------------------+
-
-**3.1.1 Request**
-
-+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+===========================+=============+===============+==================+=====================================================================================+
-| vnfdId | M | 1 | Identifier | Identifier that identifies the VNFD which defines the VNF instance to be created. |
-+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+
-| vnfInstanceName | M | 1 | String | Human-readable name of the VNF instance to be created. |
-+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+
-| vnfInstanceDescription | O | 0..1 | String | Human-readable description of the VNF instance to be created. |
-+---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+
-
- {
- "vnfdId": "zte\_vFW\_51610",
- "vnfInstanceName": "vFW\_01",
- "vnfInstanceDescription": " vFW in Nanjing TIC Edge"
-
- }
-
-**3.1.2 Response**
-
-+-----------------+-------------+---------------+------------------+-----------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=================+=============+===============+==================+=========================================+
-| vnfInstanceId | M | 1 | Identifier | VNF instance identifier just created. |
-+-----------------+-------------+---------------+------------------+-----------------------------------------+
-
- {
- "vnfInstanceId": "1"
-
- }
-
-**3.1.3 Response Code**
-
-+-----------+-----------------------+-----------------------------------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+===========================================================+
-| 201 | Created | A VNF Instance identifier was created successfully. |
-+-----------+-----------------------+-----------------------------------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+-----------------------------------------------------------+
-
-**3.2 Delete VNF Identifier**
------------------------------
-
-+---------------------+------------------------------------------------------------------------------+
-| If Definition | Description |
-+=====================+==============================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId} |
-+---------------------+------------------------------------------------------------------------------+
-| Operation | DELETE |
-+---------------------+------------------------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+------------------------------------------------------------------------------+
-
-**3.2.1 Request**
-
-+-------------+-------------+---------------+---------------+---------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+===============+===============+
-| n/a | | | | |
-+-------------+-------------+---------------+---------------+---------------+
-
-**3.2.2 Response**
-
-+-------------+-------------+---------------+---------------+---------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+===============+===============+
-| n/a | | | | |
-+-------------+-------------+---------------+---------------+---------------+
-
-**3.2.3 Response Code**
-
-+--------+-----------+-------------------+
-| Code | Meaning | Description |
-+--------+-----------+-------------------+
-
-+-----------+-----------------------+----------------------------------------------------------------------------------------------+
-| 204 | No Content | The VNF instance resource and the associated VNF identifier were deleted successfully. |
-+===========+=======================+==============================================================================================+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+----------------------------------------------------------------------------------------------+
-
-**3.3 Instantiate VNF**
------------------------
-
-+---------------------+-------------------------------------------------------------------------------------------+
-| If Definition | Description |
-+=====================+===========================================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId}/instantiate |
-+---------------------+-------------------------------------------------------------------------------------------+
-| Operation | POST |
-+---------------------+-------------------------------------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+-------------------------------------------------------------------------------------------+
-
-3.3.1 **Request**
-
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+====================+===========+=============+=====================+===============================================================+
-| flavourId | M | 1 | IdentifierInV nfd | Identifier of the VNF deployment flavour to be instantiated. |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| instantiation | O | 0..1 | IdentifierInVnfd | Identifier of the instantiation |
-| LevelId | | | | level of the deployment |
-| | | | | flavour to be instantiated. If |
-| | | | | not present, the default |
-| | | | | instantiation level as |
-| | | | | declared in the VNFD is |
-| | | | | instantiated. |
-| | | | | |
-| | | | | Reserved |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| extVirtualLinks | O | 0..N | ExtVirtualLin kData | Information about external VLs to connect the VNF to. |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| extManagedVirtualL | O | 0..N | ExtManaged | Information about internal |
-| inks | | | VirtualLinkData | VLs that are managed by |
-| | | | | other entities than the VNFM. |
-| | | | | |
-| | | | | Reserved |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| localization | O | 0..1 | String | Localization language of the VNF to be instantiated can be |
-| Language | | | | declared in the VNFD. The value shall comply with the format |
-| | | | | defined in IETF RFC 5646 [6]. |
-| | | | | |
-| | | | | Reserved |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-| additionalParams | O | 0..N | KeyValuePair | Additional input parameters for the instantiation process, |
-| | | | | specific to the VNF being instantiated. |
-+--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+
-
-**ExtVirtualLinkData:**
-
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality | Content | Description |
-+==================+===========+=============+=================+==================================================================================+
-| vlInstanceId | O | 0..1 | Identifier | Identifier of the VL instance. |
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-| vim | CM | 0..1 | VimInfo | Information about the VIM that manages this resource. |
-| | | | | This attribute shall be supported and present if VNF-related resource management |
-| | | | | in direct mode is applicable. |
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-| resourceProvider | CM | 0..1 | Identifier | Identifies the entity responsible for the management of this resource. |
-| Id | | | | This attribute shall be present if |
-| | | | | VNF-related resource management in indirect mode is applicable. |
-| | | | | |
-| | | | | Reserved |
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-| resourceId | M | 1 | IdentifierInVim | The identifier of the resource in the scope of the VIM or the resource provider. |
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-| extCps | M | 1..N | VnfExtCpData | External CPs of the VNF to be connected to this external VL. |
-+------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+
-
- **VimInfo:**
-
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality | Content | Description |
-+=================+===========+=============+==============+==========================================================================================================================================+
-| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, for the purpose of referencing it from other information elements. |
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| vimId | M | 1 | Identifier | The identifier of the VIM. |
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the VIM, including VIM provider type, API version, and protocol type. |
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the VIM. Examples may include those to support different authentication schemes, e.g., OAuth, |
-| | | | | Token, etc. |
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| interface | M | 1 | String | Information about the interface endpoint. An example is a URL. |
-| Endpoint | | | | Token, etc. |
-+-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+
-
- **interfaceInfo:**
-
-+------------------+---------------+--------------------------------------+
-| **Key Define** | **Content** | **Description** |
-+==================+===============+======================================+
-| vimType | String | The type of the VIM. |
-+------------------+---------------+--------------------------------------+
-| apiVersion | String | The Version of the api of the VIM. |
-+------------------+---------------+--------------------------------------+
-| protocolType | String | http https |
-+------------------+---------------+--------------------------------------+
-
- **accessInfo:**
-
-+------------------+---------------+--------------------------+
-| **Key Define** | **Content** | **Description** |
-+==================+===============+==========================+
-| tenant | String | Tenant Name of tenant |
-+------------------+---------------+--------------------------+
-| username | String | Username for login |
-+------------------+---------------+--------------------------+
-| password | String | Password of login user |
-+------------------+---------------+--------------------------+
-
- **VnfExtCpData:**
-
-+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
-| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** |
-+========================+=====================+=======================+====================+===========================================================+
-| cpdId | M | 1 | IdentifierInVnfd | The identifier of the CPD in the VNFD. |
-+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
-| addresses | O | 0..N | NetworkAddress | List of (fixed) network addresses that |
-| | | | | need to be configured on the CP. This attribute shall |
-| | | | | be present if fixed addresses need to be configured. |
-+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
-| numDynamicAddre sses | O | 0..1 | Integer | Number of network addresses to be assigned dynamically. |
-| | | | | This attribute shall be present if dynamic |
-| | | | | addresses need to be configured. |
-| | | | | Reserved |
-+------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+
-
- **NetworkAddress:**
-
-+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+
-| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** |
-+=================+=====================+=======================+===================+===============================================================================================================+
-| addressType | M | 1 | Enum | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - MAC |
-| | | | | |
-| | | | | - IP |
-+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+
-| l2AddressData | CM | 0..1 | String | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. |
-| | | | | |
-| | | | | Shall be present when the addressType is MAC address. |
-+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+
-| l3AddressData | CM | 0..1 | L3AddressData | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. |
-| | | | | |
-| | | | | Shall be present when the addressType is IP address. |
-+-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+
-
- **L3AddressData:**
-
-+-----------------+---------------------+-----------------------+-------------------+-----------------------+
-| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** |
-+=================+=====================+=======================+===================+=======================+
-| iPAddressType | M | 1 | ENUM | IP address type. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - IPv4 |
-| | | | | |
-| | | | | - IPv6 |
-+-----------------+---------------------+-----------------------+-------------------+-----------------------+
-| iPAddress | M | 1 | String | IP address |
-+-----------------+---------------------+-----------------------+-------------------+-----------------------+
-
- {
-
- "flavourId": "flavour\_1",
- "instantiationLevelId":"instantiationLevel\_1",
- "extVirtualLinks": [
-
- { "vlInstanceId": "1",
- "vim": {
- "vimInfoId": "1",
- "vimId": "1",
- "interfaceInfo": {
-
- "vimType": "vim",
- "apiVersion": "v2",
- "protocolType": "http"
-
- },
- "accessInfo": {
-
- "tenant": "tenant\_vCPE",
- "username": "vCPE",
- "password": "vCPE\_321"
-
- },
- "interfaceEndpoint": "http://10.43.21.105:80/"
-
- },
- "resourceId": "1246",
- "extCps": [
-
- {
- "cpdId": "11", "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:20:a2:a3"
-
- },
- {
-
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "iPAddress": "192.168.104.2"
-
- }
-
- }
-
- ],
- "numDynamicAddresses": 0
-
- },
-
- ...
-
- ]
-
- }
-
- ],
-
- "localizationLanguage": "en\_US", "additionalParams": {...}
-
- }
-
-
-**3.3.2 Response**
-
-+-------------+-------------+---------------+------------------+---------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+==================+=========================================================+
-| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. |
-+-------------+-------------+---------------+------------------+---------------------------------------------------------+
-
- {
-
- "vnfLcOpId": "1"
-
- }
-
- **3.3.3 Response Code**
-
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+==========================================================================================+
-| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. |
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-
-**3.4 Terminate VNF**
----------------------
-
-+---------------------+-----------------------------------------------------------------------------------------+
-| If Definition | Description |
-+=====================+=========================================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId}/term inate |
-+---------------------+-----------------------------------------------------------------------------------------+
-| Operation | POST |
-+---------------------+-----------------------------------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+-----------------------------------------------------------------------------------------+
-
-**3.4.1 Request**
-
-+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+===================+=============+===============+===============+=========================================================================+
-| terminationType | M | 1 | Enum | Indicates whether forceful or graceful termination is requested. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - FORCEFUL: The VNFM |
-| | | | | will shut down the VNF and release the resources immediately |
-| | | | | after accepting the request. |
-| | | | | - GRACEFUL: The VNFM |
-| | | | | |
-| | | | | will first arrange to take the VNF out of service after accepting |
-| | | | | the request. Once the operation is successful or once the timer |
-| | | | | value specified in the |
-| | | | | |
-| | | | | “gracefulTerminationTime out” attribute expires, the VNFM will shut |
-| | | | | down the VNF and release the resources. |
-+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+
-| graceful | O | 0..1 | Integer | This attribute is only |
-| Termination | | | | applicable in case of graceful |
-| Timeout | | | | termination. It defines the |
-| | | | | time to wait for the VNF to be |
-| | | | | taken out of service before |
-| | | | | shutting down the VNF and |
-| | | | | releasing the resources. |
-| | | | | The unit is seconds. |
-| | | | | If not given and the |
-| | | | | "terminationType" |
-| | | | | attribute is set to |
-| | | | | "GRACEFUL", it is expected |
-| | | | | that the VNFM waits for |
-| | | | | the successful taking out of |
-| | | | | service of the VNF, no |
-| | | | | matter how long it takes, |
-| | | | | before shutting down the |
-| | | | | VNF and releasing the |
-| | | | | resources. |
-+-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+
-
- {
- "terminationType": "GRACEFUL",
- "gracefulTerminationTimeout": 120
-
- }
-
-**3.4.2 Response**
-
-+-------------+-------------+---------------+------------------+---------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+==================+=========================================================+
-| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. |
-+-------------+-------------+---------------+------------------+---------------------------------------------------------+
-
- {
- "vnfLcOpId": "2"
-
- }
-
-**3.4.3 Response Code**
-
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+==========================================================================================+
-| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. |
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+------------------------------------------------------------------------------------------+
-
-**3.5 Query multiple VNF**
----------------------------
-+---------------------+--------------------------------------------------------------+
-| If Definition | Description |
-+=====================+==============================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances |
-+---------------------+--------------------------------------------------------------+
-| Operation | GET |
-+---------------------+--------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+--------------------------------------------------------------+
-
-**3.5.1 Request**
-
-+-------------+-------------+---------------+---------------+---------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+===============+===============+
-| n/a | | | | |
-+-------------+-------------+---------------+---------------+---------------+
-
-**3.5.2 Response**
-
-+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+====================+=============+===============+========================+======================================================================================+
-| vnfInstanceInfos | M | 0..N | VnfInstanceI nfo | Returned if information about zero or more VNF instances was queried successfully. |
-+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+
-+--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+
-
- **VnfInstanceInfo:**
-
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier|Cardinality | Content | Description |
-+==================================+==========+============+============================+=======================================================================================================================================================+
-| vnfInstanceId | M | 1 | Identifier | VNF instance identifier. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfInstanceName | M | 1 | String | VNF instance name. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfInstanceDescr iption | M | 1 | String | Human-readable description of the VNF instance. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| onboardedVnfPk gInfoId | M | 1 | Identifier | Identifier of information held by the NFVO about the specific VNF Package on which the VNF is based. This identifier was allocated by the NFVO. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfdId | M | 1 | Identifier | Identifier of the VNFD on which the VNF instance is based. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfdVersion | M | 1 | Identifier | Identifies the version of the VNFD. The value is copied from the VNFD. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfSoftwareVersi on | M | 1 | String | Software version of the VNF. |
-| | | | | |
-| | | | | The value is copied from the VNFD. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfProvider | M | 1 | String | Name of the person or company providing the VNF. |
-| | | | | |
-| | | | | The value is copied from the VNFD. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfProductName | M | 1 | String | Name to identify the VNF Product. The value is copied from the VNFD. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| vnfConfigurableP roperties | O | 0..N | KeyValuePair | Current values of the configurable properties of the VNF instance. |
-| | | | | |
-| | | | | Configurable properties as declared in the VNFD. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| instantiationState | M | 1 | Enum | The instantiation state of the VNF. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - NOT\_INSTANTIATED: The VNF |
-| | | | | |
-| | | | | instance is terminated or not instantiated. |
-| | | | | |
-| | | | | - INSTANTIATED: The VNF instance is instantiated. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| instantiatedVnfInf o | CM | 0..1 | InstantiatedVnf Info | Information specific to an instantiated VNF instance. |
-| | | | | |
-| | | | | This attribute shall be present if the instantiateState attribute value is INSTANTIATED. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| metadata | O | 0..N | KeyValuePair | Additional metadata describing the VNF instance. |
-| | | | | |
-| | | | | This attribute can be modified with the Modify VNF information operation. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-| extensions | O | 0..N | KeyValuePair | VNF-specific attributes. |
-| | | | | |
-| | | | | This attribute can be modified with the Modify VNF information operation. |
-+----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-
- **InstantiatedVnfInfo:**
-
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality| Content | Description |
-+==============================+===========+============+==============================+========================================================================================================================+
-| flavourId | M | 1 | IdentifierInVnfd | Identifier of the VNF deployment flavour to be instantiated. |
-| | | | | |
-| | | | | Reserved |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| vnfState | M | 1 | ENUM | State of the VNF instance. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - STARTED: The VNF instance is up and running. |
-| | | | | |
-| | | | | - STOPPED: The VNF instance has been shut down. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| scaleStatus | O | 0..N | ScaleInfo | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled |
-| | | | | |
-| | | | | w.r.t. that aspect. |
-| | | | | |
-| | | | | This attribute shall be present if the VNF supports scaling. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| extCpInfo | O | 0..N | CpInfo | Information about the external CPs exposed by the VNF instance. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| extVirtualLink | O | 0..N | ExtVirtualLinkI nfo | Information about the external VLs the VNF instance is connected to. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| extManagedVirtu alLink | O | 0..N | extManagedVir tualLinkInfo | Information about the externally-managed internal VLs of the VNF instance. |
-| | | | | |
-| | | | | Reserved |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| monitoringParam eters | O | 0..N | MonitoringPar ameter | Active monitoring parameters. |
-| | | | | |
-| | | | | Reserved |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| localizationLangu age | O | 0..1 | String | Localization language of the VNF to be instantiated. |
-| | | | | |
-| | | | | The value shall comply with the format defined in IETF RFC 5646 [6]. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| vimInfo | CM | 0..N | VimInfo | Information about VIM(s) managing resources for the VNF instance. |
-| | | | | |
-| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| vnfcResourceInfo | CM | 0..N | VnfcResourceI nfo | Information about the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance. |
-| | | | | |
-| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| virtualLinkResourceInfo | CM | 0..N | VirtualLinkRes ourceInfo | Information about the virtualised network resource(s) used by the VLs of the VNF instance. |
-| | | | | |
-| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| virtualStorageResourceInfo | CM | 0..N | VirtualStorage ResourceInfo | Information about the virtualised storage resource(s) used as storage for the VNF instance. |
-| | | | | |
-| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. |
-+------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+
-
-**ScaleInfo:**
-
-+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+==================+=============+====================+====================+=====================================================================================================================================+
-| aspectId | M | 1 | IdentifierInVnfd | Identifier of the scaling aspect. |
-+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-| scaleLevel | M | 1 | Integer | Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. |
-+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-+------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-
- **CpInfo:**
-
-+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+====================+=============+====================+====================+==================================================================+
-| cpInstanceId | M | 1 | Identifier | Identifier of the CP instance. |
-+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+
-| cpdId | M | 1 | IdentifierInVnfd | Identifier of the CPD, in the VNFD. |
-+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+
-| addresses | O | 0..N | NetworkAddre ss | List of network addresses that have been configured on the CP. |
-+--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+
-
- **ExtVirtualLinkInfo:**
-
-+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+========================+=============+====================+===================+=================================================+
-| extVirtualLinkId | M | 1 | Identifier | Identifier of the external VL. |
-+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+
-| resourceHandle | M | 1 | ResourceHand le | Identifier of the resource realizing this VL. |
-+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+
-| linkPorts | O | 0..N | VnfLinkPort | Link ports of this VL. |
-+------------------------+-------------+--------------------+-------------------+-------------------------------------------------+
-
- **ResourceHandle:**
-
-+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality| Content | Description |
-+=====================+============+============+===================+========================================================================================================+
-| vimId | CM | 0..1 | Identifier | Identifier of the VimInfo information element defining the VIM who manages the resource. |
-| | | | | |
-| | | | | This attribute shall be present if |
-| | | | | |
-| | | | | VNF-related resource management in direct mode is applicable. |
-| | | | | |
-| | | | | The value refers to a vimInfo item in the VnfInstance. |
-+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+
-| resourceProviderId | CM | 0..1 | Identifier | Identifier of the entity responsible for the management of the resource. |
-| | | | | |
-| | | | | This attribute shall be present when VNF-related resource management in indirect mode is applicable. |
-| | | | | |
-| | | | | Reserved |
-+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+
-| resourceId | M | 1 | IdentifierInVim | Identifier of the resource in the scope of the VIM or the resource provider. |
-+---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+
-
- **VnfLinkPort:**
-
-+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+======================+=============+====================+===================+================================================================================================+
-| resourceHandle | M | 1 | ResourceHand le | Identifier of the virtualised network resource realizing this link port. |
-+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+
-| cpInstanceId | M | 1 | IdentifierInVnf | External CP of the VNF to be connected to this link port. |
-| | | | | |
-| | | | | There shall be at most one link port associated with any external connection point instance. |
-| | | | | |
-| | | | | The value refers to an extCpInfo item in the VnfInstance. |
-+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+
-+----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+
-
- **VnfcResourceInfo:**
-
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality| Content | Description |
-+=======================+============+============+====================+=====================================================================================================================+
-| vnfcInstanceId | M | 1 | IdentifierInVnf | Identifier of this VNFC instance. |
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| vduId | M | 1 | IdentifierInVnfd | Reference to the applicable Vdu information element in the VNFD. |
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| computeResourc e | M | 1 | ResourceHand le | Reference to the VirtualCompute resource. |
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| storageResourceI ds | M | 1..N | IdentifierInVnf | Reference(s) to the VirtualStorage resource(s). |
-| | | | | |
-| | | | | The value refers to a VirtualStorageResourceInfo item in the VnfInstance. |
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| reservationId | O | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. |
-| | | | | |
-| | | | | Reserved |
-+-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-
- **VirtualStorageResourceInfo:**
-
-+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+=================================+=============+====================+====================+=====================================================================================================================+
-| virtualStorageInst anceId | M | 1 | IdentifierInVnf | Identifier of this virtual storage resource instance. |
-+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| virtualStorageDe scId | M | 1 | IdentifierInVnfd | Identifier of the VirtualStorageDesc in the VNFD. |
-+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| storageResource | M | 1 | ResourceHand le | Reference to the VirtualStorage resource. |
-+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. |
-| | | | | |
-| | | | | Reserved |
-+---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-
- **VirtualLinkResourceInfo:**
-
-+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality | Content | Description |
-+==============================+===========+==============+====================+=====================================================================================================================+
-| virtualLinkInstanceId | M | 1 | IdentifierInVnf | Identifier of this VL instance. |
-+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| virtualLinkDescId | M | 1 | IdentifierInVnfd | Identifier of the Virtual Link Descriptor (VLD) in the VNFD. |
-+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| networkResource | M | 1 | ResourceHand le | Reference to the VirtualNetwork resource. |
-+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. |
-| | | | | |
-| | | | | Reserved |
-+------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+
-
- [
-
- {
-
- "vnfInstanceId": "1",
- "vnfInstanceName": "vFW\_01",
- "vnfInstanceDescription": "vFW in Nanjing TIC Edge",
- "onboardedVnfPkgInfoId": "1",
- "vnfdId": "zte\_vFW\_51610",
- "vnfdVersion": "V1.0",
- "vnfSoftwareVersion": "V1.0",
- "vnfProvider": "ZTE",
- "vnfProductName": "vFW",
- "vnfConfigurableProperties": {...},
- "instantiationState": "INSTANTIATED",
- "instantiatedVnfInfo": {
-
- "flavourId": "1",
- "vnfState": "STARTED",
- "scaleStatus": [
-
- {
- "aspectId": "aspect1",
- "scaleLevel": 1
-
- }
-
- ],
-
- "extCpInfo": [
-
- {
- "cpInstanceId": "1",
- "cpdId": "1", "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:20:a2:a3"
-
- },
-
- {
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "address": "192.168.104.2"
-
- }
-
- }
-
- ]
-
- }
-
- ],
- "extVirtualLink": [
-
- {
- "extVirtualLinkId": "extvl1",
- "resourceHandle": {
-
- "vimId": "1",
- "resourceId": "1111"
-
- },
-
- "linkPorts": [
-
- {
- "resourceHandle":
-
- {
- "vimId": "1",
- "resourceId": "2121"
-
- },
-
- "cpInstanceId": "1"
-
- }
-
- ]
-
- }
-
- ],
-
- "monitoringParameters": {...},
- "localizationLanguage": "en\_US",
- "vimInfo": [
-
- {
- "vimInfoId": "1",
- "vimId": "1",
- "interfaceInfo": {
-
- "vimType": "vim",
- "apiVersion": "v2",
- "protocolType": "http"
-
- },
-
- "accessInfo": {
-
- "tenant": "tenant\_vCPE",
- "username": "vCPE",
- "password": "vCPE\_321"
-
- },
-
- "interfaceEndpoint": "http://10.43.21.105:80/"
-
- }
-
- ],
- "vnfcResourceInfo": [
-
- {
- "vnfcInstanceId": "vm1",
- "vduId": "vdu1",
- "computeResource": {
-
- "vimId": "1",
- "resourceId": "3333"
-
- },
-
- "storageResourceIds": [ "storage1"
- ]
-
- }
-
- ],
-
- "virtualLinkResourceInfo": [
-
- {
- "virtualLinkInstanceId": "vl01",
- "virtualLinkDescId": "vl01",
- "networkResource": {
-
- "vimId": "1",
- "resourceId": "4444"
-
- }
-
- }
-
- ],
- "virtualStorageResourceInfo": [
-
- {
- "virtualStorageInstanceId": "storage1",
- "virtualStorageDescId":"storage1",
- "storageResource": {
-
- "vimId": "1",
- "resourceId": "555"
-
- }
-
- }
-
- ]
-
- },
- "metadata": {...},
- "extensions": {...}
-
- }
-
-]
-
-**3.5.3 Response Code**
-
-+-----------+-----------------------+----------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+==================================+
-| 200 | Ok | The request has succeeded. |
-+-----------+-----------------------+----------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+----------------------------------+
-
-**3.6 Query single VNF**
-------------------------
-+---------------------+------------------------------------------------------------------------------+
-| If Definition | Description |
-+=====================+==============================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId} |
-+---------------------+------------------------------------------------------------------------------+
-| Operation | GET |
-+---------------------+------------------------------------------------------------------------------+
-| Direction | NFVO->VNFMLCM |
-+---------------------+------------------------------------------------------------------------------+
-
-**3.6.1 Request**
-
-+-------------+-------------+---------------+---------------+---------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=============+=============+===============+===============+===============+
-| n/a | | | | |
-+-------------+-------------+---------------+---------------+---------------+
-
-**3.6.2 Response**
-
-+-------------------+-------------+---------------+------------------------+---------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+===================+=============+===============+========================+=======================================+
-| vnfInstanceInfo | M | 1 | VnfInstanceI nfo | The information of the VNF instance |
-+-------------------+-------------+---------------+------------------------+---------------------------------------+
-+-------------------+-------------+---------------+------------------------+---------------------------------------+
-
-**3.6.3 Response Code**
-
-+-----------+-----------------------+----------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+==================================+
-| 200 | Ok | The request has succeeded. |
-+-----------+-----------------------+----------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+----------------------------------+
-
- {
-
- "vnfInstanceId": "1",
- "vnfInstanceName": "vFW\_01",
- "vnfInstanceDescription": "vFW in Nanjing TIC Edge",
- "onboardedVnfPkgInfoId": "1",
- "vnfdId": "zte\_vFW\_51610",
- "vnfdVersion": "V1.0",
- "vnfSoftwareVersion": "V1.0",
- "vnfProvider": "ZTE",
- "vnfProductName": "vFW",
- "vnfConfigurableProperties": {...},
- "instantiationState": "INSTANTIATED",
- "instantiatedVnfInfo": {
- "flavourId": "1",
- "vnfState": "STARTED",
- "scaleStatus": [
-
- {
- "aspectId": "aspect1",
- "scaleLevel": 1
-
- }
-
- ],
-
- "extCpInfo": [
-
- {
- "cpInstanceId": "1",
- "cpdId": "1", "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:20:a2:a3"
-
- },
-
- {
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "address": "192.168.104.2"
-
- }
-
- }
-
- ]
-
- }
-
- ],
-
- "extVirtualLink": [
-
- {
- "extVirtualLinkId": "extvl1",
- "resourceHandle": {
-
- "vimId": "1",
- "resourceId": "1111"
-
- },
-
- "linkPorts": [
-
- {
- "resourceHandle":
-
- {
- "vimId": "1",
- "resourceId": "2121"
-
- },
- "cpInstanceId": "1"
-
- }
-
- ]
-
- }
-
- ],
-
- "monitoringParameters": {...},
- "localizationLanguage": "en\_US",
- "vimInfo": [
-
- {
- "vimInfoId": "1",
- "vimId": "1",
- "interfaceInfo": {
-
- "vimType": "vim",
- "apiVersion": "v2",
- "protocolType": "http"
-
- },
-
- "accessInfo": {
-
- "tenant": "tenant\_vCPE",
- "username": "vCPE",
- "password": "vCPE\_321"
-
- },
- "interfaceEndpoint": "http://10.43.21.105:80/"
-
- }
-
- ],
-
- "vnfcResourceInfo": [
-
- {
- "vnfcInstanceId": "vm1",
- "vduId": "vdu1",
- "computeResource": {
-
- "vimId": "1",
- "resourceId": "3333"
-
- },
-
- "storageResourceIds": [ "storage1"
- ]
-
- }
-
- ],
-
- "virtualLinkResourceInfo": [
-
- {
- "virtualLinkInstanceId": "vl01",
- "virtualLinkDescId": "vl01",
- "networkResource": {
-
- "vimId": "1",
- "resourceId": "4444"
-
- }
-
- }
-
- ],
-
- "virtualStorageResourceInfo": [
-
- {
- "virtualStorageInstanceId": "storage1",
- "virtualStorageDescId": "storage1",
- "storageResource": {
-
- "vimId": "1",
- "resourceId": "555"
-
- }
-
- }
-
- ]
-
- },
- "metadata": {...},
- "extensions": {...}
-
- }
-
-**3.7 Get Operation Status**
-------------------------------
-+---------------------+-------------------------------------------------------------------------------------------------+
-| If Definition | Description |
-+=====================+=================================================================================================+
-| URI | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_lc\_ops/{vnfLcOpId}&response Id={responseId} |
-+---------------------+-------------------------------------------------------------------------------------------------+
-| Operation | GET |
-+---------------------+-------------------------------------------------------------------------------------------------+
-| Direction | NFVO->GVNFM |
-+---------------------+-------------------------------------------------------------------------------------------------+
-
-**3.7.1 Request**
-
- None
-
-**3.7.2 Response**
-
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+====================+=============+===============+===========+==================================================================================+
-| vnfLcOpId | M | 1 | String | Identifier of a VNF lifecycle operation occurrence |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-| vnfInstanceId | M | 1 | String | Identifier of the VNF instance to which the operation applies |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-| lcmOperationType | M | 1 | ENUM | Type of the actual LCM operation represented by this lcm operation occurrence. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - INSTANTIATE:the |
-| | | | | |
-| | | | | Instantiate VNF LCM operation. |
-| | | | | |
-| | | | | - SCALE: the Scale VNF LCM operation. |
-| | | | | |
-| | | | | - SCALE\_TO\_LEVEL: the |
-| | | | | |
-| | | | | Scale VNF to Level LCM operation. |
-| | | | | |
-| | | | | - CHANGE\_FLAVOUR: |
-| | | | | |
-| | | | | the Change VNF Flavour LCM operation. |
-| | | | | |
-| | | | | - TERMINATE: the |
-| | | | | |
-| | | | | Terminate VNF LCM operation. |
-| | | | | |
-| | | | | - HEAL: the Heal VNF LCM operation. |
-| | | | | |
-| | | | | - OPERATE: the Operate VNF LCM operation. |
-| | | | | |
-| | | | | - CHANGE\_EXT\_VLS: the |
-| | | | | |
-| | | | | Change VNF external VLs LCM operation. (Reserved) |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-| startTime | M | 1 | String | Date-time of the start of the operation. |
-| | | | | |
-| | | | | Representation: String formatted according to RFC 3339 [13] |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-| responseDescriptor | M | 1 | VnfLcOp | Including:responseId,progress,statusstatusDescription |
-| | | | Response | |
-| | | | Descriptor| ,errorCode,responseHistoryList |
-+--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+
-
- **VnfLcOpResponseDescriptor:**
-
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+===========================+=================+====================+===============+===========================================================+
-| responseId | M | 1 | Integer | Response Identifier |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| progress | M | 1 | Integer | progress (1-100) |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| lcmOperationStatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - STARTING: The operation is starting.. |
-| | | | | |
-| | | | | - PROCESSING: The operation is |
-| | | | | currently in execution. |
-| | | | | |
-| | | | | - COMPLETED: The operation has completed successfully. |
-| | | | | |
-| | | | | - FAILED: The operation has failed and it cannot be |
-| | | | | retried or rolled back, as it is determined |
-| | | | | that such action won't succeed. |
-| | | | | - FAILED\_TEMP: The operation has failed and execution |
-| | | | | has stopped, but the execution of the |
-| | | | | operation is not considered to be closed. |
-| | | | | |
-| | | | | (Reserved) |
-| | | | | |
-| | | | | - ROLLING\_BACK: The operation is currently being rolled |
-| | | | | back. (Reserved) |
-| | | | | |
-| | | | | - ROLLED\_BACK: The state of the VNF prior to the |
-| | | | | original operation invocation has been |
-| | | | | |
-| | | | | restored as closely as possible. (Reserved) |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| statusDescripti on | O | 0..1 | String | Status Description of a VNF lifecycle operation |
-| | | | | occurrence |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| errorCode | O | 0..1 | Integer | Errorcode |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| responseHistor yList | O | 0..N | VnfLcOpDetail | History Response Messages from the requested |
-| | | | | responseId to lastest one. |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-
- **VnfLcOpDetail:**
-
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+===========================+=================+====================+===============+===========================================================+
-| responseId | M | 1 | Integer | Response Identifier |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| progress | M | 1 | Integer | progress (1-100) |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| lcmOperationS tatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - STARTING: The operation is starting.. |
-| | | | | |
-| | | | | - PROCESSING: The operation is currently in execution. |
-| | | | | |
-| | | | | - COMPLETED: The operation has completed successfully. |
-| | | | | |
-| | | | | - FAILED: The operation has failed and it |
-| | | | | cannot be retried or rolled back, as it is |
-| | | | | determined that such action won't succeed. |
-| | | | | |
-| | | | | |
-| | | | | - FAILED\_TEMP: The operation has failed and execution |
-| | | | | has stopped, but the execution of the operation |
-| | | | | is not considered to be closed. (Reserved) |
-| | | | | |
-| | | | | - ROLLING\_BACK: The operation is currently being |
-| | | | | rolled back. (Reserved) |
-| | | | | |
-| | | | | |
-| | | | | - ROLLED\_BACK: The state of the VNF prior to the |
-| | | | | original operation invocation has been restored |
-| | | | | as closely as possible. (Reserved) |
-| | | | | |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| statusDescription | O | 0..1 | String | Status Description of a VNF lifecycle operation occurrence|
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-| errorCode | O | 0..1 | Integer | Errorcode |
-+---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+
-
- {
-
- "vnfLcOpId": "1234566",
-
- "vnfInstanceId": "1",
- "lcmOperationType": "INSTANTIATE",
-
- "startTime": "2017-01-01T12:00:27.87+00:20",
-
- "responseDescriptor": {
-
- "responseId": 3,
- "progress": 40,
- "lcmOperationStatus": "PROCESSING",
- "statusDescription": "OMC VMs are decommissioned in VIM",
- "errorCode": null,
- "responseHistoryList": [
-
- {
- "responseId": 1,
- "progress": 40,
- "lcmOperationStatus": "PROCESSING",
- "statusDescription": "OMC VMs are decommissioned in VIM",
- "errorCode": null
-
- },
- {
-
- "responseId": 2,
- "progress": 41,
- "lcmOperationStatus": "PROCESSING",
- "statusDescription": "OMC VMs are decommissioned in VIM",
- "errorCode": null
-
- }
-
- ]
-
- }
-
- }
-
-**3.7.3 Response Code**
-
-+-----------+-----------------------+----------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+==================================+
-| 200 | Ok | The request has succeeded. |
-+-----------+-----------------------+----------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+----------------------------------+
-
-**4.Interfaces provided by VNF**\ (Ve-Vnfm-vnf)
-===============================================
-
-**4.1 Set Initial Configuration**
----------------------------------
-
-+---------------------+---------------------------------------------+
-| If Definition | Description |
-+=====================+=============================================+
-| URI | http(s)://[hostname][:port]/configuration |
-+---------------------+---------------------------------------------+
-| Operation | POST |
-+---------------------+---------------------------------------------+
-| Direction | VNFM->VNF |
-+---------------------+---------------------------------------------+
-
- **4.1.1Request**
-
-+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=========================+=============+===============+==========================+==============================================================================+
-| vnfInstanceId | M | 1 | Identifier | Identifier of the VNF instance which the VNF to set initial configuration. |
-+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+
-| vnfConfigurationData | O | 0..1 | VnfConfigur ation | Configuration data for the VNF instance. |
-+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+
-| vnfcConfigurationData | O | 0..N | VnfcConfigu ration | Configuration data for VNFC instances. |
-+-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+
-
-**VnfConfiguration:**
-
-+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+=======================+=================+====================+==================================+==============================================================================+
-| cp | O | 0..N | CpConfiguratio n | External CPs |
-+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+
-| vnfSpecificData | O | 0..1 | VnfConfigurabl eProperties | Configuration object containing values of VNF configurable properties. |
-+-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+
-
-**CpConfiguration:**
-
-+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+=================+=============+====================+==============+=======================================================================================================+
-| cpId | M | 1 | Identifier | Uniquely identifies a CP instance within the namespace of a specific VNF instance or VNFC instance. |
-+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+
-| cpdId | M | 1 | Identifier | Uniquely identifies a type of CP instance within the namespace of a VNFD. |
-+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+
-| cpAddress | M | 1..N | CpAddress | Address and Port assigned to the CP. |
-+-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+
-
- **CpAddress:**
-
-+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+==========================+=============+====================+===================+===============================================================================================================================================+
-| address | M | 0..N | NetworkAddre ss | The address assigned to the CP instance (e.g. IP address, MAC address, etc.). It shall be provided for configuring a fixed address. |
-+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-| useDynamicAddress | M | 0..1 | ENUM | It determines whether an address shall be assigned dynamically. It shall be provided if a dynamic address needs to be configured on the CP. |
-| | | | | |
-| | | | | A cardinality of "0" indicates that no dynamic address needs to be configured on the CP. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - TRUE |
-| | | | | |
-| | | | | - FALSE |
-+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-| port | M | 0..1 | Not specified | The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). |
-| | | | | |
-| | | | | Reserved |
-+--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
- **VnfConfigurableProperties:**
-
-+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinality | Content| Description |
-+====================+===========+==============+========+===============================================================================================+
-| autoScalable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-scaling functionality. |
-| | | | | |
-| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - TRUE |
-| | | | | |
-| | | | | - FALSE |
-+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+
-| autoHealable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-healing functionality. |
-| | | | | |
-| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. |
-| | | | | |
-| | | | | Permitted values: |
-| | | | | |
-| | | | | - TRUE |
-| | | | | |
-| | | | | - FALSE |
-+--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+
-
-**VnfcConfiguration:**
-
-+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+
-| Attribute | Qualifier | Cardinalit y | Content | Description |
-+========================+=============+====================+====================+========================================================================================+
-| vnfcId | M | 1 | Identifier | Uniquely identifies a VNFC instance within the namespace of a specific VNF instance. |
-+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+
-| cp | O | 0..N | CpConfiguratio n | Internal CPs. |
-+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+
-| vnfcSpecificData | O | 0..1 | KeyValuePair | Configuration object containing values of VNFC configurable properties |
-+------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+
-
- {
-
- "vnfInstanceId": "1",
- "vnfConfigurationData": {
-
- "cp": [
-
- {
- "cpId": "cp-1",
- "cpdId": "cpd-a",
- "cpAddress": [
-
- {
- "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:20:a2:a3"
-
- },
- {
-
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "iPAddress": "192.168.104.2"
-
- }
-
- }
-
- ],
-
- "useDynamicAddress": "FALSE"
-
- }
-
- ]
-
- }
-
- ],
-
- "vnfSpecificData": {
-
- "autoScalable": "FALSE",
- "autoHealable": "FALSE"
-
- }
-
- },
-
- "vnfcConfigurationData":
- {
- "vnfcId": "vnfc-1",
- "cp": [
-
- {
- "cpId": "cp-11",
- "cpdId": "cpd-1a",
- "cpAddress": [
-
- {
- "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:21:a2:a3"
-
- },
- {
-
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "iPAddress": "192.168.105.2"
-
- }
-
- }
-
- ],
- "useDynamicAddress": "FALSE"
-
- }
-
- ]
-
- }
-
- ],
-
- "vnfcSpecificData": {}
-
- }
-
- }
-
-
- **4.1.2 Response**
-
-+-----------------------+-------------+---------------+-------------------+---------------------------------+
-| Parameter | Qualifier | Cardinality | Content | Description |
-+=======================+=============+===============+===================+=================================+
-| vnfConfigurationData | O | 0..1 | VnfConfiguration | Correspond to the |
-| | | | | vnfConfigurationData in the |
-| | | | | input information elements of |
-| | | | | the SetInitialConfiguration |
-| | | | | operation if it has. |
-+-----------------------+-------------+---------------+-------------------+---------------------------------+
-| vnfcConfigurationDa | O | 0..N | VnfConfiguration | Correspond to the |
-| ta | | | | vnfcConfigurationData in the |
-| | | | | input information elements of |
-| | | | | the SetInitialConfiguration |
-| | | | | operation if it has. |
-+-----------------------+-------------+---------------+-------------------+---------------------------------+
-
- {
- "vnfConfigurationData": {
-
- "cp": [
-
- {
- "cpId": "cp-1",
- "cpdId": "cpd-a", "cpAddress": [
-
- {
- "addresses": [
-
- {
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:20:a2:a3"
-
- },
- {
-
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "iPAddress": "192.168.104.2"
-
- }
-
- }
-
- ],
-
- "useDynamicAddress": "FALSE"
-
- }
-
- ]
-
- }
-
- ],
- "vnfSpecificData": {
-
- "autoScalable": "FALSE",
- "autoHealable": "FALSE",
- …
-
- }
-
- },
-
- "vnfcConfigurationData": {
-
- "vnfcId": "vnfc-1",
- "cp": [
-
- {
- "cpId": "cp-11",
- "cpdId": "cpd-1a",
- "cpAddress": [
-
- {
- "addresses": [
-
- {
-
- "addressType": "MAC",
- "l2AddressData": "00:f3:43:21:a2:a3"
-
- },
- {
-
- "addressType": "IP",
- "l3AddressData": {
-
- "iPAddressType": "IPv4",
- "iPAddress": "192.168.105.2"
-
- }
-
- }
-
- ],
-
- "useDynamicAddress": "FALSE"
-
- }
-
- ]
-
- }
-
- ],
-
- "vnfcSpecificData": {…}
-
- }
-
- }
-
- **4.1.3Response Code**
-
-+-----------+-----------------------+-----------------------------------------------------------+
-| Code | Meaning | Description |
-+===========+=======================+===========================================================+
-| 201 | Created | A VNF Instance identifier was created successfully. |
-+-----------+-----------------------+-----------------------------------------------------------+
-| 4xx/5xx | <name from RFC7231> | <description> |
-+-----------+-----------------------+-----------------------------------------------------------+
-
-.. |image0| image:: VNFM_API.png
- :width: 5.07047in
+.. contents:: + :depth: 3 +.. + + **GVNFM Northbound & Southbound APIs** + **V0.1** + +**1 Scope** +============= + +The scope of the present document is to describe the GVNFM exposed API specification over Or-Vnfm reference point and Ve-Vnfm-vnf reference point. +Some content has been updated, about the API Swagger definition, you can find here 'GVNFM_LCM_APIs<https://gerrit.onap.org/r/gitweb?p=vfc/gvnfm/vnflcm.git;a=blob;f=lcm/lcm/swagger/swagger.json;h=f098d282927d3535f5e9e6950f26b9171e04d30c;hb=HEAD>'. + + +**2 Terms, Definitions and Abbreviations** +=========================================== + + For the purposes of the present document, the following + abbreviations apply: + ++------------------------+-----------------------------------------------------+ +| **Abbreviation** | | ++========================+=====================================================+ +| NFVO | Network Functions Virtualization Orchestrator | ++------------------------+-----------------------------------------------------+ +| VNFM | Virtual Network Function Manager | ++------------------------+-----------------------------------------------------+ +| VNF | Virtual Network Function | ++------------------------+-----------------------------------------------------+ + +Table 2-1 abbreviations + +**3. Interfaces provided by GVNFM** (Or-Vnfm) +========================================================== + + Interfaces use RESTful API and the format is as follows: + http(s)://[hostname][:port]/api/vnflcm/v1/[……] + +|image0| + + + **{apiRoot} is** http(s)://[hostname][:port]/api + +**3.1 Create VNF Identifier** +----------------------------- + ++---------------------+--------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf\_instances | ++---------------------+--------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+--------------------------------------------------------------+ + +**3.1.1 Request** + ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===========================+=============+===============+==================+=====================================================================================+ +| vnfdId | M | 1 | Identifier | Identifier that identifies the VNFD which defines the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| vnfInstanceName | M | 1 | String | Human-readable name of the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ +| vnfInstanceDescription | O | 0..1 | String | Human-readable description of the VNF instance to be created. | ++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+ + + { + "vnfdId": "zte\_vFW\_51610", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": " vFW in Nanjing TIC Edge" + + } + +**3.1.2 Response** + ++-----------------+-------------+---------------+------------------+-----------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=================+=============+===============+==================+=========================================+ +| vnfInstanceId | M | 1 | Identifier | VNF instance identifier just created. | ++-----------------+-------------+---------------+------------------+-----------------------------------------+ + + { + "vnfInstanceId": "1" + + } + +**3.1.3 Response Code** + ++-----------+-----------------------+-----------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+===========================================================+ +| 201 | Created | A VNF Instance identifier was created successfully. | ++-----------+-----------------------+-----------------------------------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+-----------------------------------------------------------+ + +**3.2 Delete VNF Identifier** +----------------------------- + ++---------------------+------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf\_instances/{vnfInstanceId} | ++---------------------+------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+------------------------------------------------------------------------------+ + +**3.2.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.2.2 Response** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.2.3 Response Code** + ++--------+-----------+-------------------+ +| Code | Meaning | Description | ++--------+-----------+-------------------+ + ++-----------+-----------------------+----------------------------------------------------------------------------------------------+ +| 204 | No Content | The VNF instance resource and the associated VNF identifier were deleted successfully. | ++===========+=======================+==============================================================================================+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+----------------------------------------------------------------------------------------------+ + +**3.3 Instantiate VNF** +----------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+===========================================================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf_instances/{vnfInstanceId}/instantiate | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+-------------------------------------------------------------------------------------------+ + +3.3.1 **Request** + ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+===========+=============+=====================+===============================================================+ +| flavourId | M | 1 | IdentifierInV nfd | Identifier of the VNF deployment flavour to be instantiated. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| instantiation | O | 0..1 | IdentifierInVnfd | Identifier of the instantiation | +| LevelId | | | | level of the deployment | +| | | | | flavour to be instantiated. If | +| | | | | not present, the default | +| | | | | instantiation level as | +| | | | | declared in the VNFD is | +| | | | | instantiated. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| extVirtualLinks | O | 0..N | ExtVirtualLin kData | Information about external VLs to connect the VNF to. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| extManagedVirtualL | O | 0..N | ExtManaged | Information about internal | +| inks | | | VirtualLinkData | VLs that are managed by | +| | | | | other entities than the VNFM. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| localization | O | 0..1 | String | Localization language of the VNF to be instantiated can be | +| Language | | | | declared in the VNFD. The value shall comply with the format | +| | | | | defined in IETF RFC 5646 [6]. | +| | | | | | +| | | | | Reserved | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ +| additionalParams | O | 0..N | KeyValuePair | Additional input parameters for the instantiation process, | +| | | | | specific to the VNF being instantiated. | ++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+ + +**ExtVirtualLinkData:** + ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==================+===========+=============+=================+==================================================================================+ +| vlInstanceId | O | 0..1 | Identifier | Identifier of the VL instance. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| vim | CM | 0..1 | VimInfo | Information about the VIM that manages this resource. | +| | | | | This attribute shall be supported and present if VNF-related resource management | +| | | | | in direct mode is applicable. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| resourceProvider | CM | 0..1 | Identifier | Identifies the entity responsible for the management of this resource. | +| Id | | | | This attribute shall be present if | +| | | | | VNF-related resource management in indirect mode is applicable. | +| | | | | | +| | | | | Reserved | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| resourceId | M | 1 | IdentifierInVim | The identifier of the resource in the scope of the VIM or the resource provider. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ +| extCps | M | 1..N | VnfExtCpData | External CPs of the VNF to be connected to this external VL. | ++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+ + + **VimInfo:** + ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++=================+===========+=============+==============+==========================================================================================================================================+ +| vimInfoId | M | 1 | Identifier | The identifier of this VimInfo instance, for the purpose of referencing it from other information elements. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | Identifier | The identifier of the VIM. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| interfaceInfo | M | 0..N | KeyValuePair | Information about the interface to the VIM, including VIM provider type, API version, and protocol type. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| accessInfo | M | 0..N | KeyValuePair | Authentication credentials for accessing the VIM. Examples may include those to support different authentication schemes, e.g., OAuth, | +| | | | | Token, etc. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ +| interface | M | 1 | String | Information about the interface endpoint. An example is a URL. | +| Endpoint | | | | Token, etc. | ++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+ + + **interfaceInfo:** + ++------------------+---------------+--------------------------------------+ +| **Key Define** | **Content** | **Description** | ++==================+===============+======================================+ +| vimType | String | The type of the VIM. | ++------------------+---------------+--------------------------------------+ +| apiVersion | String | The Version of the api of the VIM. | ++------------------+---------------+--------------------------------------+ +| protocolType | String | http https | ++------------------+---------------+--------------------------------------+ + + **accessInfo:** + ++------------------+---------------+--------------------------+ +| **Key Define** | **Content** | **Description** | ++==================+===============+==========================+ +| tenant | String | Tenant Name of tenant | ++------------------+---------------+--------------------------+ +| username | String | Username for login | ++------------------+---------------+--------------------------+ +| password | String | Password of login user | ++------------------+---------------+--------------------------+ + + **VnfExtCpData:** + ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++========================+=====================+=======================+====================+===========================================================+ +| cpdId | M | 1 | IdentifierInVnfd | The identifier of the CPD in the VNFD. | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| addresses | O | 0..N | NetworkAddress | List of (fixed) network addresses that | +| | | | | need to be configured on the CP. This attribute shall | +| | | | | be present if fixed addresses need to be configured. | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ +| numDynamicAddre sses | O | 0..1 | Integer | Number of network addresses to be assigned dynamically. | +| | | | | This attribute shall be present if dynamic | +| | | | | addresses need to be configured. | +| | | | | Reserved | ++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+ + + **NetworkAddress:** + ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=====================+=======================+===================+===============================================================================================================+ +| addressType | M | 1 | Enum | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - MAC | +| | | | | | +| | | | | - IP | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| l2AddressData | CM | 0..1 | String | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. | +| | | | | | +| | | | | Shall be present when the addressType is MAC address. | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ +| l3AddressData | CM | 0..1 | L3AddressData | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. | +| | | | | | +| | | | | Shall be present when the addressType is IP address. | ++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+ + + **L3AddressData:** + ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ +| **Attribute** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=====================+=======================+===================+=======================+ +| iPAddressType | M | 1 | ENUM | IP address type. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - IPv4 | +| | | | | | +| | | | | - IPv6 | ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ +| iPAddress | M | 1 | String | IP address | ++-----------------+---------------------+-----------------------+-------------------+-----------------------+ + + { + + "flavourId": "flavour\_1", + "instantiationLevelId":"instantiationLevel\_1", + "extVirtualLinks": [ + + { "vlInstanceId": "1", + "vim": { + "vimInfoId": "1", + "vimId": "1", + "interfaceInfo": { + + "vimType": "vim", + "apiVersion": "v2", + "protocolType": "http" + + }, + "accessInfo": { + + "tenant": "tenant\_vCPE", + "username": "vCPE", + "password": "vCPE\_321" + + }, + "interfaceEndpoint": "http://10.43.21.105:80/" + + }, + "resourceId": "1246", + "extCps": [ + + { + "cpdId": "11", "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:20:a2:a3" + + }, + { + + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "iPAddress": "192.168.104.2" + + } + + } + + ], + "numDynamicAddresses": 0 + + }, + + ... + + ] + + } + + ], + + "localizationLanguage": "en\_US", "additionalParams": {...} + + } + + +**3.3.2 Response** + ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+==================+=========================================================+ +| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ + + { + + "vnfLcOpId": "1" + + } + + **3.3.3 Response Code** + ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==========================================================================================+ +| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ + +**3.4 Terminate VNF** +--------------------- + ++---------------------+-----------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+=========================================================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf\_instances/{vnfInstanceId}/term inate | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+-----------------------------------------------------------------------------------------+ + +**3.4.1 Request** + ++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===================+=============+===============+===============+=========================================================================+ +| terminationType | M | 1 | Enum | Indicates whether forceful or graceful termination is requested. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - FORCEFUL: The VNFM | +| | | | | will shut down the VNF and release the resources immediately | +| | | | | after accepting the request. | +| | | | | - GRACEFUL: The VNFM | +| | | | | | +| | | | | will first arrange to take the VNF out of service after accepting | +| | | | | the request. Once the operation is successful or once the timer | +| | | | | value specified in the | +| | | | | | +| | | | | “gracefulTerminationTime out” attribute expires, the VNFM will shut | +| | | | | down the VNF and release the resources. | ++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ +| graceful | O | 0..1 | Integer | This attribute is only | +| Termination | | | | applicable in case of graceful | +| Timeout | | | | termination. It defines the | +| | | | | time to wait for the VNF to be | +| | | | | taken out of service before | +| | | | | shutting down the VNF and | +| | | | | releasing the resources. | +| | | | | The unit is seconds. | +| | | | | If not given and the | +| | | | | "terminationType" | +| | | | | attribute is set to | +| | | | | "GRACEFUL", it is expected | +| | | | | that the VNFM waits for | +| | | | | the successful taking out of | +| | | | | service of the VNF, no | +| | | | | matter how long it takes, | +| | | | | before shutting down the | +| | | | | VNF and releasing the | +| | | | | resources. | ++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+ + + { + "terminationType": "GRACEFUL", + "gracefulTerminationTimeout": 120 + + } + +**3.4.2 Response** + ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+==================+=========================================================+ +| vnfLcOpId | M | 1 | Identifier | Identifier of the VNF lifecycle operation occurrence. | ++-------------+-------------+---------------+------------------+---------------------------------------------------------+ + + { + "vnfLcOpId": "2" + + } + +**3.4.3 Response Code** + ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==========================================================================================+ +| 202 | Accepted | The request is accepted for processing, but the processing has not been completed. | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+------------------------------------------------------------------------------------------+ + +**3.5 Query multiple VNF** +--------------------------- ++---------------------+--------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf\_instances | ++---------------------+--------------------------------------------------------------+ +| Operation | GET | ++---------------------+--------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+--------------------------------------------------------------+ + +**3.5.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.5.2 Response** + ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+=============+===============+========================+======================================================================================+ +| vnfInstanceInfos | M | 0..N | VnfInstanceI nfo | Returned if information about zero or more VNF instances was queried successfully. | ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ ++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+ + + **VnfInstanceInfo:** + ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier|Cardinality | Content | Description | ++==================================+==========+============+============================+=======================================================================================================================================================+ +| vnfInstanceId | M | 1 | Identifier | VNF instance identifier. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfInstanceName | M | 1 | String | VNF instance name. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfInstanceDescr iption | M | 1 | String | Human-readable description of the VNF instance. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| onboardedVnfPk gInfoId | M | 1 | Identifier | Identifier of information held by the NFVO about the specific VNF Package on which the VNF is based. This identifier was allocated by the NFVO. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfdId | M | 1 | Identifier | Identifier of the VNFD on which the VNF instance is based. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfdVersion | M | 1 | Identifier | Identifies the version of the VNFD. The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfSoftwareVersi on | M | 1 | String | Software version of the VNF. | +| | | | | | +| | | | | The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfProvider | M | 1 | String | Name of the person or company providing the VNF. | +| | | | | | +| | | | | The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfProductName | M | 1 | String | Name to identify the VNF Product. The value is copied from the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vnfConfigurableP roperties | O | 0..N | KeyValuePair | Current values of the configurable properties of the VNF instance. | +| | | | | | +| | | | | Configurable properties as declared in the VNFD. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| instantiationState | M | 1 | Enum | The instantiation state of the VNF. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - NOT\_INSTANTIATED: The VNF | +| | | | | | +| | | | | instance is terminated or not instantiated. | +| | | | | | +| | | | | - INSTANTIATED: The VNF instance is instantiated. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| instantiatedVnfInf o | CM | 0..1 | InstantiatedVnf Info | Information specific to an instantiated VNF instance. | +| | | | | | +| | | | | This attribute shall be present if the instantiateState attribute value is INSTANTIATED. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 0..N | KeyValuePair | Additional metadata describing the VNF instance. | +| | | | | | +| | | | | This attribute can be modified with the Modify VNF information operation. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ +| extensions | O | 0..N | KeyValuePair | VNF-specific attributes. | +| | | | | | +| | | | | This attribute can be modified with the Modify VNF information operation. | ++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + + **InstantiatedVnfInfo:** + ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++==============================+===========+============+==============================+========================================================================================================================+ +| flavourId | M | 1 | IdentifierInVnfd | Identifier of the VNF deployment flavour to be instantiated. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vnfState | M | 1 | ENUM | State of the VNF instance. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTED: The VNF instance is up and running. | +| | | | | | +| | | | | - STOPPED: The VNF instance has been shut down. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| scaleStatus | O | 0..N | ScaleInfo | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled | +| | | | | | +| | | | | w.r.t. that aspect. | +| | | | | | +| | | | | This attribute shall be present if the VNF supports scaling. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extCpInfo | O | 0..N | CpInfo | Information about the external CPs exposed by the VNF instance. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extVirtualLink | O | 0..N | ExtVirtualLinkI nfo | Information about the external VLs the VNF instance is connected to. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| extManagedVirtu alLink | O | 0..N | extManagedVir tualLinkInfo | Information about the externally-managed internal VLs of the VNF instance. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| monitoringParam eters | O | 0..N | MonitoringPar ameter | Active monitoring parameters. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| localizationLangu age | O | 0..1 | String | Localization language of the VNF to be instantiated. | +| | | | | | +| | | | | The value shall comply with the format defined in IETF RFC 5646 [6]. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vimInfo | CM | 0..N | VimInfo | Information about VIM(s) managing resources for the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| vnfcResourceInfo | CM | 0..N | VnfcResourceI nfo | Information about the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| virtualLinkResourceInfo | CM | 0..N | VirtualLinkRes ourceInfo | Information about the virtualised network resource(s) used by the VLs of the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| virtualStorageResourceInfo | CM | 0..N | VirtualStorage ResourceInfo | Information about the virtualised storage resource(s) used as storage for the VNF instance. | +| | | | | | +| | | | | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable. | ++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+ + +**ScaleInfo:** + ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++==================+=============+====================+====================+=====================================================================================================================================+ +| aspectId | M | 1 | IdentifierInVnfd | Identifier of the scaling aspect. | ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ +| scaleLevel | M | 1 | Integer | Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. | ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ ++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+ + + **CpInfo:** + ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++====================+=============+====================+====================+==================================================================+ +| cpInstanceId | M | 1 | Identifier | Identifier of the CP instance. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| cpdId | M | 1 | IdentifierInVnfd | Identifier of the CPD, in the VNFD. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ +| addresses | O | 0..N | NetworkAddre ss | List of network addresses that have been configured on the CP. | ++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+ + + **ExtVirtualLinkInfo:** + ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++========================+=============+====================+===================+=================================================+ +| extVirtualLinkId | M | 1 | Identifier | Identifier of the external VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| resourceHandle | M | 1 | ResourceHand le | Identifier of the resource realizing this VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ +| linkPorts | O | 0..N | VnfLinkPort | Link ports of this VL. | ++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+ + + **ResourceHandle:** + ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++=====================+============+============+===================+========================================================================================================+ +| vimId | CM | 0..1 | Identifier | Identifier of the VimInfo information element defining the VIM who manages the resource. | +| | | | | | +| | | | | This attribute shall be present if | +| | | | | | +| | | | | VNF-related resource management in direct mode is applicable. | +| | | | | | +| | | | | The value refers to a vimInfo item in the VnfInstance. | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| resourceProviderId | CM | 0..1 | Identifier | Identifier of the entity responsible for the management of the resource. | +| | | | | | +| | | | | This attribute shall be present when VNF-related resource management in indirect mode is applicable. | +| | | | | | +| | | | | Reserved | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ +| resourceId | M | 1 | IdentifierInVim | Identifier of the resource in the scope of the VIM or the resource provider. | ++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+ + + **VnfLinkPort:** + ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++======================+=============+====================+===================+================================================================================================+ +| resourceHandle | M | 1 | ResourceHand le | Identifier of the virtualised network resource realizing this link port. | ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ +| cpInstanceId | M | 1 | IdentifierInVnf | External CP of the VNF to be connected to this link port. | +| | | | | | +| | | | | There shall be at most one link port associated with any external connection point instance. | +| | | | | | +| | | | | The value refers to an extCpInfo item in the VnfInstance. | ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ ++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+ + + **VnfcResourceInfo:** + ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality| Content | Description | ++=======================+============+============+====================+=====================================================================================================================+ +| vnfcInstanceId | M | 1 | IdentifierInVnf | Identifier of this VNFC instance. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| vduId | M | 1 | IdentifierInVnfd | Reference to the applicable Vdu information element in the VNFD. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| computeResourc e | M | 1 | ResourceHand le | Reference to the VirtualCompute resource. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| storageResourceI ds | M | 1..N | IdentifierInVnf | Reference(s) to the VirtualStorage resource(s). | +| | | | | | +| | | | | The value refers to a VirtualStorageResourceInfo item in the VnfInstance. | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | O | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + **VirtualStorageResourceInfo:** + ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=================================+=============+====================+====================+=====================================================================================================================+ +| virtualStorageInst anceId | M | 1 | IdentifierInVnf | Identifier of this virtual storage resource instance. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| virtualStorageDe scId | M | 1 | IdentifierInVnfd | Identifier of the VirtualStorageDesc in the VNFD. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| storageResource | M | 1 | ResourceHand le | Reference to the VirtualStorage resource. | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + **VirtualLinkResourceInfo:** + ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Description | ++==============================+===========+==============+====================+=====================================================================================================================+ +| virtualLinkInstanceId | M | 1 | IdentifierInVnf | Identifier of this VL instance. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| virtualLinkDescId | M | 1 | IdentifierInVnfd | Identifier of the Virtual Link Descriptor (VLD) in the VNFD. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| networkResource | M | 1 | ResourceHand le | Reference to the VirtualNetwork resource. | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ +| reservationId | M | 0..1 | Identifier | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists. | +| | | | | | +| | | | | Reserved | ++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+ + + [ + + { + + "vnfInstanceId": "1", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": "vFW in Nanjing TIC Edge", + "onboardedVnfPkgInfoId": "1", + "vnfdId": "zte\_vFW\_51610", + "vnfdVersion": "V1.0", + "vnfSoftwareVersion": "V1.0", + "vnfProvider": "ZTE", + "vnfProductName": "vFW", + "vnfConfigurableProperties": {...}, + "instantiationState": "INSTANTIATED", + "instantiatedVnfInfo": { + + "flavourId": "1", + "vnfState": "STARTED", + "scaleStatus": [ + + { + "aspectId": "aspect1", + "scaleLevel": 1 + + } + + ], + + "extCpInfo": [ + + { + "cpInstanceId": "1", + "cpdId": "1", "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:20:a2:a3" + + }, + + { + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "address": "192.168.104.2" + + } + + } + + ] + + } + + ], + "extVirtualLink": [ + + { + "extVirtualLinkId": "extvl1", + "resourceHandle": { + + "vimId": "1", + "resourceId": "1111" + + }, + + "linkPorts": [ + + { + "resourceHandle": + + { + "vimId": "1", + "resourceId": "2121" + + }, + + "cpInstanceId": "1" + + } + + ] + + } + + ], + + "monitoringParameters": {...}, + "localizationLanguage": "en\_US", + "vimInfo": [ + + { + "vimInfoId": "1", + "vimId": "1", + "interfaceInfo": { + + "vimType": "vim", + "apiVersion": "v2", + "protocolType": "http" + + }, + + "accessInfo": { + + "tenant": "tenant\_vCPE", + "username": "vCPE", + "password": "vCPE\_321" + + }, + + "interfaceEndpoint": "http://10.43.21.105:80/" + + } + + ], + "vnfcResourceInfo": [ + + { + "vnfcInstanceId": "vm1", + "vduId": "vdu1", + "computeResource": { + + "vimId": "1", + "resourceId": "3333" + + }, + + "storageResourceIds": [ "storage1" + ] + + } + + ], + + "virtualLinkResourceInfo": [ + + { + "virtualLinkInstanceId": "vl01", + "virtualLinkDescId": "vl01", + "networkResource": { + + "vimId": "1", + "resourceId": "4444" + + } + + } + + ], + "virtualStorageResourceInfo": [ + + { + "virtualStorageInstanceId": "storage1", + "virtualStorageDescId":"storage1", + "storageResource": { + + "vimId": "1", + "resourceId": "555" + + } + + } + + ] + + }, + "metadata": {...}, + "extensions": {...} + + } + +] + +**3.5.3 Response Code** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+----------------------------------+ + +**3.6 Query single VNF** +------------------------ ++---------------------+------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+==============================================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf_instances/{vnfInstanceId} | ++---------------------+------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NFVO->VNFMLCM | ++---------------------+------------------------------------------------------------------------------+ + +**3.6.1 Request** + ++-------------+-------------+---------------+---------------+---------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=============+=============+===============+===============+===============+ +| n/a | | | | | ++-------------+-------------+---------------+---------------+---------------+ + +**3.6.2 Response** + ++-------------------+-------------+---------------+------------------------+---------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++===================+=============+===============+========================+=======================================+ +| vnfInstanceInfo | M | 1 | VnfInstanceI nfo | The information of the VNF instance | ++-------------------+-------------+---------------+------------------------+---------------------------------------+ ++-------------------+-------------+---------------+------------------------+---------------------------------------+ + +**3.6.3 Response Code** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+----------------------------------+ + + { + + "vnfInstanceId": "1", + "vnfInstanceName": "vFW\_01", + "vnfInstanceDescription": "vFW in Nanjing TIC Edge", + "onboardedVnfPkgInfoId": "1", + "vnfdId": "zte\_vFW\_51610", + "vnfdVersion": "V1.0", + "vnfSoftwareVersion": "V1.0", + "vnfProvider": "ZTE", + "vnfProductName": "vFW", + "vnfConfigurableProperties": {...}, + "instantiationState": "INSTANTIATED", + "instantiatedVnfInfo": { + "flavourId": "1", + "vnfState": "STARTED", + "scaleStatus": [ + + { + "aspectId": "aspect1", + "scaleLevel": 1 + + } + + ], + + "extCpInfo": [ + + { + "cpInstanceId": "1", + "cpdId": "1", "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:20:a2:a3" + + }, + + { + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "address": "192.168.104.2" + + } + + } + + ] + + } + + ], + + "extVirtualLink": [ + + { + "extVirtualLinkId": "extvl1", + "resourceHandle": { + + "vimId": "1", + "resourceId": "1111" + + }, + + "linkPorts": [ + + { + "resourceHandle": + + { + "vimId": "1", + "resourceId": "2121" + + }, + "cpInstanceId": "1" + + } + + ] + + } + + ], + + "monitoringParameters": {...}, + "localizationLanguage": "en\_US", + "vimInfo": [ + + { + "vimInfoId": "1", + "vimId": "1", + "interfaceInfo": { + + "vimType": "vim", + "apiVersion": "v2", + "protocolType": "http" + + }, + + "accessInfo": { + + "tenant": "tenant\_vCPE", + "username": "vCPE", + "password": "vCPE\_321" + + }, + "interfaceEndpoint": "http://10.43.21.105:80/" + + } + + ], + + "vnfcResourceInfo": [ + + { + "vnfcInstanceId": "vm1", + "vduId": "vdu1", + "computeResource": { + + "vimId": "1", + "resourceId": "3333" + + }, + + "storageResourceIds": [ "storage1" + ] + + } + + ], + + "virtualLinkResourceInfo": [ + + { + "virtualLinkInstanceId": "vl01", + "virtualLinkDescId": "vl01", + "networkResource": { + + "vimId": "1", + "resourceId": "4444" + + } + + } + + ], + + "virtualStorageResourceInfo": [ + + { + "virtualStorageInstanceId": "storage1", + "virtualStorageDescId": "storage1", + "storageResource": { + + "vimId": "1", + "resourceId": "555" + + } + + } + + ] + + }, + "metadata": {...}, + "extensions": {...} + + } + +**3.7 Get Operation Status** +------------------------------ ++---------------------+-------------------------------------------------------------------------------------------------+ +| If Definition | Description | ++=====================+=================================================================================================+ +| URI | http(s)://[hostname][:port]/api/vnflcm/v1/vnf\_lc\_ops/{vnfLcOpId}&response Id={responseId} | ++---------------------+-------------------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------------------------+ +| Direction | NFVO->GVNFM | ++---------------------+-------------------------------------------------------------------------------------------------+ + +**3.7.1 Request** + + None + +**3.7.2 Response** + ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++====================+=============+===============+===========+==================================================================================+ +| vnfLcOpId | M | 1 | String | Identifier of a VNF lifecycle operation occurrence | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| vnfInstanceId | M | 1 | String | Identifier of the VNF instance to which the operation applies | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| lcmOperationType | M | 1 | ENUM | Type of the actual LCM operation represented by this lcm operation occurrence. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - INSTANTIATE:the | +| | | | | | +| | | | | Instantiate VNF LCM operation. | +| | | | | | +| | | | | - SCALE: the Scale VNF LCM operation. | +| | | | | | +| | | | | - SCALE\_TO\_LEVEL: the | +| | | | | | +| | | | | Scale VNF to Level LCM operation. | +| | | | | | +| | | | | - CHANGE\_FLAVOUR: | +| | | | | | +| | | | | the Change VNF Flavour LCM operation. | +| | | | | | +| | | | | - TERMINATE: the | +| | | | | | +| | | | | Terminate VNF LCM operation. | +| | | | | | +| | | | | - HEAL: the Heal VNF LCM operation. | +| | | | | | +| | | | | - OPERATE: the Operate VNF LCM operation. | +| | | | | | +| | | | | - CHANGE\_EXT\_VLS: the | +| | | | | | +| | | | | Change VNF external VLs LCM operation. (Reserved) | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| startTime | M | 1 | String | Date-time of the start of the operation. | +| | | | | | +| | | | | Representation: String formatted according to RFC 3339 [13] | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ +| responseDescriptor | M | 1 | VnfLcOp | Including:responseId,progress,statusstatusDescription | +| | | | Response | | +| | | | Descriptor| ,errorCode,responseHistoryList | ++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+ + + **VnfLcOpResponseDescriptor:** + ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++===========================+=================+====================+===============+===========================================================+ +| responseId | M | 1 | Integer | Response Identifier | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| progress | M | 1 | Integer | progress (1-100) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| lcmOperationStatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTING: The operation is starting.. | +| | | | | | +| | | | | - PROCESSING: The operation is | +| | | | | currently in execution. | +| | | | | | +| | | | | - COMPLETED: The operation has completed successfully. | +| | | | | | +| | | | | - FAILED: The operation has failed and it cannot be | +| | | | | retried or rolled back, as it is determined | +| | | | | that such action won't succeed. | +| | | | | - FAILED\_TEMP: The operation has failed and execution | +| | | | | has stopped, but the execution of the | +| | | | | operation is not considered to be closed. | +| | | | | | +| | | | | (Reserved) | +| | | | | | +| | | | | - ROLLING\_BACK: The operation is currently being rolled | +| | | | | back. (Reserved) | +| | | | | | +| | | | | - ROLLED\_BACK: The state of the VNF prior to the | +| | | | | original operation invocation has been | +| | | | | | +| | | | | restored as closely as possible. (Reserved) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| statusDescripti on | O | 0..1 | String | Status Description of a VNF lifecycle operation | +| | | | | occurrence | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| errorCode | O | 0..1 | Integer | Errorcode | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| responseHistor yList | O | 0..N | VnfLcOpDetail | History Response Messages from the requested | +| | | | | responseId to lastest one. | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ + + **VnfLcOpDetail:** + ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++===========================+=================+====================+===============+===========================================================+ +| responseId | M | 1 | Integer | Response Identifier | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| progress | M | 1 | Integer | progress (1-100) | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| lcmOperationS tatus | M | 1 | ENUM | Status of a VNF lifecycle operation occurrence | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - STARTING: The operation is starting.. | +| | | | | | +| | | | | - PROCESSING: The operation is currently in execution. | +| | | | | | +| | | | | - COMPLETED: The operation has completed successfully. | +| | | | | | +| | | | | - FAILED: The operation has failed and it | +| | | | | cannot be retried or rolled back, as it is | +| | | | | determined that such action won't succeed. | +| | | | | | +| | | | | | +| | | | | - FAILED\_TEMP: The operation has failed and execution | +| | | | | has stopped, but the execution of the operation | +| | | | | is not considered to be closed. (Reserved) | +| | | | | | +| | | | | - ROLLING\_BACK: The operation is currently being | +| | | | | rolled back. (Reserved) | +| | | | | | +| | | | | | +| | | | | - ROLLED\_BACK: The state of the VNF prior to the | +| | | | | original operation invocation has been restored | +| | | | | as closely as possible. (Reserved) | +| | | | | | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| statusDescription | O | 0..1 | String | Status Description of a VNF lifecycle operation occurrence| ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ +| errorCode | O | 0..1 | Integer | Errorcode | ++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+ + + { + + "vnfLcOpId": "1234566", + + "vnfInstanceId": "1", + "lcmOperationType": "INSTANTIATE", + + "startTime": "2017-01-01T12:00:27.87+00:20", + + "responseDescriptor": { + + "responseId": 3, + "progress": 40, + "lcmOperationStatus": "PROCESSING", + "statusDescription": "OMC VMs are decommissioned in VIM", + "errorCode": null, + "responseHistoryList": [ + + { + "responseId": 1, + "progress": 40, + "lcmOperationStatus": "PROCESSING", + "statusDescription": "OMC VMs are decommissioned in VIM", + "errorCode": null + + }, + { + + "responseId": 2, + "progress": 41, + "lcmOperationStatus": "PROCESSING", + "statusDescription": "OMC VMs are decommissioned in VIM", + "errorCode": null + + } + + ] + + } + + } + +**3.7.3 Response Code** + ++-----------+-----------------------+----------------------------------+ +| Code | Meaning | Description | ++===========+=======================+==================================+ +| 200 | Ok | The request has succeeded. | ++-----------+-----------------------+----------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+----------------------------------+ + +**4.Interfaces provided by VNF**\ (Ve-Vnfm-vnf) +=============================================== + +**4.1 Set Initial Configuration** +--------------------------------- + ++---------------------+---------------------------------------------+ +| If Definition | Description | ++=====================+=============================================+ +| URI | http(s)://[hostname][:port]/configuration | ++---------------------+---------------------------------------------+ +| Operation | POST | ++---------------------+---------------------------------------------+ +| Direction | VNFM->VNF | ++---------------------+---------------------------------------------+ + + **4.1.1Request** + ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=========================+=============+===============+==========================+==============================================================================+ +| vnfInstanceId | M | 1 | Identifier | Identifier of the VNF instance which the VNF to set initial configuration. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| vnfConfigurationData | O | 0..1 | VnfConfigur ation | Configuration data for the VNF instance. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ +| vnfcConfigurationData | O | 0..N | VnfcConfigu ration | Configuration data for VNFC instances. | ++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+ + +**VnfConfiguration:** + ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=======================+=================+====================+==================================+==============================================================================+ +| cp | O | 0..N | CpConfiguratio n | External CPs | ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ +| vnfSpecificData | O | 0..1 | VnfConfigurabl eProperties | Configuration object containing values of VNF configurable properties. | ++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+ + +**CpConfiguration:** + ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++=================+=============+====================+==============+=======================================================================================================+ +| cpId | M | 1 | Identifier | Uniquely identifies a CP instance within the namespace of a specific VNF instance or VNFC instance. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| cpdId | M | 1 | Identifier | Uniquely identifies a type of CP instance within the namespace of a VNFD. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ +| cpAddress | M | 1..N | CpAddress | Address and Port assigned to the CP. | ++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+ + + **CpAddress:** + ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++==========================+=============+====================+===================+===============================================================================================================================================+ +| address | M | 0..N | NetworkAddre ss | The address assigned to the CP instance (e.g. IP address, MAC address, etc.). It shall be provided for configuring a fixed address. | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| useDynamicAddress | M | 0..1 | ENUM | It determines whether an address shall be assigned dynamically. It shall be provided if a dynamic address needs to be configured on the CP. | +| | | | | | +| | | | | A cardinality of "0" indicates that no dynamic address needs to be configured on the CP. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ +| port | M | 0..1 | Not specified | The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.). | +| | | | | | +| | | | | Reserved | ++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + + **VnfConfigurableProperties:** + ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content| Description | ++====================+===========+==============+========+===============================================================================================+ +| autoScalable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-scaling functionality. | +| | | | | | +| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ +| autoHealable | O | 0..1 | ENUM | It permits to enable (TRUE) / disable (FALSE) the auto-healing functionality. | +| | | | | | +| | | | | A cardinality of "0" indicates that configuring this present VNF property is not supported. | +| | | | | | +| | | | | Permitted values: | +| | | | | | +| | | | | - TRUE | +| | | | | | +| | | | | - FALSE | ++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+ + +**VnfcConfiguration:** + ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinalit y | Content | Description | ++========================+=============+====================+====================+========================================================================================+ +| vnfcId | M | 1 | Identifier | Uniquely identifies a VNFC instance within the namespace of a specific VNF instance. | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| cp | O | 0..N | CpConfiguratio n | Internal CPs. | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ +| vnfcSpecificData | O | 0..1 | KeyValuePair | Configuration object containing values of VNFC configurable properties | ++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+ + + { + + "vnfInstanceId": "1", + "vnfConfigurationData": { + + "cp": [ + + { + "cpId": "cp-1", + "cpdId": "cpd-a", + "cpAddress": [ + + { + "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:20:a2:a3" + + }, + { + + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "iPAddress": "192.168.104.2" + + } + + } + + ], + + "useDynamicAddress": "FALSE" + + } + + ] + + } + + ], + + "vnfSpecificData": { + + "autoScalable": "FALSE", + "autoHealable": "FALSE" + + } + + }, + + "vnfcConfigurationData": + { + "vnfcId": "vnfc-1", + "cp": [ + + { + "cpId": "cp-11", + "cpdId": "cpd-1a", + "cpAddress": [ + + { + "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:21:a2:a3" + + }, + { + + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "iPAddress": "192.168.105.2" + + } + + } + + ], + "useDynamicAddress": "FALSE" + + } + + ] + + } + + ], + + "vnfcSpecificData": {} + + } + + } + + + **4.1.2 Response** + ++-----------------------+-------------+---------------+-------------------+---------------------------------+ +| Parameter | Qualifier | Cardinality | Content | Description | ++=======================+=============+===============+===================+=================================+ +| vnfConfigurationData | O | 0..1 | VnfConfiguration | Correspond to the | +| | | | | vnfConfigurationData in the | +| | | | | input information elements of | +| | | | | the SetInitialConfiguration | +| | | | | operation if it has. | ++-----------------------+-------------+---------------+-------------------+---------------------------------+ +| vnfcConfigurationDa | O | 0..N | VnfConfiguration | Correspond to the | +| ta | | | | vnfcConfigurationData in the | +| | | | | input information elements of | +| | | | | the SetInitialConfiguration | +| | | | | operation if it has. | ++-----------------------+-------------+---------------+-------------------+---------------------------------+ + + { + "vnfConfigurationData": { + + "cp": [ + + { + "cpId": "cp-1", + "cpdId": "cpd-a", "cpAddress": [ + + { + "addresses": [ + + { + "addressType": "MAC", + "l2AddressData": "00:f3:43:20:a2:a3" + + }, + { + + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "iPAddress": "192.168.104.2" + + } + + } + + ], + + "useDynamicAddress": "FALSE" + + } + + ] + + } + + ], + "vnfSpecificData": { + + "autoScalable": "FALSE", + "autoHealable": "FALSE", + … + + } + + }, + + "vnfcConfigurationData": { + + "vnfcId": "vnfc-1", + "cp": [ + + { + "cpId": "cp-11", + "cpdId": "cpd-1a", + "cpAddress": [ + + { + "addresses": [ + + { + + "addressType": "MAC", + "l2AddressData": "00:f3:43:21:a2:a3" + + }, + { + + "addressType": "IP", + "l3AddressData": { + + "iPAddressType": "IPv4", + "iPAddress": "192.168.105.2" + + } + + } + + ], + + "useDynamicAddress": "FALSE" + + } + + ] + + } + + ], + + "vnfcSpecificData": {…} + + } + + } + + **4.1.3Response Code** + ++-----------+-----------------------+-----------------------------------------------------------+ +| Code | Meaning | Description | ++===========+=======================+===========================================================+ +| 201 | Created | A VNF Instance identifier was created successfully. | ++-----------+-----------------------+-----------------------------------------------------------+ +| 4xx/5xx | <name from RFC7231> | <description> | ++-----------+-----------------------+-----------------------------------------------------------+ + +.. |image0| image:: VNFM_API.png + :width: 5.07047in :height: 5.6320in
\ No newline at end of file diff --git a/docs/platform/APIs/VNFLCM_API/index.rst b/docs/platform/APIs/VNFLCM_API/index.rst index 1e679b15..1fa5d0c7 100644 --- a/docs/platform/APIs/VNFLCM_API/index.rst +++ b/docs/platform/APIs/VNFLCM_API/index.rst @@ -1,7 +1,7 @@ -VNF LCM API
-------------
-
-.. toctree::
- :titlesonly:
-
- VNFLCM_API
+VNF LCM API +------------ + +.. toctree:: + :titlesonly: + + VNFLCM_API diff --git a/docs/platform/APIs/VNFMDriver_API/index.rst b/docs/platform/APIs/VNFMDriver_API/index.rst index cf017587..24750501 100644 --- a/docs/platform/APIs/VNFMDriver_API/index.rst +++ b/docs/platform/APIs/VNFMDriver_API/index.rst @@ -1,7 +1,7 @@ -VNFM Driver API
----------------
-
-.. toctree::
- :titlesonly:
-
+VNFM Driver API +--------------- + +.. toctree:: + :titlesonly: + VNFM_Driver_API
\ No newline at end of file diff --git a/docs/platform/APIs/index.rst b/docs/platform/APIs/index.rst index f0a88a4a..ad31664d 100644 --- a/docs/platform/APIs/index.rst +++ b/docs/platform/APIs/index.rst @@ -4,7 +4,13 @@ VF-C Offered APIs ================== -List VF-C APIs offered. + +.. contents:: + :depth: 2 + +Now VF-C provides the NS life cycle management APIs to UUI,SO,Policy and package management APIs to UUI. +For VNFM vendor, VF-C also provides the VNFM integration APIs, they can reference these APIs to implmemet their VNFMDriver to integrate with VF-C and ONAP. + VFC Northbound API @@ -12,6 +18,36 @@ VFC Northbound API Network services lifecycle management APIs +In Dublin release, VF-C provides SOL005 compliant APIs as follows + +:: + + api/nslcm/v1/ns_instances + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+) + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/heal + api/nslcm/v1/ns_instances/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate + api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+) + api/nslcm/v1/subscriptions + api/nslcm/v1/ns_lcm_op_occs + +But for the previous APIs, we still keep in Dublin, but the following APIs will be deprecated in the future release + +:: + + api/nslcm/v1/ns + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+) + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/postdeal + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/heal + api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update + + +More APIs defination and reference can be found in the following page: .. toctree:: :maxdepth: 1 @@ -22,7 +58,11 @@ Network services lifecycle management APIs VNFM Integration APIs --------------------- -VNFM Driver Integration Related APIs +VNFM Driver Integration Related APIs, these APIs are mainly provided for Vendor, if you want to integrate with VF-C and ONAP, you can reference these APIs to implement your VNFMDriver +These integration APIs includ two part: + +* The VNF life cycle management APIs for the VNFMDriver should be implemented +* The NFVO APIs for the VNFMDri1 will be request, like grant APIs .. toctree:: :maxdepth: 1 @@ -34,6 +74,10 @@ VNFM Driver Integration Related APIs GVNFM Northbound & Southbound APIs ---------------------------------- +VF-C provides the Generic VFNM , it can be as the GVNFM reference implementaton. +Now the Northbound APIs of GVNFM has been compli1t with SOL003 and it now can be integrate with VF-C NFVO. +In tosca-based vCPE use case, the GVNFM founction have been verified in Casablanca release. + GVNFM Northbound & Southbound APIs for VNF Integration .. toctree:: @@ -50,5 +94,4 @@ CATALOG APIs for VNF Integration .. toctree:: :maxdepth: 1 - CATALOG_API/index - + CATALOG_API/index
\ No newline at end of file diff --git a/docs/platform/index.rst b/docs/platform/index.rst index 364a4c94..37378f2b 100644 --- a/docs/platform/index.rst +++ b/docs/platform/index.rst @@ -40,12 +40,12 @@ VF-C as one controller in ONAP includes two components NFV-O and GVNFM. .. toctree:: - :maxdepth: 1 + :maxdepth: 2 architecture.rst APIs/index consumedapis.rst delivery.rst logging.rst - installation.rst + installation/index administration.rst diff --git a/docs/platform/installation/index.rst b/docs/platform/installation/index.rst new file mode 100644 index 00000000..0750831c --- /dev/null +++ b/docs/platform/installation/index.rst @@ -0,0 +1,28 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +VF-C Installation and User Guide +================================ + +.. contents:: + :depth: 2 + + +VFC Insta1llation over OOM +-------------------------- + +.. toctree:: + :maxdepth: 1 + + installation/index + + + +NS LCM Guide Using VF-C +----------------------- + +.. toctree:: + :maxdepth: 1 + + user-guide/index + diff --git a/docs/platform/installation/installation/index.rst b/docs/platform/installation/installation/index.rst new file mode 100644 index 00000000..2fd14246 --- /dev/null +++ b/docs/platform/installation/installation/index.rst @@ -0,0 +1,7 @@ +VFC Insta1llation over OOM +----------------------- + +.. toctree:: + :titlesonly: + + vfc-over-oom diff --git a/docs/platform/installation/installation/vfc-over-oom.rst b/docs/platform/installation/installation/vfc-over-oom.rst new file mode 100644 index 00000000..29a01a21 --- /dev/null +++ b/docs/platform/installation/installation/vfc-over-oom.rst @@ -0,0 +1,389 @@ +.. contents:: + :depth: 3 +.. + + **VFC Insta1llation over OOM** + **V0.1** + +**1 Scope** +============= + +This is a guide to help developer or tester to try to install VF-C over OOM + +**1 Component & function** +========================== + +Now VF-C have the following repos in https://gerrit.onap.org/r/#/admin/projects/?filter=vfc + ++--------------------------+-----------------------------------------------------+ +| **Repo Name** | Description | ++==========================+=====================================================+ +| vfc/nfvo/lcm | NS life cycle management | ++--------------------------+-----------------------------------------------------+ +| vfc/nfvo/resmanagement | NS Resource Management | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/driver/vnfm/svnfm| Specific VNFM drivers | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/driver/vnfm/gvnfm| Generic VNFM drivers | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/driver/sfc | SFC Driver | ++--------------------------+-----------------------------------------------------+ +|org.onap.vfc.nfvo.wfengine| Work flow engine | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/catalog | NS and VNF catalog | ++--------------------------+-----------------------------------------------------+ +|EMS-driver | VNF fcaps collect | ++--------------------------+-----------------------------------------------------+ +|vfc/gvnfm/vnflcm | Generic VNFM VNF LCM | ++--------------------------+-----------------------------------------------------+ +|vfc/gvnfm/vnfmgr | Generic VNFM VNF Mgr | ++--------------------------+-----------------------------------------------------+ +|vfc/gvnfm/vnfres | Generic VNFM VNF Resource Management | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/multivimproxy | Multi-vim proxy, provide the multivim indirect mode | +| | proxy which can forward virtual resource requests to| +| | multivim and do some resource checking | ++--------------------------+-----------------------------------------------------+ +|vfc/nfvo/db | Stand-alone database microservice, provides the | +| | database services for each VF-C component | ++--------------------------+-----------------------------------------------------+ + +Note: + a. vfc/nfvo/driver/sfc it migrate from Open-O seed code and now haven't been used in any usecase in ONAP. + b. vfc/nfvo/resmanagement is used to do the resource granting, but now VF-C has been integrated with OOF, this component will be deprecated in the future release. + c. vfc/nfvo/db provide the stand-alone database microservice in casablanca release, but now VF-C leverages OOM shared MariaDB-Gelera cluster. This repo still has redis to be used by VF-C component. + + +VF-C Docker Images + +:: + + docker run -d -p 3306:3306 -p 6379:6379 --name vfc-db -v /var/lib/mysql nexus3.onap.org:10001/onap/vfc/db + we use ${VFC_DB_IP} as the IP of vfc-db component. + nexus3.onap.org:10001/onap/vfc/catalog:1.3.0 + nexus3.onap.org:10001/onap/vfc/db:1.3.0 + nexus3.onap.org:10001/onap/vfc/emsdriver:1.3.0 + nexus3.onap.org:10001/onap/vfc/gvnfmdriver:1.3.0 + nexus3.onap.org:10001/onap/vfc/jujudriver:1.3.0 + nexus3.onap.org:10001/onap/vfc/multivimproxy:1.3.0 + nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei:1.3.0 + nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/nokia:1.3.0 + nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/nokiav2:1.3.0 + nexus3.onap.org:10001/onap/vfc/nslcm:1.3.0 + nexus3.onap.org:10001/onap/vfc/resmanagement:1.3.0 + nexus3.onap.org:10001/onap/vfc/vnflcm:1.3.0 + nexus3.onap.org:10001/onap/vfc/vnfmgr:1.3.0 + nexus3.onap.org:10001/onap/vfc/vnfres:1.3.0 + nexus3.onap.org:10001/onap/vfc/wfengine-activiti:1.3.0 + nexus3.onap.org:10001/onap/vfc/wfengine-mgrservice:1.3.0 + nexus3.onap.org:10001/onap/vfc/ztesdncdriver:1.3.0 + nexus3.onap.org:10001/onap/vfc/ztevnfmdriver:1.3.0 + + +**2 VF-C Deployment** +===================== + +For initialization of docker there are 2 deployment options currently adpoted in ONAP: +- using heat template +- using OOM + +From Casablanca release, OOM is the recommended way, so here mainly give the steps for OOM based deployment + +For OOM deployment you can refer to the below links: + +https://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_setup_kubernetes_rancher.html +https://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_quickstart_guide.html#quick-start-label + +1. First ensure VF-C is marked true against field enabled in the oom/kubernetes/onap/values.yaml for successful deployment. + +:: + + vfc: + enabled: true + vid: + enabled: true + vnfsdk: + enabled: true + vvp: + enabled: false + + + +2. Upgrade Images in OOM charts + +Ensure the component version is right, you should check the respective component image version in VF-C charts. +If you need update the version, please modify values.yaml + +eg. + +:: + + oom/kubernetes/vfc/charts/vfc-catalog/values.yaml + + ################################################################# + # Global configuration defaults. + ################################################################# + global: + nodePortPrefix: 302 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 + + ################################################################# + # Application configuration defaults. + ################################################################# + # application image + flavor: small + + repository: nexus3.onap.org:10001 + image: onap/vfc/catalog:1.2.1 + pullPolicy: Always + + +3. Rebuild all repos in helm + +Every time you change the charts, you need to rebuild all repos to ensure the change can take effect. + +Step1: Build vfc repo + +:: + + cd oom/kubernetes + make vfc + +Step2: Build ONAP repo + +:: + + cd oom/kubernetes + make onap(here can also execute make all) + +Step3: Delete teh existing pods already deployed + +:: + + cd oom/kubernetes + helm del dev-vfc --purge + +Step4: Deploy the new pods + +:: + + cd oom/kubernetes + helm instal local/vfc --namespace onap --name dev-vfc + + +Now VF-C will be upgraded with the new image version + +You will see all the pod is runing + +:: + + cd oom/kubernetes + dev-vfc-vfc-catalog-64774ccbc6-vw7wn 2/2 Running 53 79d + dev-vfc-vfc-db-6c57b4fd47-7kbnj 1/1 Running 2 79d + dev-vfc-vfc-ems-driver-65bd9bf5b-65gtg 1/1 Running 48 79d + dev-vfc-vfc-generic-vnfm-driver-698c8d6698-2ctlg 2/2 Running 4 79d + dev-vfc-vfc-huawei-vnfm-driver-6d5db69469-277vb 2/2 Running 7 79d + dev-vfc-vfc-juju-vnfm-driver-68d4556dfd-hncrm 2/2 Running 4 79d + dev-vfc-vfc-multivim-proxy-74d8fc568d-gn8gp 1/1 Running 6 79d + dev-vfc-vfc-nokia-v2vnfm-driver-759687787f-fdfsg 1/1 Running 2 79d + dev-vfc-vfc-nokia-vnfm-driver-9cbcb9697-z7hp4 2/2 Running 6 79d + dev-vfc-vfc-nslcm-97c97759f-x9r9h 2/2 Running 9 79d + dev-vfc-vfc-resmgr-84b9b579c9-b7cbj 2/2 Running 7 79d + dev-vfc-vfc-vnflcm-7cbdfcfd9b-bqwz8 2/2 Running 13 79d + dev-vfc-vfc-vnfmgr-54bdfb84c4-kwbds 2/2 Running 6 79d + dev-vfc-vfc-vnfres-7fdbc88945-t9nhd 2/2 Running 5 79d + dev-vfc-vfc-workflow-5b745cf488-7z7nd 1/1 Running 2 79d + dev-vfc-vfc-workflow-engine-6d5d8ffc7c-pjpmc 1/1 Running 2 79d + dev-vfc-vfc-zte-sdnc-driver-6554df5856-ctjxh 1/1 Running 7 79d + dev-vfc-vfc-zte-vnfm-driver-7dbd4f887-thvvg 2/2 Running 8 79d + + +**3 Debug and Testing in running Pod** +====================================== +When you are doing the testing and would like to replace some new file like binary or some script and want to check the new resut. +Before you replace the file to the running pod,you need to close the pod livenessProbe and readinessProbe first to avoid the pod restart. + +Take vfc-catalog pod as an example: + +:: + kubectl -n onap edit deployment dev-vfc-vfc-catalog + + spec: + containers: + - env: + - name: MSB_ADDR + value: msb-iag:80 + - name: MYSQL_ADDR + value: vfc-db:3306 + image: 172.30.1.66:10001/onap/vfc/catalog:1.2.1 + imagePullPolicy: Always + #livenessProbe: + #failureThreshold: 3 + #initialDelaySeconds: 120 + #periodSeconds: 10 + #successThreshold: 1 + #tcpSocket: + #port: 8806 + #timeoutSeconds: 1 + name: vfc-catalog + ports: + - containerPort: 8806 + protocol: TCP + #readinessProbe: + #failureThreshold: 3 + #initialDelaySeconds: 10 + #periodSeconds: 10 + #successThreshold: 1 + #tcpSocket: + #port: 8806 + #timeoutSeconds: 1 + + +Then you can replace the file into the pod. + + +**4 Kubectl basic command** +====================================== + +Basic operation of kubernests cluster(Take the namespace of onap in linux client as an example) + +* Check the cluster node + +:: + + kubectl get node + +* Check cluster namespace + +:: + + kubectl get ns + +* View the pod information and the pod on which the node is located, under the namespace specified (for example, namespace on onap) + +:: + + kubectl get pod -o wide + + kubectl get pod -n onap + +* Connected to the docker in pod + +:: + + Check the docker's name , return two dockers' name after execution, -c specifie the docker that needed ti go in. + + kubectl -n onap get pod dev-vfc-catalog-68cb7c9878-v4kt2 -o jsonpath={.spec.containers[*].name} + + kubectl -n onap exec -it dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog /bin/bash + +* Copy files (take the catlog example). When the data copy is lost after the pod is restarted or migrated, the multi-copy pod copy operation only exists for the current pod + +:: + + Copy from local to dockers in pod + + kubectl -n onap cp copy_test.sh dev-vfc-catalog-68cb7c9878-v4kt2: -c vfc-catalog + + Copy pod's content to local + + kubectl -n onap cp dev-vfc-catalog-68cb7c9878-v4kt2:copy_test.sh -c vfc-catalog /tmp/copy_test.sh + +* Remote command (to see the current path of the container as an example) + +:: + + kubectl -n onap exec -it dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog pwd + +* View pod basic information and logs (no -c parameter added for single container pod) + +:: + + kubectl -n onap describe pod dev-vfc-catalog-68cb7c9878-v4kt2 + + kubectl -n onap logs dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog + +* Check the service listener port and manually expose the port, which is commonly used for testing, such as nginx under test namespace + +:: + + 1>Build namespace + kubectl create namespace test + + 2>create pod with 3 replication + kubectl run nginx --image=nginx --replicas=3 -n test + + 3>Pod exposed ports for nginx (target port, source port target-port) + + kubectl expose deployment nginx --port=88 --target-port=80 --type=LoadBalancer -n test + + or + + kubectl expose deployment nginx --port=88 --target-port=80 --type=NodePort -n test + + 4> Check svc(ports that pod exposed , The cluster internally accesses this pod via port 88., external access to the cluster using floatingip+30531) + + kubectl get svc -n test + + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + nginx LoadBalancer 10.43.45.186 10.0.0.3 88:30531/TCP 3m + + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + nginx NodePort 10.43.45.186 88:30531/TCP 3m + + + Nodes within the CLUSTER can be accessed via cluster-ip +88 port + Outside the cluster, it is accessible via either EXTERNAL IP or the Floating IP+30531, which is the node name of the pod + The floatingip corresponding to the node name can be viewed in the /etc/hosts of the rancher machine or in the documentation + + +* Modify the container image and pod strategy (deployment, statefulset), the completion of modification will trigger the rolling update + +:: + + 1>To determine whether the pod is a stateful application (efullset) or a stateful application (deployment) + + kubectl -n onap describe pod dev-vfc-catalog-68cb7c9878-v4kt2 |grep Controlled + + 2>Stateless application deployment + + kubectl -n onap get deploy |grep catalog + + kubectl -n onap edit deploy dev-vfc-catalog-68cb7c9878-v4kt2 + + 3>Stateful application statefulset + + kubectl -n onap get statefulset |grep cassandra + + kubectl -n onap edit statefulset dev-aai-cassandra + + +* Restart pod(After removing the pod, deployment will recreate a same pod and randomly assign it to any node.) + +:: + + kubectl -n onap delete pod dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog + + +* View the virtual machine where the portal-app resides in order to add host resolution + +:: + + 10.0.0.13 corresponding Floating IP is 172.30.3.36 + + kubectl -n onap get svc |grep portal-app + + portal-app LoadBalancer 10.43.181.163 10.0.0.13 8989:30215/TCP,8006:30213/TCP,8010:30214/TCP,8443:30225/TCP + +* pod expansion and shrinkage + +:: + + pod expansionkubectl scale deployment nginx --replicas 3 + + pod shrinkage kubectl scale deployment nginx --replicas 1 + +
\ No newline at end of file diff --git a/docs/platform/installation/user-guide/index.rst b/docs/platform/installation/user-guide/index.rst new file mode 100644 index 00000000..77ce6f2c --- /dev/null +++ b/docs/platform/installation/user-guide/index.rst @@ -0,0 +1,7 @@ +NS LCM Guide Using VF-C +----------------------- + +.. toctree:: + :titlesonly: + + ns-instantiate-guide diff --git a/docs/platform/installation.rst b/docs/platform/installation/user-guide/ns-instantiate-guide.rst index 961186ea..c8bd1fe8 100644 --- a/docs/platform/installation.rst +++ b/docs/platform/installation/user-guide/ns-instantiate-guide.rst @@ -1,19 +1,17 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -VF-C Installation and Explaination ------------------------------------ -Describe the environment and steps to install VF-C components. +NS LCM Guide Using VF-C +----------------------- -VF-C supports vCPE use case in R3, all VNFs are deployed through VF-C GVNFM . +VF-C supports vCPE use case in R3, all VNFs are deployed through VF-C GVNFM . This page describes how to use VF-C to instantiate NS +Before you try, please prepare two csar file: +* VNF csar +* NS csar -|image0| - -.. |image0| image:: casrImage.png - :width: 1000px - :height: 600px +If you don't have any csar, you can download the simple csar from https://wiki.onap.org/display/DW/VF-C+User+Guide Environment @@ -33,7 +31,7 @@ Steps -If you want to try VF-C, the small project set should include: VF-C , Multicloud, MSB, A&AI. +If you want to try VF-C, the small project set should include: VF-C , Multicloud, MSB, A&AI. VF-C components need to register to MSB when starting, so MSB components should be installed first,you can refer the following link to install MSB. @@ -100,15 +98,15 @@ Before we instantiate a service, we need to register vim and vnfm which is used Note: type should be gvnfmdriver which is the same with gvnfmdriver microservice -url is the msb-iag NodeIp:port -vim corresponds to cloudowner_cloudregionid which registered in step1 +url is the msb-iag NodeIp:port +vim corresponds to cloudowner_cloudregionid which registered in step1 Package Onboarding ++++++++++++++++++ VF-C R3 support VNF/PNF/NS csar package upload from local csar file. VNF/PNF csar package should be uploaded first, then NS csar package can be uploaded. -Before onboarding a package, should create one record first. +Before onboarding a package, should create one record first. 1. Create VNF package record in catalog DB @@ -125,8 +123,8 @@ Before onboarding a package, should create one record first. -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ -F 'userDefinedData= "key2": "value2"' -Note: - a. 172.30.3.104:30280 is the node IP and exposed port where the msb-iag pod is located. +Note: + a. 172.30.3.104:30280 is the node IP and exposed port where the msb-iag pod is located. b. userDefinedData is the key value pair which defined for the vnf package we created 2. Upload VNF package to VF-C catalog @@ -135,15 +133,15 @@ Note: curl -X PUT \ http://172.30.3.104:30280/api/vnfpkgm/v1/vnf_packages/38037a12-a0d4-4aa4-ac50-cd6b05ce0b24/package_content \ - -H 'Postman-Token: 88ada218-86fd-4cd7-a06e-cc462f5df651' \ - -H 'cache-control: no-cache' - -H 'accept: application/json' \ - -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ - -F 'file=@C:\ONAP\Integration\R3\vCPE\vnf-vsn.csar' + -H 'Postman-Token: 88ada218-86fd-4cd7-a06e-cc462f5df651' \ + -H 'cache-control: no-cache' + -H 'accept: application/json' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'file=@C:\ONAP\Integration\R3\vCPE\vnf-vsn.csar' Note: - a. 38037a12-a0d4-4aa4-ac50-cd6b05ce0b24 is the vnf_pkg_id which we get from the first step - b. -F is used to specify the local vnf package file + a.38037a12-a0d4-4aa4-ac50-cd6b05ce0b24 is the vnf_pkg_id which we get from the first step. + b.-F is used to specify the local vnf package file 3. Create NS package record in catalog DB @@ -152,14 +150,14 @@ Note: curl -X POST \ http://172.30.3.104:30280/api/nsd/v1/ns_descriptors \ - -H 'Postman-Token: 71b11910-1708-471c-84bb-5b0dd8d214a2' \ - -H 'accept: application/json' \ - -H 'cache-control: no-cache' \ - -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ - -F 'userDefinedData= "key1": "value1"' + -H 'Postman-Token: 71b11910-1708-471c-84bb-5b0dd8d214a2' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'userDefinedData= "key1": "value1"' Note: - a. userDefinedData is the key value pair which defined for the ns package we created + a. userDefinedData is the key value pair which defined for the ns package we created 4. Upload NS package to VF-C catalog @@ -167,14 +165,14 @@ Note: curl -X PUT \ http://172.30.3.104:30280/api/nsd/v1/ns_descriptors/79ca81ec-10e0-44e4-bc85-ba968f345711/nsd_content \ - -H 'Postman-Token: f16e4a54-a514-4878-b307-9b80c630166e' \ - -H 'cache-control: no-cache' - -H 'accept: application/json' \ - -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ - -F 'file=@C:\ONAP\Integration\R3\vCPE\ns.csar' + -H 'Postman-Token: f16e4a54-a514-4878-b307-9b80c630166e' \ + -H 'cache-control: no-cache' + -H 'accept: application/json' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'file=@C:\ONAP\Integration\R3\vCPE\ns.csar' Note: - a. -F is used to specify the local ns package file + a. -F is used to specify the local ns package file NS Life Cycle Management @@ -183,32 +181,32 @@ NS Life Cycle Management Currently VF-C GVNFM support NS create/Instantiate/terminate/delete/heal. -VF-C R3 healing only suport restart a vm of an VNF. +VF-C R3 healing only suport restart a vm of an VNF. -1. NS Create +1. NS Create :: curl -X POST \ http://172.30.3.104:30280/api/nslcm/v1/ns \ - -H 'Postman-Token: 27e2c576-2d9b-4753-a6b0-6262a4a7ec86' \ - -H 'accept: application/json' \ - -H 'cache-control: no-cache' \ - -H 'content-type: application/json' \ + -H 'Postman-Token: 27e2c576-2d9b-4753-a6b0-6262a4a7ec86' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ -d '{ "context": { - "globalCustomerId": "global-customer-id-test1", - "serviceType": "service-type-test1" + "globalCustomerId": "global-customer-id-test1", + "serviceType": "service-type-test1" }, - "csarId": "79ca81ec-10e0-44e4-bc85-ba968f345711", - "nsName": "ns_vsn", - "description": "description" + "csarId": "79ca81ec-10e0-44e4-bc85-ba968f345711", + "nsName": "ns_vsn", + "description": "description" }' Note: - a. globalCustomerId and serviceType is defined in A&AI - b. csar Id is the NS package id which is consistent with the catalog ns package id - c. nsName is the NS name + a. globalCustomerId and serviceType is defined in A&AI. + b. csar Id is the NS package id which is consistent with the catalog ns package id. + c. nsName is the NS name 2. NS Instantiate @@ -216,25 +214,25 @@ Note: curl -X POST \ http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/instantiate \ - -H 'Postman-Token: 2a9542b2-3364-4a40-8513-45e10b8ca2ce' \ - -H 'accept: application/json' \ - -H 'cache-control: no-cache' \ - -H 'content-type: application/json' \ + -H 'Postman-Token: 2a9542b2-3364-4a40-8513-45e10b8ca2ce' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ -d '{ "additionalParamForNs": { - "sdnControllerId": "2" + "sdnControllerId": "2" }, "locationConstraints": [{ - "vnfProfileId": "45711f40-3f43-415b-bb45-46e5c6940735", + "vnfProfileId": "45711f40-3f43-415b-bb45-46e5c6940735", "locationConstraints": { - "vimId": "CPE-DC_RegionOne" + "vimId": "CPE-DC_RegionOne" } }] }' -Note - a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create - b. locationConstraints is an array which contains all the vnfs included under NS locationConstraints is used to define the VIM( cloudOwner_cloudRegionId) that the VNF will be deployed vnfProfileId is the vnf descriptor id which defined in NS template under node_templates . +Note: + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. locationConstraints is an array which contains all the vnfs included under NS locationConstraints is used to define the VIM( cloudOwner_cloudRegionId) that the VNF will be deployed vnfProfileId is the vnf descriptor id which defined in NS template under node_templates . |image3| @@ -243,7 +241,7 @@ Note :width: 5.97047in :height: 2.63208in - c. before instantiate, you should create one volumntype which called root. + c. before instantiate, you should create one volumntype which called root. 3. NS Heal @@ -251,26 +249,26 @@ Note curl -X PUT \ http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/heal \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: f18754b8-ed68-43b0-ae55-b8b8780e5c6a' \ - -H 'accept: application/json' \ - -H 'cache-control: no-cache' \ - -d '{ "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567", - "cause": "restartvm", - "additionalParams": { - "action": "restartvm", - "actionvminfo": { - "vmid": "1623cd25-ae6f-4880-8132-15914367e47b", - "vduid": "", - "vmname": "1623cd25-ae6f-4880-8132-15914367e47b" - }} + -H 'Content-Type: application/json' \ + -H 'Postman-Token: f18754b8-ed68-43b0-ae55-b8b8780e5c6a' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -d '{ "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567", + "cause": "restartvm", + "additionalParams": { + "action": "restartvm", + "actionvminfo": { + "vmid": "1623cd25-ae6f-4880-8132-15914367e47b", + "vduid": "", + "vmname": "1623cd25-ae6f-4880-8132-15914367e47b" + }} }' Note: - a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create - b. "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567" is the VNF instanceId, we can get this from A&AI or VF-C DB - c. action only support restartvm in Casablanca release - d. actionvminfo only supports to include one vm , vmid is the vmid which is the same with the vmid in cloud. + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567" is the VNF instanceId, we can get this from A&AI or VF-C DB. + c. action only support restartvm in Casablanca release. + d. actionvminfo only supports to include one vm , vmid is the vmid which is the same with the vmid in cloud. 4. NS Terminate @@ -278,16 +276,16 @@ Note: curl -X POST \ http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/terminate \ - -H 'Postman-Token: 5190e46f-f612-432a-90d8-161ea67778b2' \ - -H 'accept: application/json' \ - -H 'cache-control: no-cache' \ - -H 'content-type: application/json' \ - -d 'gracefulTerminationTimeout: 600, + -H 'Postman-Token: 5190e46f-f612-432a-90d8-161ea67778b2' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ + -d 'gracefulTerminationTimeout: 600, \terminationType: FORCEFUL' Note: - a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create - b. terminateType supports FORCEFUL and GRACEFULLc. gracefulTerminationTimeout is the wait time before execute terminate. + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. terminateType supports FORCEFUL and GRACEFULLc. gracefulTerminationTimeout is the wait time before execute terminate. 5. NS delete @@ -295,8 +293,8 @@ Note: curl -X DELETE \ http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec \ - -H 'Postman-Token: 62b35de6-1785-40ed-8026-06d73f9770d8' \ - -H 'cache-control: no-cache' + -H 'Postman-Token: 62b35de6-1785-40ed-8026-06d73f9770d8' \ + -H 'cache-control: no-cache' Note: - a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create
\ No newline at end of file + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create
\ No newline at end of file diff --git a/docs/platform/ns-instantiate-guide.rst b/docs/platform/ns-instantiate-guide.rst new file mode 100644 index 00000000..d7a0d89e --- /dev/null +++ b/docs/platform/ns-instantiate-guide.rst @@ -0,0 +1,300 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +NS LCM Guide Using VF-C +----------------------- + +VF-C supports vCPE use case in R3, all VNFs are deployed through VF-C GVNFM . +This page describes how to use VF-C to instantiate NS + +Before you try, please prepare two csar file: +* VNF csar +* NS csar + +If you don't have any csar, you can download the simple csar from https://wiki.onap.org/display/DW/VF-C+User+Guide + + +Environment ++++++++++++ +VF-C components can run as docker, docker service should be installed before install VF-C components. + +The following scripts show the docker service install commands in centos7. + +:: + + yum install docker + systemctl enable docker.service + systemctl start docker.service + +Steps ++++++ + + + +If you want to try VF-C, the small project set should include: VF-C , Multicloud, MSB, A&AI. + +VF-C components need to register to MSB when starting, so MSB components should be installed first,you can refer the following link to install MSB. + +http://onap.readthedocs.io/en/latest/submodules/msb/apigateway.git/docs/platform/installation.html + +Note: In the following steps, we use ${MSB_IP} as the IP of msb_apigateway component. + +1. Install vfc-nfvo-db component + +:: + + docker run -d -p 3306:3306 -p 6379:6379 --name vfc-db -v /var/lib/mysql nexus3.onap.org:10001/onap/vfc/db + we use ${VFC_DB_IP} as the IP of vfc-db component. + +2. Install vfc-nfvo-lcm component. + +:: + + docker run -d -p 8403:8403 --name vfc-nslcm -e MSB_ADDR=${MSB_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 + nexus3.onap.org:10001/onap/vfc/nslcm + +3. Install vfc-nfvo-catalog component. + +:: + + docker run -d -p 8806:8806 --name vfc-catalog -e MSB_ADDR=${MSB_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 nexus3.onap.org:10001/onap/vfc/catalog + +4. Install vfc-nfvo-gvnfmdriver component. + +:: + + docker run -d -p 8484:8484 --name vfc-gvnfmdriver -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/gvnfmdriver + +5. Install vfc-gvnfm-vnflcm component. + +:: + + docker run -d -p 8801:8801 --name vfc-vnflcm -e MSB_ADDR=${MSB_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 nexus3.onap.org:10001/onap/vfc/vnflcm + + +ESR Registration +++++++++++++++++ + + +Before we instantiate a service, we need to register vim and vnfm which is used to deploy vnfs. + 1.VIM Registration + + |image1| + + .. |image1| image:: vim.png + :width: 1000px + :height: 600px + + + 2. GVNFM Registration + + For VF-C, because we use GVNFM to deploy vnfs , so you can register GVNFM in esr gui as follows: + + |image2| + + .. |image2| image:: gvnfm.png + :width: 1000px + :height: 600px + + +Note: type should be gvnfmdriver which is the same with gvnfmdriver microservice +url is the msb-iag NodeIp:port +vim corresponds to cloudowner_cloudregionid which registered in step1 + +Package Onboarding +++++++++++++++++++ + + +VF-C R3 support VNF/PNF/NS csar package upload from local csar file. VNF/PNF csar package should be uploaded first, then NS csar package can be uploaded. +Before onboarding a package, should create one record first. + + +1. Create VNF package record in catalog DB + +:: + + curl -X POST \ + + http://172.30.3.104:30280/api/vnfpkgm/v1/vnf_packages \ + + -H 'Postman-Token: f9c45dea-b7bb-4acd-89e1-b9b1c3d70d8a' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'userDefinedData= "key2": "value2"' + +Note: + a. 172.30.3.104:30280 is the node IP and exposed port where the msb-iag pod is located. + b. userDefinedData is the key value pair which defined for the vnf package we created + +2. Upload VNF package to VF-C catalog + +:: + + curl -X PUT \ + http://172.30.3.104:30280/api/vnfpkgm/v1/vnf_packages/38037a12-a0d4-4aa4-ac50-cd6b05ce0b24/package_content \ + -H 'Postman-Token: 88ada218-86fd-4cd7-a06e-cc462f5df651' \ + -H 'cache-control: no-cache' + -H 'accept: application/json' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'file=@C:\ONAP\Integration\R3\vCPE\vnf-vsn.csar' + +Note: + a. 38037a12-a0d4-4aa4-ac50-cd6b05ce0b24 is the vnf_pkg_id which we get from the first step. + b. -F is used to specify the local vnf package file + +3. Create NS package record in catalog DB + +:: + + curl -X POST \ + + http://172.30.3.104:30280/api/nsd/v1/ns_descriptors \ + -H 'Postman-Token: 71b11910-1708-471c-84bb-5b0dd8d214a2' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'userDefinedData= "key1": "value1"' + +Note: + a. userDefinedData is the key value pair which defined for the ns package we created + +4. Upload NS package to VF-C catalog + +:: + + curl -X PUT \ + http://172.30.3.104:30280/api/nsd/v1/ns_descriptors/79ca81ec-10e0-44e4-bc85-ba968f345711/nsd_content \ + -H 'Postman-Token: f16e4a54-a514-4878-b307-9b80c630166e' \ + -H 'cache-control: no-cache' + -H 'accept: application/json' \ + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ + -F 'file=@C:\ONAP\Integration\R3\vCPE\ns.csar' + +Note: + a. -F is used to specify the local ns package file + + +NS Life Cycle Management +++++++++++++++++++++++++ + + +Currently VF-C GVNFM support NS create/Instantiate/terminate/delete/heal. + +VF-C R3 healing only suport restart a vm of an VNF. + +1. NS Create + +:: + + curl -X POST \ + http://172.30.3.104:30280/api/nslcm/v1/ns \ + -H 'Postman-Token: 27e2c576-2d9b-4753-a6b0-6262a4a7ec86' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ + -d '{ + "context": { + "globalCustomerId": "global-customer-id-test1", + "serviceType": "service-type-test1" + }, + "csarId": "79ca81ec-10e0-44e4-bc85-ba968f345711", + "nsName": "ns_vsn", + "description": "description" + }' + +Note: + a. globalCustomerId and serviceType is defined in A&AI. + b. csar Id is the NS package id which is consistent with the catalog ns package id. + c. nsName is the NS name + +2. NS Instantiate + +:: + + curl -X POST \ + http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/instantiate \ + -H 'Postman-Token: 2a9542b2-3364-4a40-8513-45e10b8ca2ce' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ + -d '{ + "additionalParamForNs": { + "sdnControllerId": "2" + }, + "locationConstraints": [{ + "vnfProfileId": "45711f40-3f43-415b-bb45-46e5c6940735", + "locationConstraints": { + "vimId": "CPE-DC_RegionOne" + } + }] + }' + +Note: + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. locationConstraints is an array which contains all the vnfs included under NS locationConstraints is used to define the VIM( cloudOwner_cloudRegionId) that the VNF will be deployed vnfProfileId is the vnf descriptor id which defined in NS template under node_templates . + + + |image3| + + .. |image3| image:: image2018-12-10_12-1-36.png + :width: 5.97047in + :height: 2.63208in + + c. before instantiate, you should create one volumntype which called root. + +3. NS Heal + +:: + + curl -X PUT \ + http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/heal \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: f18754b8-ed68-43b0-ae55-b8b8780e5c6a' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -d '{ "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567", + "cause": "restartvm", + "additionalParams": { + "action": "restartvm", + "actionvminfo": { + "vmid": "1623cd25-ae6f-4880-8132-15914367e47b", + "vduid": "", + "vmname": "1623cd25-ae6f-4880-8132-15914367e47b" + }} + }' + +Note: + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. "vnfInstanceId": "044b705c-e44d-4733-ab64-987f46d9b567" is the VNF instanceId, we can get this from A&AI or VF-C DB. + c. action only support restartvm in Casablanca release. + d. actionvminfo only supports to include one vm , vmid is the vmid which is the same with the vmid in cloud. + +4. NS Terminate + +:: + + curl -X POST \ + http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec/terminate \ + -H 'Postman-Token: 5190e46f-f612-432a-90d8-161ea67778b2' \ + -H 'accept: application/json' \ + -H 'cache-control: no-cache' \ + -H 'content-type: application/json' \ + -d 'gracefulTerminationTimeout: 600, + \terminationType: FORCEFUL' + +Note: + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create. + b. terminateType supports FORCEFUL and GRACEFULLc. gracefulTerminationTimeout is the wait time before execute terminate. + +5. NS delete + +:: + + curl -X DELETE \ + http://172.30.3.104:30280/api/nslcm/v1/ns/f0b4c09f-c653-438a-b091-5218b0f806ec \ + -H 'Postman-Token: 62b35de6-1785-40ed-8026-06d73f9770d8' \ + -H 'cache-control: no-cache' + +Note: + a. f0b4c09f-c653-438a-b091-5218b0f806ec is the ns instance id which create in step 1 : NS create
\ No newline at end of file |