aboutsummaryrefslogtreecommitdiffstats
path: root/docs/platform
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2019-08-20 17:08:22 +0800
committeryangyan <yangyanyj@chinamobile.com>2019-08-20 17:08:29 +0800
commit7ed98081ac0b9b07e08eacf129425d8cca8a4b05 (patch)
treedacb413e27fd42aca69c1ff43b5fe03cf20304b0 /docs/platform
parent3ca4011858f7b1aba8aa32e4ac66ead67aacbda2 (diff)
update docs of json file
Change-Id: Ie9aca1c3f2d3e9372b9cbd6c31a7912e4e17baf9 Issue-ID: VFC-1492 Signed-off-by: yangyan <yangyanyj@chinamobile.com>
Diffstat (limited to 'docs/platform')
-rw-r--r--docs/platform/APIs/VNFLCM_API/VNFLCM_API_Specification_v1.json3229
-rw-r--r--docs/platform/APIs/VNFLCM_API/index.rst7
2 files changed, 3236 insertions, 0 deletions
diff --git a/docs/platform/APIs/VNFLCM_API/VNFLCM_API_Specification_v1.json b/docs/platform/APIs/VNFLCM_API/VNFLCM_API_Specification_v1.json
new file mode 100644
index 00000000..2fc3bc56
--- /dev/null
+++ b/docs/platform/APIs/VNFLCM_API/VNFLCM_API_Specification_v1.json
@@ -0,0 +1,3229 @@
+{
+ "swagger":"2.0",
+ "info":{
+ "title":"vnflcm API",
+ "description":"
+
+The `swagger-ui` view can be found [here](/api/vnflcm/v1/swagger).
+The `ReDoc` view can be found [here](/api/vnflcm/v1/redoc).
+The swagger YAML document can be found [here](/api/vnflcm/v1/swagger.yaml).
+The swagger JSON document can be found [here](/api/vnflcm/v1/swagger.json).",
+ "version":"v1"
+ },
+ "host":"10.42.7.81:8801",
+ "schemes":[
+ "http"
+ ],
+ "basePath":"/",
+ "consumes":[
+ "application/json"
+ ],
+ "produces":[
+ "application/json"
+ ],
+ "securityDefinitions":{
+ "Basic":{
+ "type":"basic"
+ }
+ },
+ "security":[
+ {
+ "Basic":[
+
+ ]
+ }
+ ],
+ "paths":{
+ "/api/vnflcm/v1/callback_sample":{
+ "get":{
+ "operationId":"api_vnflcm_v1_callback_sample_list",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "204":{
+ "description":"Successfully"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+
+ ]
+ },
+ "/api/vnflcm/v1/health_check":{
+ "get":{
+ "operationId":"api_vnflcm_v1_health_check_list",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"Active"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+
+ ]
+ },
+ "/api/vnflcm/v1/resources/{action_type}":{
+ "post":{
+ "operationId":"api_vnflcm_v1_resources_create",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "201":{
+ "description":""
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"action_type",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/subscriptions":{
+ "get":{
+ "operationId":"api_vnflcm_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_vnflcm_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"
+ }
+ },
+ "400":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+
+ ]
+ },
+ "/api/vnflcm/v1/subscriptions/{subscriptionid}":{
+ "get":{
+ "operationId":"api_vnflcm_v1_subscriptions_read",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/LccnSubscription"
+ }
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "delete":{
+ "operationId":"api_vnflcm_v1_subscriptions_delete",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "204":{
+ "description":""
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"subscriptionid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances":{
+ "get":{
+ "operationId":"api_vnflcm_v1_vnf_instances_list",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VnfInstance"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/CreateVnfReq"
+ }
+ }
+ ],
+ "responses":{
+ "201":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/VnfInstance"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}":{
+ "get":{
+ "operationId":"api_vnflcm_v1_vnf_instances_read",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/VnfInstance"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "patch":{
+ "operationId":"api_vnflcm_v1_vnf_instances_partial_update",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/VnfInfoModifications"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Successfully"
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "delete":{
+ "operationId":"api_vnflcm_v1_vnf_instances_delete",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "204":{
+ "description":"Successfully"
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/change_ext_conn":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_change_ext_conn_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ChangeExtVnfConnectivityRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Success"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/change_flavour":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_change_flavour_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ChangeVnfFlavourRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Empty"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/heal":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_heal_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/HealVnfRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Success"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/instantiate":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_instantiate_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/InstantiateVnfRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/JobIdentifier"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/operate":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_operate_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/OperateVnfRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Success"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/scale":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_scale_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ScaleVnfRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Success"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/scale_to_level":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_scale_to_level_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ScaleVnfToLevelRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"Success"
+ },
+ "404":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "409":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_instances/{instanceid}/terminate":{
+ "post":{
+ "operationId":"api_vnflcm_v1_vnf_instances_terminate_create",
+ "description":"",
+ "parameters":[
+ {
+ "name":"data",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/TerminateVnfRequest"
+ }
+ }
+ ],
+ "responses":{
+ "202":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/JobIdentifier"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"instanceid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_lc_ops/{job_id}":{
+ "get":{
+ "operationId":"api_vnflcm_v1_vnf_lc_ops_read",
+ "description":"",
+ "parameters":[
+ {
+ "name":"responseId",
+ "in":"query",
+ "description":"responseId",
+ "type":"integer"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/JobQueryResp"
+ }
+ },
+ "500":{
+ "description":"Internal error"
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"job_id",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/api/vnflcm/v1/vnf_lcm_op_occs":{
+ "get":{
+ "operationId":"api_vnflcm_v1_vnf_lcm_op_occs_list",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VNFLCMOpOcc"
+ }
+ }
+ },
+ "400":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+
+ ]
+ },
+ "/api/vnflcm/v1/vnf_lcm_op_occs/{lcmopoccid}":{
+ "get":{
+ "operationId":"api_vnflcm_v1_vnf_lcm_op_occs_read",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/VNFLCMOpOcc"
+ }
+ },
+ "500":{
+ "description":"",
+ "schema":{
+ "$ref":"#/definitions/ProblemDetails"
+ }
+ }
+ },
+ "tags":[
+ "api"
+ ]
+ },
+ "parameters":[
+ {
+ "name":"lcmopoccid",
+ "in":"path",
+ "required":true,
+ "type":"string"
+ }
+ ]
+ },
+ "/samples/":{
+ "get":{
+ "operationId":"samples_list",
+ "description":"",
+ "parameters":[
+
+ ],
+ "responses":{
+ "200":{
+ "description":"Successfully"
+ }
+ },
+ "tags":[
+ "samples"
+ ]
+ },
+ "parameters":[
+
+ ]
+ }
+ },
+ "definitions":{
+ "Versions":{
+ "title":"Versions",
+ "description":"match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider",
+ "required":[
+ "vnfSoftwareVersion"
+ ],
+ "type":"object",
+ "properties":{
+ "vnfSoftwareVersion":{
+ "title":"Vnfsoftwareversion",
+ "description":"Software version to match.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfdVersions":{
+ "description":"match VNF instances that belong to VNF products with certain VNFD versions",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ }
+ },
+ "VnfProducts":{
+ "title":"Vnfproducts",
+ "description":"match VNF instances that belong to VNF products with certain product names, from one particular provider",
+ "required":[
+ "vnfProductName"
+ ],
+ "type":"object",
+ "properties":{
+ "vnfProductName":{
+ "title":"Vnfproductname",
+ "description":"Name of the VNF product to match.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "versions":{
+ "$ref":"#/definitions/Versions"
+ }
+ }
+ },
+ "VnfProductsProviders":{
+ "title":"Vnfproductsfromproviders",
+ "description":"match VNF instances that belong to VNF products from certain providers.",
+ "required":[
+ "vnfProvider"
+ ],
+ "type":"object",
+ "properties":{
+ "vnfProvider":{
+ "title":"Vnfprovider",
+ "description":"Name of the VNF provider to match.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfProducts":{
+ "$ref":"#/definitions/VnfProducts"
+ }
+ }
+ },
+ "VnfInstanceSubscriptionFilter":{
+ "title":"Vnfinstancesubscriptionfilter",
+ "description":"Filter criteria to select VNF instances about which to notify.",
+ "type":"object",
+ "properties":{
+ "vnfdIds":{
+ "description":"VNF instances that were created based on a VNFD identified by one of the vnfdId values",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "format":"uuid"
+ }
+ },
+ "vnfInstanceIds":{
+ "description":"VNF instance IDs that has to be matched",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "format":"uuid"
+ }
+ },
+ "vnfInstanceNames":{
+ "description":"VNF Instance names that has to be matched",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ },
+ "vnfProductsFromProviders":{
+ "$ref":"#/definitions/VnfProductsProviders"
+ }
+ }
+ },
+ "LifeCycleChangeNotificationsFilter":{
+ "title":"Filter",
+ "description":"Filter settings for this subscription, to define the of all notifications this subscription relates to.",
+ "type":"object",
+ "properties":{
+ "notificationTypes":{
+ "description":"Match particular notification types",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "enum":[
+ "VnfLcmOperationOccurrenceNotification",
+ "VnfIdentifierCreationNotification",
+ "VnfIdentifierDeletionNotification"
+ ]
+ }
+ },
+ "operationTypes":{
+ "description":"Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification.",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "enum":[
+ "INSTANTIATE",
+ "SCALE",
+ "SCALE_TO_LEVEL",
+ "CHANGE_FLAVOUR",
+ "TERMINATE",
+ "HEAL",
+ "OPERATE",
+ "CHANGE_EXT_CONN",
+ "MODIFY_INFO"
+ ]
+ }
+ },
+ "operationStates":{
+ "description":"Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification.",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "enum":[
+ "STARTING",
+ "PROCESSING",
+ "COMPLETED",
+ "FAILED_TEMP",
+ "FAILED",
+ "ROLLING_BACK",
+ "ROLLED_BACK"
+ ]
+ }
+ },
+ "vnfInstanceSubscriptionFilter":{
+ "$ref":"#/definitions/VnfInstanceSubscriptionFilter"
+ }
+ }
+ },
+ "link":{
+ "title":"Self",
+ "description":"URI of this resource.",
+ "required":[
+ "href"
+ ],
+ "type":"object",
+ "properties":{
+ "href":{
+ "title":"Href",
+ "description":"URI of the referenced resource.",
+ "type":"string",
+ "minLength":1
+ }
+ }
+ },
+ "Link":{
+ "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,
+ "minLength":1
+ },
+ "callbackUri":{
+ "title":"Callbackuri",
+ "description":"The URI of the endpoint to send the notification to.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "filter":{
+ "$ref":"#/definitions/LifeCycleChangeNotificationsFilter"
+ },
+ "_links":{
+ "$ref":"#/definitions/Link"
+ }
+ }
+ },
+ "ProblemDetails":{
+ "required":[
+ "status",
+ "detail"
+ ],
+ "type":"object",
+ "properties":{
+ "type":{
+ "title":"Type",
+ "description":"Type",
+ "type":"string",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "title":{
+ "title":"Title",
+ "description":"Title",
+ "type":"string",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "status":{
+ "title":"Status",
+ "description":"Status",
+ "type":"integer"
+ },
+ "detail":{
+ "title":"Detail",
+ "description":"Detail",
+ "type":"string",
+ "minLength":1
+ },
+ "instance":{
+ "title":"Instance",
+ "description":"Instance",
+ "type":"string",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "additional_details":{
+ "description":"Any number of additional attributes, as defined in a specification or by an implementation.",
+ "type":"array",
+ "items":{
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "password":{
+ "title":"Password",
+ "description":"Password to be used in HTTP Basic authentication.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "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,
+ "minLength":1
+ },
+ "tokenEndpoint":{
+ "title":"Tokenendpoint",
+ "description":"The token endpoint from which the access token can be obtained.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ },
+ "SubscriptionAuthentication":{
+ "title":"Authentication",
+ "description":"Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription.",
+ "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",
+ "minLength":1
+ },
+ "filter":{
+ "$ref":"#/definitions/LifeCycleChangeNotificationsFilter"
+ },
+ "authentication":{
+ "$ref":"#/definitions/SubscriptionAuthentication"
+ }
+ }
+ },
+ "VimConnectionInfo":{
+ "title":"Vimconnectioninfo",
+ "description":"Information about VIM connections to be used for managing the resources for the VNF instance. This attribute can be modified with the PATCH method.",
+ "required":[
+ "id",
+ "vimType"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"The identifier of the VIM Connection. This identifier is managed by the NFVO.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vimId":{
+ "title":"Vimid",
+ "description":"The identifier of the VIM instance. This identifier is managed by the NFVO.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vimType":{
+ "title":"Vimtype",
+ "description":"Discriminator for the different types of the VIM information.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "interfaceInfo":{
+ "title":"Interfaceinfo",
+ "description":"Information about the interface or interfaces to the VIM",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "accessInfo":{
+ "title":"Accessinfo",
+ "description":"Authentication credentials for accessing the VIM, and other access-related information",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "extra":{
+ "title":"Extra",
+ "description":"VIM type specific additional information. The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ScaleInfo":{
+ "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":[
+ "aspectId",
+ "scaleLevel"
+ ],
+ "type":"object",
+ "properties":{
+ "aspectId":{
+ "title":"Aspectid",
+ "description":"Identifier of the scaling aspect.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "scaleLevel":{
+ "title":"Scalelevel",
+ "description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.",
+ "type":"integer"
+ }
+ }
+ },
+ "CpProtocolInfo":{
+ "description":"Network protocol information 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":{
+ "title":"Ipoverethernet",
+ "description":"IP addresses over Ethernet to assign to the extCP instance.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ExtCpInfo":{
+ "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,
+ "minLength":1
+ },
+ "cpdId":{
+ "title":"Cpdid",
+ "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "cpProtocolInfo":{
+ "description":"Network protocol information for this CP.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/CpProtocolInfo"
+ },
+ "x-nullable":true
+ },
+ "extLinkPortId":{
+ "title":"Extlinkportid",
+ "description":"Identifier of the extLinkPortInfo structure inside the extVirtualLinkInfo structure.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ }
+ }
+ },
+ "ResourceHandle":{
+ "title":"Resourcehandle",
+ "description":"Reference to the resource realizing this VL.",
+ "required":[
+ "resourceId"
+ ],
+ "type":"object",
+ "properties":{
+ "vimConnectionId":{
+ "title":"Vimconnectionid",
+ "description":"Identifier of the VIM connection to manage the resource.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "resourceProviderId":{
+ "title":"Resourceproviderid",
+ "description":"Identifier of the entity responsible for the management of the resource.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "resourceId":{
+ "title":"Resourceid",
+ "description":"Identifier of the resource in the scope of the VIM or the resource provider.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vimLevelResourceType":{
+ "title":"Vimlevelresourcetype",
+ "description":"String, type of the resource in the scope of the VIM or the resource provider.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ }
+ }
+ },
+ "ExtlinkPortInfo":{
+ "description":"Link ports of this VL.",
+ "required":[
+ "resourceHandle"
+ ],
+ "type":"object",
+ "properties":{
+ "resourceHandle":{
+ "$ref":"#/definitions/ResourceHandle"
+ },
+ "id":{
+ "title":"Id",
+ "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,
+ "x-nullable":true
+ }
+ }
+ },
+ "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. The identifier is assigned by the NFV-MANO entity that manages this VL instance.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "resourceHandle":{
+ "$ref":"#/definitions/ResourceHandle"
+ },
+ "extlinkPorts":{
+ "description":"Link ports of this VL.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtlinkPortInfo"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "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,
+ "x-nullable":true
+ }
+ }
+ },
+ "ExtManagedVirtualLinkInfo":{
+ "description":"Information about the externally-managed internal VLs of the VNF instance.",
+ "required":[
+ "id",
+ "vnfVirtualLinkDescId",
+ "networkResource"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"Identifier of the externally-managed internal VL and the related externally-managed VL information instance.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfVirtualLinkDescId":{
+ "title":"Vnfvirtuallinkdescid",
+ "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "networkResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ },
+ "vnfLinkPorts":{
+ "description":"VnfLinkPortInfo, Link ports of this VL.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VnfLinkPortInfo"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "cpdId":{
+ "title":"Cpdid",
+ "description":"Identifier of the external CPD, VnfExtCpd, in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "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,
+ "x-nullable":true
+ },
+ "cpProtocolInfo":{
+ "description":"Network protocol information for this CP.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/CpProtocolInfo"
+ },
+ "x-nullable":true
+ },
+ "vnfLinkPortId":{
+ "title":"Vnflinkportid",
+ "description":"Identifier of the vnfLinkPorts structure in the vnfVirtualLinkResourceInfo structure.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "vduId":{
+ "title":"Vduid",
+ "description":"Reference to the applicable VDU in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "reservationId":{
+ "title":"Reservationid",
+ "description":"The reservation identifier applicable to the resource.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "virtualLinkDescId":{
+ "title":"Virtuallinkdescid",
+ "description":"Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "networkResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ },
+ "reservationId":{
+ "title":"Reservationid",
+ "description":"The reservation identifier applicable to the resource.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "virtualStorageDescId":{
+ "title":"Virtualstoragedescid",
+ "description":"Identifier of the VirtualStorageDesc in the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "storageResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ },
+ "reservationId":{
+ "title":"Reservationid",
+ "description":"The reservation identifier applicable to the resource.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "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,
+ "minLength":1
+ },
+ "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/ScaleInfo"
+ },
+ "x-nullable":true
+ },
+ "extCpInfo":{
+ "description":"Information about the external CPs exposed by the VNF instance.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtCpInfo"
+ }
+ },
+ "extVirtualLinkInfo":{
+ "description":"Information about the external VLs the VNF instance is connected to.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtVirtualLinkInfo"
+ },
+ "x-nullable":true
+ },
+ "extManagedVirtualLinkInfo":{
+ "description":"Information about the externally-managed internal VLs of the VNF instance.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtManagedVirtualLinkInfo"
+ },
+ "x-nullable":true
+ },
+ "monitoringParameters":{
+ "description":"Active monitoring parameters.",
+ "type":"array",
+ "items":{
+ "description":"monitoring parameter",
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "localizationLanguage":{
+ "title":"Localizationlanguage",
+ "description":"Information about localization language of the VNF.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfcResourceInfo":{
+ "description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VnfcResourceInfo"
+ },
+ "x-nullable":true
+ },
+ "vnfVirtualLinkResourceInfo":{
+ "description":"Information about the virtualised network resources used by the VLs of the VNF instance.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VnfVirtualLinkResourceInfo"
+ },
+ "x-nullable":true
+ },
+ "virtualStorageResourceInfo":{
+ "description":"Information about the virtualised storage resources used as storage for the VNF instance.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VirtualStorageResourceInfo"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "_Links":{
+ "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":{
+ "required":[
+ "id",
+ "instantiationState"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"Identifier of the VNF instance.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfInstanceName":{
+ "title":"Vnfinstancename",
+ "description":"Name of the VNF instance. This attribute can be modified with the PATCH method.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfInstanceDescription":{
+ "title":"Vnfinstancedescription",
+ "description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.",
+ "type":"string",
+ "x-nullable":true
+ },
+ "vnfdId":{
+ "title":"Vnfdid",
+ "description":"Identifier of the VNFD on which the VNF instance is based.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfProvider":{
+ "title":"Vnfprovider",
+ "description":"Provider of the VNF and the VNFD. The value is copied from the VNFD. ",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfProductName":{
+ "title":"Vnfproductname",
+ "description":"Name to identify the VNF Product. The value is copied from the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfSoftwareVersion":{
+ "title":"Vnfsoftwareversion",
+ "description":"Software version of the VNF. The value is copied from the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfdVersion":{
+ "title":"Vnfdversion",
+ "description":"Identifies the version of the VNFD. The value is copied from the VNFD.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "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,
+ "x-nullable":true
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "vimConnectionInfo":{
+ "$ref":"#/definitions/VimConnectionInfo"
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "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"
+ },
+ "x-nullable":true
+ },
+ "_links":{
+ "$ref":"#/definitions/_Links"
+ }
+ }
+ },
+ "CreateVnfReq":{
+ "required":[
+ "vnfdId"
+ ],
+ "type":"object",
+ "properties":{
+ "vnfdId":{
+ "title":"Vnfdid",
+ "description":"Identifier that identifies the VNFD which defines the VNF instance to be created.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfInstanceName":{
+ "title":"Vnfinstancename",
+ "description":"Human-readable name of the VNF instance to be created.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vnfInstanceDescription":{
+ "title":"Vnfinstancedescription",
+ "description":"Human-readable description of the VNF instance to be created.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfmInstId":{
+ "title":"Vnfminstid",
+ "description":"VNFM instance ID passed from nfvo.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ }
+ }
+ },
+ "VnfInfoModifications":{
+ "type":"object",
+ "properties":{
+ "vnfInstanceName":{
+ "title":"Vnfinstancename",
+ "description":"If present, this attribute signals modifications of the 'vnfInstanceName' attribute in 'VnfInstance'",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfInstanceDescription":{
+ "title":"Vnfinstancedescription",
+ "description":"If present, this attribute signals modifications of the 'vnfInstanceDescription' attribute in 'VnfInstance'",
+ "type":"string",
+ "x-nullable":true
+ },
+ "vnfdId":{
+ "title":"Vnfdid",
+ "description":"If present, this attribute signals modifications of the 'vnfdId' attribute in 'VnfInstance'",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfProvider":{
+ "title":"Vnfprovider",
+ "description":"If present, this attribute signals modifications of the 'vnfProvider' attribute in 'VnfInstance'",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "vnfProductName":{
+ "title":"Vnfproductname",
+ "description":"If present, this attribute signals modifications of the 'vnfProductName' attribute in 'vnfInstance'",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfSoftwareVersion":{
+ "title":"Vnfsoftwareversion",
+ "description":"If present, this attribute signals modifications of the 'vnfSoftwareVersion' attribute in 'VnfInstance'.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "vnfdVersion":{
+ "title":"Vnfdversion",
+ "description":"If present, this attribute signals modifications of the 'vnfdVersion' attribute in 'VnfInstance'. ",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "vnfPkgId":{
+ "title":"Vnfpkgid",
+ "description":"If present, this attribute signals modifications of the 'vnfPkgId' attribute in 'VnfInstance'.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "vnfConfigurableProperties":{
+ "title":"Vnfconfigurableproperties",
+ "description":"If present, this attribute signals modifications of the 'vnfConfigurableProperties' attribute in 'VnfInstance'. ",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "vimConnectionInfo":{
+ "description":"If present, this attribute signals modifications of certainentries in the 'vimConnectionInfo'",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VimConnectionInfo"
+ },
+ "x-nullable":true
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"If present, this attribute signals modifications of certain'metadata' attribute in 'vnfInstance'.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "extensions":{
+ "title":"Extensions",
+ "description":"If present, this attribute signals modifications of certain'extensions' attribute in 'vnfInstance'.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "AddressRange":{
+ "title":"Addressrange",
+ "description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.",
+ "required":[
+ "minAddress",
+ "maxAddress"
+ ],
+ "type":"object",
+ "properties":{
+ "minAddress":{
+ "title":"Minaddress",
+ "description":"Lowest IP address belonging to the range.",
+ "type":"string",
+ "minLength":1
+ },
+ "maxAddress":{
+ "title":"Maxaddress",
+ "description":"Highest IP address belonging to the range.",
+ "type":"string",
+ "minLength":1
+ }
+ }
+ },
+ "IpAddresse":{
+ "description":"List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet.",
+ "required":[
+ "type"
+ ],
+ "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",
+ "minLength":1
+ },
+ "x-nullable":true
+ },
+ "numDynamicAddresses":{
+ "title":"Numdynamicaddresses",
+ "description":"Number of dynamic addresses to assign.",
+ "type":"integer",
+ "x-nullable":true
+ },
+ "addressRange":{
+ "$ref":"#/definitions/AddressRange"
+ },
+ "subnetId":{
+ "title":"Subnetid",
+ "description":"Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ }
+ }
+ },
+ "IpOverEthernetAddressData":{
+ "title":"Ipoverethernet",
+ "description":"Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to IP_OVER_ETHERNET, and shall be absent otherwise.",
+ "type":"object",
+ "properties":{
+ "macAddress":{
+ "title":"Macaddress",
+ "description":"MAC address. If this attribute is not present, it shall be chosen by the VIM.",
+ "type":"string",
+ "x-nullable":true
+ },
+ "ipAddresses":{
+ "description":"List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/IpAddresse"
+ },
+ "x-nullable":true
+ }
+ },
+ "x-nullable":true
+ },
+ "CpProtocolData":{
+ "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/IpOverEthernetAddressData"
+ }
+ }
+ },
+ "VnfExtCpConfig":{
+ "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. Shall be present if this instance has already been created.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "linkPortId":{
+ "title":"Linkportid",
+ "description":"Identifier of a pre-configured link port to which the external CP will be associated.",
+ "type":"string",
+ "maxLength":255,
+ "x-nullable":true
+ },
+ "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"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "VnfExtCpData":{
+ "description":"External CPs of the VNF to be connected to this external VL.",
+ "required":[
+ "cpdId",
+ "cpConfig"
+ ],
+ "type":"object",
+ "properties":{
+ "cpdId":{
+ "title":"Cpdid",
+ "description":"The identifier of the CPD in the VNFD.",
+ "type":"string",
+ "minLength":1
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "ExtLinkPortData":{
+ "description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link port on the 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",
+ "minLength":1
+ },
+ "resourceHandle":{
+ "$ref":"#/definitions/ResourceHandle"
+ }
+ }
+ },
+ "ExtVirtualLinkDataSerizlizer":{
+ "description":"Information about external VLs to change (e.g. connect the VNF to).",
+ "required":[
+ "id",
+ "resourceId",
+ "resourceSubnetId",
+ "extCps"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vimConnectionId":{
+ "title":"Vimconnectionid",
+ "description":"Identifier of the VIM connection to manage this resource. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "resourceProviderId":{
+ "title":"Resourceproviderid",
+ "description":"Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect mode is applicable.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "resourceId":{
+ "title":"Resourceid",
+ "description":"The identifier of the resource in the scope of the VIM or the resource provider.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "resourceSubnetId":{
+ "title":"Resourcesubnetid",
+ "description":"Subnet defined by the identifier of the subnet resource in the VIM.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "extCps":{
+ "description":"External CPs of the VNF to be connected to this external VL.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VnfExtCpData"
+ }
+ },
+ "extLinkPorts":{
+ "description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link port on the external VL.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtLinkPortData"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ChangeExtVnfConnectivityRequest":{
+ "required":[
+ "extVirtualLinks"
+ ],
+ "type":"object",
+ "properties":{
+ "extVirtualLinks":{
+ "description":"Information about external VLs to change (e.g. connect the VNF to).",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtVirtualLinkDataSerizlizer"
+ }
+ },
+ "vimConnectionInfo":{
+ "description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external virtual links.This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VimConnectionInfo"
+ },
+ "x-nullable":true
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional parameters passed by the NFVO as input to the process, specific to the VNF of which the external connectivity is changed, as declared in the VNFD as part of 'ChangeExtVnfConnectivityOpConfig'.",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ExtManagedVirtualLinkDataSerizlizer":{
+ "description":"Information about internal VLs that are managed by the NFVO.",
+ "required":[
+ "id",
+ "virtualLinkDescId",
+ "resourceId"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"The identifier of the external VL instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "virtualLinkDescId":{
+ "title":"Virtuallinkdescid",
+ "description":"The identifier of the VLD in the VNFD for this VL.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "vimConnectionId":{
+ "title":"Vimconnectionid",
+ "description":"Identifier of the VIM connection to manage this resource. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "resourceProviderId":{
+ "title":"Resourceproviderid",
+ "description":"Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect mode is applicable.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "resourceId":{
+ "title":"Resourceid",
+ "description":"The identifier of the resource in the scope of the VIM or the resource provider.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ },
+ "ChangeVnfFlavourRequest":{
+ "required":[
+ "newFlavourId"
+ ],
+ "type":"object",
+ "properties":{
+ "newFlavourId":{
+ "title":"Newflavourid",
+ "description":"Identifier of the VNF deployment flavour to be instantiated.",
+ "type":"string",
+ "minLength":1
+ },
+ "instantiationLevelId":{
+ "title":"Instantiationlevelid",
+ "description":"Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated.",
+ "type":"string",
+ "x-nullable":true
+ },
+ "extVirtualLinks":{
+ "description":"Information about external VLs to connect the VNF to.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtVirtualLinkDataSerizlizer"
+ },
+ "x-nullable":true
+ },
+ "extManagedVirtualLinks":{
+ "description":"Information about internal VLs that are managed by the NFVO.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtManagedVirtualLinkDataSerizlizer"
+ },
+ "x-nullable":true
+ },
+ "vimConnectionInfo":{
+ "description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VimConnectionInfo"
+ },
+ "x-nullable":true
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional input parameters for the flavour change process, specific to the VNF being modified, as declared in the VNFD as part of 'ChangeVnfFlavourOpConfig'.",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "HealVnfRequest":{
+ "type":"object",
+ "properties":{
+ "cause":{
+ "title":"Cause",
+ "description":"Cause of NS heal",
+ "type":"string",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional input parameters for the healing process, specific to the VNF being healed, as declared in the VNFD as part of HealVnfOpConfig.",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "InstantiateVnfRequest":{
+ "required":[
+ "flavourId"
+ ],
+ "type":"object",
+ "properties":{
+ "flavourId":{
+ "title":"Flavourid",
+ "description":"Identifier of the VNF deployment flavour to be instantiated.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "instantiationLevelId":{
+ "title":"Instantiationlevelid",
+ "description":"Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "extVirtualLinks":{
+ "description":"Information about external VLs to connect the VNF to.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtVirtualLinkDataSerizlizer"
+ },
+ "x-nullable":true
+ },
+ "extManagedVirtualLinks":{
+ "description":"Information about internal VLs that are managed by the NFVO.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtManagedVirtualLinkDataSerizlizer"
+ },
+ "x-nullable":true
+ },
+ "vimConnectionInfo":{
+ "description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/VimConnectionInfo"
+ },
+ "x-nullable":true
+ },
+ "localizationLanguage":{
+ "title":"Localizationlanguage",
+ "description":"Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646.",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1,
+ "x-nullable":true
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional input parameters for the instantiation process, specific to the VNF being instantiated, as declared in the VNFD as part of InstantiateVnfOpConfig.",
+ "type":"string",
+ "x-nullable":true
+ }
+ }
+ },
+ "JobIdentifier":{
+ "required":[
+ "jobId"
+ ],
+ "type":"object",
+ "properties":{
+ "jobId":{
+ "title":"Jobid",
+ "description":"jobId",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ }
+ }
+ },
+ "OperateVnfRequest":{
+ "required":[
+ "changeStateTo"
+ ],
+ "type":"object",
+ "properties":{
+ "changeStateTo":{
+ "title":"Changestateto",
+ "description":"The desired operational state (i.e. started or stopped) to change the VNF to.",
+ "type":"string",
+ "enum":[
+ "STARTED",
+ "STOPPED"
+ ]
+ },
+ "stopType":{
+ "title":"Stoptype",
+ "description":"It signals whether forceful or graceful stop is requested.",
+ "type":"string",
+ "enum":[
+ "FORCEFUL",
+ "GRACEFUL"
+ ]
+ },
+ "gracefulStopTimeout":{
+ "title":"Gracefulstoptimeout",
+ "description":"The time interval to wait for the VNF to be taken out of service during graceful stop.",
+ "type":"integer"
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional input parameters for the operate process, specific to the VNF being operated, as declared in the VNFD as part of OperateVnfOpConfig.",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ScaleVnfRequest":{
+ "required":[
+ "type"
+ ],
+ "type":"object",
+ "properties":{
+ "type":{
+ "title":"Type",
+ "description":"Indicates the type of the scale operation requested.",
+ "type":"string",
+ "enum":[
+ "SCALE_OUT",
+ "SCALE_IN"
+ ]
+ },
+ "aspectId":{
+ "title":"Aspectid",
+ "description":"Identifier of the scaling aspect.",
+ "type":"string",
+ "x-nullable":true
+ },
+ "numberOfSteps":{
+ "title":"Numberofsteps",
+ "description":"Number of scaling steps to be executed as part of this Scale VNF operation. It shall be a positive number and the default value shall be 1.",
+ "type":"integer",
+ "default":1
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD as part of 'ScaleVnfOpConfig'.",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "ScaleVnfToLevelRequest":{
+ "required":[
+ "scaleInfo"
+ ],
+ "type":"object",
+ "properties":{
+ "instantiationLevelId":{
+ "title":"Instantiationlevelid",
+ "description":"Identifier of the target instantiation level ofthe current deployment flavour to which the VNF is requested to be scaled.",
+ "type":"string",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "scaleInfo":{
+ "description":"For each scaling aspect of the current deployment flavour,indicates the target scale level to which the VNF is to be scaled.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ScaleInfo"
+ }
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional parameters passed by the NFVO as input to the scaling process",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "TerminateVnfRequest":{
+ "required":[
+ "terminationType"
+ ],
+ "type":"object",
+ "properties":{
+ "terminationType":{
+ "title":"Terminationtype",
+ "description":"terminationType: Indicates whether forceful or graceful termination is requested.",
+ "type":"string",
+ "enum":[
+ "FORCEFUL",
+ "GRACEFUL"
+ ]
+ },
+ "gracefulTerminationTimeout":{
+ "title":"Gracefulterminationtimeout",
+ "description":"This attribute is only applicable in case of graceful termination",
+ "type":"integer",
+ "default":120
+ },
+ "additionalParams":{
+ "title":"Additionalparams",
+ "description":"Additional parameters passed by the NFVO as input to the termination process",
+ "type":"object",
+ "additionalProperties":{
+ "description":"KeyValue Pairs",
+ "type":"string"
+ },
+ "x-nullable":true
+ }
+ }
+ },
+ "JobHistory":{
+ "description":"History of job",
+ "required":[
+ "status",
+ "progress",
+ "responseId"
+ ],
+ "type":"object",
+ "properties":{
+ "status":{
+ "title":"Status",
+ "description":"Status of job",
+ "type":"string",
+ "minLength":1
+ },
+ "progress":{
+ "title":"Progress",
+ "description":"Progress of job",
+ "type":"string",
+ "minLength":1
+ },
+ "statusDescription":{
+ "title":"Statusdescription",
+ "description":"Description of job",
+ "type":"string",
+ "x-nullable":true
+ },
+ "errorCode":{
+ "title":"Errorcode",
+ "description":"Error code of job",
+ "type":"string",
+ "x-nullable":true
+ },
+ "responseId":{
+ "title":"Responseid",
+ "description":"Response index of job",
+ "type":"string",
+ "minLength":1
+ }
+ }
+ },
+ "JobDescriptor":{
+ "title":"Responsedescriptor",
+ "description":"Descriptor of job",
+ "required":[
+ "status",
+ "progress",
+ "responseId",
+ "responseHistoryList"
+ ],
+ "type":"object",
+ "properties":{
+ "status":{
+ "title":"Status",
+ "description":"Status of job",
+ "type":"string",
+ "minLength":1
+ },
+ "progress":{
+ "title":"Progress",
+ "description":"Progress of job",
+ "type":"string",
+ "minLength":1
+ },
+ "statusDescription":{
+ "title":"Statusdescription",
+ "description":"Description of job",
+ "type":"string",
+ "x-nullable":true
+ },
+ "errorCode":{
+ "title":"Errorcode",
+ "description":"Error code of job",
+ "type":"string",
+ "x-nullable":true
+ },
+ "responseId":{
+ "title":"Responseid",
+ "description":"Response index of job",
+ "type":"string",
+ "minLength":1
+ },
+ "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",
+ "minLength":1
+ },
+ "responseDescriptor":{
+ "$ref":"#/definitions/JobDescriptor"
+ }
+ }
+ },
+ "AffectedVnfcs":{
+ "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, identifying the applicable 'vnfcResourceInfo' entry in the 'VnfInstance' data type",
+ "type":"string",
+ "format":"uuid"
+ },
+ "vduId":{
+ "title":"Vduid",
+ "description":"Identifier of the related VDU in the VNFD.",
+ "type":"string",
+ "format":"uuid"
+ },
+ "changeType":{
+ "title":"Changetype",
+ "description":"Signals the type of change",
+ "type":"string",
+ "enum":[
+ "ADDED",
+ "REMOVED",
+ "MODIFIED",
+ "TEMPORARY"
+ ]
+ },
+ "affectedVnfcCpIds":{
+ "description":"Identifiers of CP(s) of the VNFC instance that were affected by the change",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "format":"uuid"
+ }
+ },
+ "addedStorageResourceIds":{
+ "description":"References to VirtualStorage resources that have been added",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "format":"uuid"
+ }
+ },
+ "removedStorageResourceIds":{
+ "description":"References to VirtualStorage resources that have been removed.",
+ "type":"array",
+ "items":{
+ "type":"string",
+ "format":"uuid"
+ }
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource. ",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "computeResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ }
+ }
+ },
+ "AffectedVLs":{
+ "description":"Information about VL instances that were affected during the lifecycle operation. ",
+ "required":[
+ "id",
+ "virtualLinkDescId",
+ "changeType",
+ "networkResource"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"Identifier of the virtual link instance, identifying the applicable 'vnfVirtualLinkResourceInfo' ",
+ "type":"string",
+ "format":"uuid"
+ },
+ "virtualLinkDescId":{
+ "title":"Virtuallinkdescid",
+ "description":"Identifier of the related VLD in the VNFD.",
+ "type":"string",
+ "format":"uuid"
+ },
+ "changeType":{
+ "title":"Changetype",
+ "description":"Signals the type of change",
+ "type":"string",
+ "enum":[
+ "ADDED",
+ "REMOVED",
+ "MODIFIED",
+ "TEMPORARY",
+ "LINK_PORT_ADDED",
+ "LINK_PORT_REMOVED"
+ ]
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource. ",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "networkResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ }
+ }
+ },
+ "AffectedStorages":{
+ "description":"Information about virtualised storage instances that were affected during the lifecycle operation",
+ "required":[
+ "id",
+ "virtualStorageDescId",
+ "changeType",
+ "storageResource"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"Identifier of the Storage instance, identifying the applicable 'virtualStorageResourceInfo' entry in the 'VnfInstance' data type",
+ "type":"string",
+ "format":"uuid"
+ },
+ "virtualStorageDescId":{
+ "title":"Virtualstoragedescid",
+ "description":"Identifier of the related VirtualStorage descriptor in the VNFD. ",
+ "type":"string",
+ "format":"uuid"
+ },
+ "changeType":{
+ "title":"Changetype",
+ "description":"Signals the type of change",
+ "type":"string",
+ "enum":[
+ "ADDED",
+ "REMOVED",
+ "MODIFIED",
+ "TEMPORARY"
+ ]
+ },
+ "metadata":{
+ "title":"Metadata",
+ "description":"Metadata about this resource. ",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ },
+ "x-nullable":true
+ },
+ "storageResource":{
+ "$ref":"#/definitions/ResourceHandle"
+ }
+ }
+ },
+ "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":{
+ "affectedVnfcs":{
+ "description":"Information about VNFC instances that were affected during the lifecycle operation.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AffectedVnfcs"
+ }
+ },
+ "affectedVirtualLinks":{
+ "description":"Information about VL instances that were affected during the lifecycle operation. ",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AffectedVLs"
+ }
+ },
+ "affectedVirtualStorages":{
+ "description":"Information about virtualised storage instances that were affected during the lifecycle operation",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AffectedStorages"
+ }
+ }
+ },
+ "x-nullable":true
+ },
+ "LcmOpLink":{
+ "title":" links",
+ "description":"Links to resources related to this resource.",
+ "required":[
+ "self",
+ "vnfInstance"
+ ],
+ "type":"object",
+ "properties":{
+ "self":{
+ "$ref":"#/definitions/link"
+ },
+ "vnfInstance":{
+ "title":"Vnfinstance",
+ "description":"Link to the VNF instance that the operation applies to.",
+ "type":"string",
+ "minLength":1
+ },
+ "grant":{
+ "title":"Grant",
+ "description":"Link to the grant for this operation, if one exists.",
+ "type":"string",
+ "minLength":1
+ },
+ "cancel":{
+ "title":"Cancel",
+ "description":"Link to the task resource that represents the 'cancel' operation for this VNF LCM operation occurrence.",
+ "type":"string",
+ "minLength":1
+ },
+ "retry":{
+ "title":"Retry",
+ "description":"Link to the task resource that represents the 'retry' operation for this VNF LCM operation occurrence, if retrying is currently allowed",
+ "type":"string",
+ "minLength":1
+ },
+ "rollback":{
+ "title":"Rollback",
+ "description":"Link to the task resource that represents the 'cancel' operation for this VNF LCM operation occurrence.",
+ "type":"string",
+ "minLength":1
+ },
+ "fail":{
+ "title":"Fail",
+ "description":"Link to the task resource that represents the 'fail' operation for this VNF LCM operation occurrence.",
+ "type":"string",
+ "minLength":1
+ }
+ }
+ },
+ "VNFLCMOpOcc":{
+ "required":[
+ "id",
+ "operationState",
+ "stateEnteredTime",
+ "startTime",
+ "vnfInstanceId",
+ "grantId",
+ "operation",
+ "operationParams",
+ "isCancelPending",
+ "_links"
+ ],
+ "type":"object",
+ "properties":{
+ "id":{
+ "title":"Id",
+ "description":"Identifier of this VNF lifecycle management operationoccurrence,",
+ "type":"string",
+ "maxLength":255,
+ "minLength":1
+ },
+ "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,
+ "minLength":1
+ },
+ "startTime":{
+ "title":"Starttime",
+ "description":"Date-time of the start of the operation.",
+ "type":"string",
+ "maxLength":50,
+ "minLength":1
+ },
+ "vnfInstanceId":{
+ "title":"Vnfinstanceid",
+ "description":"Identifier of the VNF instance to which the operationapplies",
+ "type":"string",
+ "format":"uuid"
+ },
+ "grantId":{
+ "title":"Grantid",
+ "description":"Identifier of the grant related to this VNF LCM operation occurrence, if such grant exists.",
+ "type":"string",
+ "format":"uuid"
+ },
+ "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. Set to False otherwise.",
+ "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: InstantiateVnfRequest2. SCALE: ScaleVnfRequest 3. SCALE_TO_LEVEL: ScaleVnfToLevelRequest 4. CHANGE_FLAVOUR: ChangeVnfFlavourRequest 5. OPERATE: OperateVnfRequest 6. HEAL: HealVnfRequest 7. CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest 8. TERMINATE: TerminateVnfRequest 9. MODIFY_INFO: VnfInfoModifications",
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ }
+ },
+ "isCancelPending":{
+ "title":"Iscancelpending",
+ "description":"If the VNF LCM operation occurrence is in 'STARTING''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",
+ "minLength":1,
+ "x-nullable":true
+ },
+ "error":{
+ "$ref":"#/definitions/ProblemDetails"
+ },
+ "resourceChanges":{
+ "$ref":"#/definitions/ResourceChanges"
+ },
+ "changedInfo":{
+ "$ref":"#/definitions/VnfInfoModifications"
+ },
+ "changedExtConnectivity":{
+ "description":"Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the 'notificationStatus' is set to 'RESULT' and the 'operation' is set to 'CHANGE_EXT_CONN'. Shall be absent otherwise.",
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ExtVirtualLinkInfo"
+ },
+ "x-nullable":true
+ },
+ "_links":{
+ "$ref":"#/definitions/LcmOpLink"
+ }
+ }
+ }
+ }
+} \ 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 1fa5d0c7..b423e9de 100644
--- a/docs/platform/APIs/VNFLCM_API/index.rst
+++ b/docs/platform/APIs/VNFLCM_API/index.rst
@@ -5,3 +5,10 @@ VNF LCM API
:titlesonly:
VNFLCM_API
+
+
+To view API documentation in the interactive swagger UI, you can download the following api json file and paste the content into the swagger tool: https://editor.swagger.io
+
+1. All VNFLCM APIs, including the SOL005 compliant APIs and the previous version APIs
+
+:download:`VNFLCM_API_Specification.json <VNFLCM_API_Specification_v1.json>`