953f85ed16b7b479aabfbd71a22f5371931ecade
[modeling/etsicatalog.git] / docs / offeredapis.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 ============
5 Offered APIs
6 ============
7 Etsicatalog provides the followed APIs:
8
9 -  **NS package management interface**
10
11   Provides runtime NS package management interface
12
13 .. list-table::
14    :widths: 50 10 40
15    :header-rows: 1
16
17    * - URL
18      - Method
19      - Description
20    * - /api/nsd/v1/ns_descriptors
21      - POST
22      - Create a new NS descriptor resource.
23    * - /api/nsd/v1/ns_descriptors
24      - GET
25      - Query information about multiple NS descriptor resources.
26    * - /api/nsd/v1/ns_descriptors/{{nsdInfoId}}
27      - GET
28      - Read information about an individual NS descriptor resource.
29    * - /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content
30      - PUT
31      - Upload the content of a NSD.
32    * - /api/nsd/v1/ns_descriptors/{{nsdInfoId}}/nsd_content
33      - GET
34      - Fetch the content of a NSD.
35    * - /api/nsd/v1/ns_descriptors/{{nsdInfoId}}
36      - DELETE
37      - Delete an individual NS descriptor resource.
38    * - /api/nsd/v1/pnf_descriptors
39      - POST
40      - Create a new PNF descriptor resource.
41    * - /api/nsd/v1/pnf_descriptors
42      - GET
43      - Query information about multiple PNF descriptor resources.
44    * - /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}
45      - GET
46      - Read an individual PNFD resource.
47    * - /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content
48      - PUT
49      - Upload the content of a PNFD.
50    * - /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}/pnfd_content
51      - GET
52      - Fetch the content of a PNFD.
53    * - /api/nsd/v1/pnf_descriptors/{{pnfdInfoId}}
54      - DELETE
55      - Delete an individual PNF descriptor resource.
56
57 -  **VNF package management interface**
58
59   Provides runtime VNF package management interface
60
61 .. list-table::
62    :widths: 50 10 40
63    :header-rows: 1
64
65    * - URL
66      - Method
67      - Description
68    * - /api/vnfpkgm/v1/vnf_packages
69      - POST
70      - Create a new individual VNF package resource
71    * - /api/vnfpkgm/v1/vnf_packages
72      - GET
73      - Query VNF packages information
74    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}
75      - GET
76      - Read information about an individual VNF package
77    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content
78      - PUT
79      - Upload a VNF package by providing the content of the VNF package
80    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content/upload_from_uri
81      - PUT
82      - Upload a VNF package by providing the address information of the VNF package
83    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/package_content
84      - GET
85      - Fetch an on-boarded VNF package
86    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/vnfd
87      - GET
88      - Read VNFD of an on-boarded VNF package
89    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}/artifacts/{{artifactPath}}
90      - GET
91      - Fetch individual VNF package artifact
92    * - /api/vnfpkgm/v1/vnf_packages/{{vnfPkgId}}
93      - DELETE
94      - Delete an individual VNF package
95    * - /api/vnfpkgm/v1/subscriptions
96      - POST
97      - Subscribe to notifications related to on-boarding and/or changes of VNF packages
98    * - /api/vnfpkgm/v1/subscriptions
99      - GET
100      - Query multiple subscriptions
101    * - /api/vnfpkgm/v1/subscriptions/{{subscriptionId}}
102      - GET
103      - Read an individual subscription resource
104    * - /api/vnfpkgm/v1/subscriptions/{{subscriptionId}}
105      - DELETE
106      - Terminate a subscription
107
108 -  **Catalog interface**
109
110   Provides APIs to query/fetch package from SDC catalog
111
112 .. list-table::
113    :widths: 50 10 40
114    :header-rows: 1
115
116    * - URL
117      - Method
118      - Description
119    * - /api/catalog/v1/nspackages
120      - POST
121      - Fetch NS package from SDC catalog
122    * - /api/catalog/v1/vnfpackages
123      - POST
124      - Fetch NVF package from SDC catalog
125    * - /api/catalog/v1/service_packages
126      - POST
127      - Fetch Service package from SDC catalog
128
129 -  **Parser interface**
130
131   Provide APIs to parser VNF/PNF/NS/Service package
132
133 .. list-table::
134    :widths: 50 10 40
135    :header-rows: 1
136
137    * - URL
138      - Method
139      - Description
140    * - /api/parser/v1/parserpnfd
141      - POST
142      - Parse PNF package
143    * - /api/parser/v1/parservnfd
144      - POST
145      - Parse VNF package
146    * - /api/parser/v1/parsernsd
147      - POST
148      - Parse NS package
149    * - /api/parser/v1/parser
150      - POST
151      - Parse package
152
153 You can download the following API yaml file and paste the content into the swagger tool: https://editor.swagger.io to view more detail of APIs.
154
155 :download:`etsicatalog_API_v1.yaml <swagger/etsicatalog_API_v1.yaml>`