{ "info": { "_postman_id": "17d17138-a93e-4a4c-86a9-66973c9289e4", "name": "SOL003 - VNF Lifecycle Management interface 2.4.1", "description": "SOL003 - VNF Lifecycle Management interface definition\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "vnf_instances", "description": "Folder for vnf_instances", "item": [ { "name": "https:///vnflcm/v1/vnf_instances", "event": [ { "listen": "test", "script": { "id": "aeb2eea3-dc73-49d5-be84-8d7ea097d873", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "auth": { "type": "noauth" }, "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "disabled": true }, { "key": "Content-Type", "value": "application/json", "disabled": true }, { "key": "Accept", "value": "{{Accept}}" }, { "key": "Authorization", "value": "{{Authorization}}" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/vnf_instances", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "vnf_instances" ] }, "description": "The GET method queries information about multiple VNF instances.\n" }, "response": [] }, { "name": "https:///vnflcm/v1/vnf_instances", "event": [ { "listen": "test", "script": { "id": "a0be7345-1afc-4e7e-b8d4-56aa14697a86", "type": "text/javascript", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", "});", "", "var res_schema = require(\"/home/carignani/etsi/forge/NFV-SOL002-SOL003-PLU/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml\").definitions.VnfInstance;", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(pm.response.json(), res_schema)).to.be.true;", "});", "", "" ] } } ], "request": { "auth": { "type": "noauth" }, "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "{{Accept}}" }, { "key": "Authorization", "value": "{{Authorization}}" }, { "key": "Content-Type", "value": "{{Content-Type}}" } ], "body": { "mode": "raw", "raw": "{\n \"vnfdId\": \"VNFDescriptor_1\",\n \"vnfInstanceName\": \"API track instance\",\n \"vnfInstanceDescription\": \"An instance created by the NFV PLU API Track\"\n}" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/vnf_instances", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "vnf_instances" ] }, "description": "The POST method creates a new VNF instance resource." }, "response": [] }, { "name": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId", "event": [ { "listen": "test", "script": { "id": "6e289089-518f-4a0a-87ed-02f83a40f3ac", "type": "text/javascript", "exec": [ "pm.test(\"Status code is 200\", function () {", " pm.response.to.have.status(200);", "});", "", "var res_schema = require(\"/home/carignani/etsi/forge/NFV-SOL002-SOL003-PLU/src/SOL003/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml\").definitions.VnfInstance;", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(pm.response.json(), res_schema)).to.be.true;", "});", "", "" ] } } ], "request": { "auth": { "type": "noauth" }, "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "{{Authorization}}" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/vnf_instances/{{vnfInstanceId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "vnf_instances", "{{vnfInstanceId}}" ] }, "description": "The GET method retrieves information about a VNF instance by reading an individual VNF instance resource.\n" }, "response": [ { "id": "42dd3bfa-3e73-4f9a-bf35-77216507985f", "name": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_instances/abba1970", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", "abba1970" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "", "_postman_previewtype": "parsed", "header": [], "cookie": [], "responseTime": 0, "body": "" } ] }, { "name": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId", "event": [ { "listen": "test", "script": { "id": "1b7e55a1-7a71-4302-81a6-5a58608221ee", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "auth": { "type": "noauth" }, "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "{{Authorization}}" } ], "body": { "mode": "raw", "raw": "{\n \"vnfdId\": \"VNFDescriptor_1\",\n \"vnfInstanceName\": \"API track instance - patched\",\n \"vnfInstanceDescription\": \"An instance created by the NFV PLU API Track - patched\"\n}" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/vnf_instances/{{vnfInstanceId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "vnf_instances", "{{vnfInstanceId}}" ] }, "description": "This method modifies an individual VNF instance resource. Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource\n" }, "response": [] }, { "name": "", "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId" ] }, "description": "This method deletes an individual VNF instance resource.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the VNF instantiation." }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/instantiate", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "instantiate" ] }, "description": "The POST method instantiates a VNF instance.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the scale VNF operation." }, "url": { "raw": "http://{{host}}{{port}}/vnflcm/v1/vnf_instances/{{vnfInstanceIdTask}}/instantiate", "protocol": "http", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", "{{vnfInstanceIdTask}}", "instantiate" ] }, "description": "The POST method requests to scale a VNF instance resource incrementally.\n" }, "response": [] }, { "name": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the scale VNF to Level operation." }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/scale_to_level", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "scale_to_level" ] }, "description": "The POST method requests to scale a VNF instance resource to a target level.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the Change VNF Flavour operation." }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/change_flavour", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "change_flavour" ] }, "description": "The POST method changes the deployment flavour of a VNF instance.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the VNF termination." }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/vnf_instances/{{vnfInstanceId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "terminate" ] }, "description": "The POST method terminates a VNF instance.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the Heal VNF operation." }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/heal", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "heal" ] }, "description": "The POST method requests to heal a VNF instance resource.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the Operate VNF operation." }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/operate", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "operate" ] }, "description": "The POST method changes the operational state of a VNF instance resource.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "Parameters for the Change external VNF connectivity operation.\n" }, "url": { "raw": "https:///vnflcm/v1/vnf_instances/:vnfInstanceId/change_ext_conn", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_instances", ":vnfInstanceId", "change_ext_conn" ] }, "description": "The POST method changes the external connectivity of a VNF instance.\n" }, "response": [] } ] }, { "name": "vnf_lcm_op_occs", "description": "Folder for vnf_lcm_op_occs", "item": [ { "name": "", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs" ] }, "description": "The client can use this method to query status information about multiple VNF lifecycle management operation occurrences.\n" }, "response": [] }, { "name": "", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs/:vnfLcmOpOccId", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs", ":vnfLcmOpOccId" ] }, "description": "The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual \"VNF LCM operation occurrence\" resource.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs/:vnfLcmOpOccId/retry", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs", ":vnfLcmOpOccId", "retry" ] }, "description": "The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs/:vnfLcmOpOccId/rollback", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs", ":vnfLcmOpOccId", "rollback" ] }, "description": "The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs/:vnfLcmOpOccId/fail", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs", ":vnfLcmOpOccId", "fail" ] }, "description": "The POST method marks a VNF lifecycle management operation occurrence as \"finally failed\" if that operation occurrence is in \"FAILED_TEMP\" state.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/vnf_lcm_op_occs/:vnfLcmOpOccId/cancel", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "vnf_lcm_op_occs", ":vnfLcmOpOccId", "cancel" ] }, "description": "The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related \"VNF LCM operation occurrence\" is either in \"PROCESSING\" or \"ROLLING_BACK\" state.\n" }, "response": [] } ] }, { "name": "subscriptions", "description": "Folder for subscriptions", "item": [ { "name": "", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "https:///vnflcm/v1/subscriptions", "host": [ "https:" ], "port": "", "path": [ "", "", "vnflcm", "v1", "subscriptions" ] }, "description": "The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n" }, "response": [] }, { "name": "", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\t\"callbackUri\" : \"http://10.100.60.57:9988/notify\"\n}" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/subscriptions", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "subscriptions" ] }, "description": "The POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created” response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other” response code referencing the existing subscription resource with the same filter and callbackUri).\n" }, "response": [] }, { "name": "", "request": { "auth": { "type": "noauth" }, "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "{{Authorization}}" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/subscriptions/{{subscriptionId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "subscriptions", "{{subscriptionId}}" ] }, "description": "The GET method retrieves information about a subscription by reading an individual subscription resource.\n" }, "response": [] }, { "name": "", "request": { "auth": { "type": "noauth" }, "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "{{Authorization}}" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}vnflcm/v1/subscriptions/{{subscriptionId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "port": "", "path": [ "{{uri_prefix}}vnflcm", "v1", "subscriptions", "{{subscriptionId}}" ] }, "description": "The DELETE method terminates an individual subscription.\n" }, "response": [] } ] } ], "event": [ { "listen": "prerequest", "script": { "id": "3ff46579-868f-4c6d-8871-29435b6954b3", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "539ad894-0c3f-4149-a802-d10f5cdf36fd", "type": "text/javascript", "exec": [ "" ] } } ] }