{ "info": { "_postman_id": "b66f95b1-925a-464a-8441-f85439a33f89", "name": "SOL005 - NSD Management Interface", "description": "DRAFT - SOL005 - NSD Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "ns_descriptors", "description": "Folder for ns_descriptors", "item": [ { "name": "Query NSD Info", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors" ] }, "description": "The GET method queries information about multiple NS descriptor resources. This method shall follow the provisions specified in the Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Create NSD Info", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors" ] }, "description": "The POST method is used to create a new NS descriptor resource. This method shall follow the provisions specified in the Tables 5.4.2.3.1-1 and 5.4.2.3.1-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Query NSD Info", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors/{{nsdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors", "{{nsdInfoId}}" ] }, "description": "The GET method reads information about an individual NS descriptor. This method shall follow the provisions specified in GS NFV-SOL 005 Tables 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Update NSD Info", "request": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors/{{nsdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors", "{{nsdInfoId}}" ] }, "description": "The PATCH method modifies the operational state and/or user defined data of an individual NS descriptor resource. This method can be used to:\n1) Enable a previously disabled individual NS descriptor resource, allowing again its use for instantiation of new\nnetwork service with this descriptor. The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not change as a\nresult.\n2) Disable a previously enabled individual NS descriptor resource, preventing any further use for instantiation of\nnew network service(s) with this descriptor. The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not change\nas a result.\n3) Modify the user defined data of an individual NS descriptor resource.\nThis method shall follow the provisions specified in the Tables 5.4.3.3.4-1 and 5.4.3.3.4-2 for URI query parameters,\nrequest and response data structures, and response codes." }, "response": [] }, { "name": "Delete NSD", "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors/{{nsdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors", "{{nsdInfoId}}" ] }, "description": "The DELETE method deletes an individual NS descriptor resource. An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method shall fail. This method shall follow the provisions specified in the Tables 5.4.3.3.5-1 and 5.4.3.3.5-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Get NSD Content", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "{{Accept}}" }, { "key": "Range", "value": "{{Range}}" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors/{{nsdInfoId}}/nsd_content", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors", "{{nsdInfoId}}", "nsd_content" ] }, "description": "The GET method fetches the content of the NSD.\n\nThe NSD can be implemented as a single file or as a collection of multiple files. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be returned. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be returned.\n\nThe selection of the format is controlled by the \"Accept\" HTTP header passed in the GET request:\n\n• If the \"Accept\" header contains only \"text/plain\" and the NSD is implemented as a single file, the file shall be returned; otherwise, an error message shall be returned.\n\n• If the \"Accept\" header contains only \"application/zip\", the single file or the multiple files that make up the NSD shall be returned embedded in a ZIP file.\n\n• If the \"Accept\" header contains both \"text/plain\" and \"application/zip\", it is up to the NFVO to choose the format to return for a single-file NSD; for a multi-file NSD, a ZIP file shall be returned.\n\nNOTE: The structure of the NSD zip file is outside the scope of the present document." }, "response": [] }, { "name": "Upload NSD", "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "{{Content-Type}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}ns_descriptors/{{nsdInfoId}}/nsd_content", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}ns_descriptors", "{{nsdInfoId}}", "nsd_content" ] }, "description": "The PUT method is used to upload the content of a NSD. The NSD to be uploaded can be implemented as a single file or as a collection of multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be uploaded. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be uploaded. The \"Content-Type\" HTTP header in the PUT request shall be set accordingly based on the format selection of the NSD. If the NSD to be uploaded is a text file, the \"Content-Type\" header is set to \"text/plain\". If the NSD to be uploaded is a zip file, the \"Content-Type\" header is set to \"application/zip\". This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2 of GS-NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] } ] }, { "name": "pnf_descriptors", "description": "Folder for pnf_descriptors", "item": [ { "name": "Query PFND Info", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors?exclude_default={{exclude_default}}&all_fields={{all_fields}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors" ], "query": [ { "key": "exclude_default", "value": "{{exclude_default}}" }, { "key": "all_fields", "value": "{{all_fields}}" } ] }, "description": "The GET method queries information about multiple PNF descriptor resources." }, "response": [] }, { "name": "Create PNFD Info", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors" ] }, "description": "The POST method is used to create a new PNF descriptor resource." }, "response": [] }, { "name": "Query PNFD Info", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors/{{pnfdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors", "{{pnfdInfoId}}" ] }, "description": "The GET method reads information about an individual PNF descriptor. This method shall follow the provisions specified in the Tables 5.4.6.3.2-1 and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Update PNFD Info", "request": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors/{{pnfdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors", "{{pnfdInfoId}}" ] }, "description": "The PATCH method modifies the user defined data of an individual PNF descriptor resource. This method shall follow the provisions specified in the Tables 5.4.6.3.4-1 and 5.4.6.3.4-2 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Delete PNFD", "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors/{{pnfdInfoId}}", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors", "{{pnfdInfoId}}" ] }, "description": "The DELETE method deletes an individual PNF descriptor resource. An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD referencing it. To delete all PNFD versions identified by a particular value of the \"pnfdInvariantId\" attribute, the procedure is to first use the GET method with filter \"pnfdInvariantId\" towards the PNF descriptors resource to find all versions of the PNFD. Then, the client uses the DELETE method described in this clause to delete each PNFD version individually. This method shall follow the provisions specified in the Tables 5.4.6.3.5-1 and 5.4.6.3.5-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes." }, "response": [] }, { "name": "Get PNFD Content", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors/{{pnfdInfoId}}/pnfd_content", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors", "{{pnfdInfoId}}", "pnfd_content" ] }, "description": "The GET method fetches the content of the PNFD." }, "response": [] }, { "name": "Upload PNFD", "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "{{Content-Type}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}pnf_descriptors/{{pnfdInfoId}}/pnfd_content", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}pnf_descriptors", "{{pnfdInfoId}}", "pnfd_content" ] }, "description": "The PUT method is used to upload the content of a PNFD. This method shall follow the provisions specified in the Tables 5.4.7.3.3-1 and 5.4.7.3.3-2 of GS NFV-SOL 005for URI query parameters, request and response data structures, and response codes." }, "response": [] } ] }, { "name": "subscriptions", "description": "Folder for subscriptions", "item": [ { "name": "Query Subscription Information", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}subscriptions", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}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. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2 of GS NFV-SOL 005." }, "response": [] }, { "name": "Subscribe", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}subscriptions", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}subscriptions" ] }, "description": "The POST method creates a new subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2 of GS-NFV SOL 005. 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 OSS, and might make sense only in very rare use cases. Consequently, the NFVO 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)." }, "response": [] }, { "name": "Query Subscription Information", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}subscriptions/:subscriptionId", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}subscriptions", ":subscriptionId" ], "variable": [ { "key": "subscriptionId", "value": "" } ] }, "description": "The GET method retrieves information about a subscription by reading an individual subscription resource. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.9.3.2-1 and 5.4.9.3.2-2." }, "response": [] }, { "name": "Terminate Subscription", "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": {}, "url": { "raw": "{{scheme}}://{{host}}{{port}}/{{uri_prefix}}subscriptions/:subscriptionId", "protocol": "{{scheme}}", "host": [ "{{host}}{{port}}" ], "path": [ "{{uri_prefix}}subscriptions", ":subscriptionId" ], "variable": [ { "key": "subscriptionId", "value": "" } ] }, "description": "The DELETE method terminates an individual subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.9.3.5-1 and 5.4.9.3.3-2 of GS NFV-SOL 005." }, "response": [] } ] } ] }