Add Nfvo external system backend changes in ESR
[aai/esr-server.git] / esr-mgr / src / main / java / org / onap / aai / esr / externalservice / aai / IExternalSystem.java
1 /**
2  * Copyright 2017 ZTE Corporation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.aai.esr.externalservice.aai;
17
18 import javax.ws.rs.Consumes;
19 import javax.ws.rs.DELETE;
20 import javax.ws.rs.GET;
21 import javax.ws.rs.HeaderParam;
22 import javax.ws.rs.PUT;
23 import javax.ws.rs.Path;
24 import javax.ws.rs.PathParam;
25 import javax.ws.rs.Produces;
26 import javax.ws.rs.QueryParam;
27 import javax.ws.rs.core.MediaType;
28 import org.onap.aai.esr.entity.aai.EsrEmsDetail;
29 import org.onap.aai.esr.entity.aai.EsrThirdpartySdncDetail;
30 import org.onap.aai.esr.entity.aai.EsrVnfmDetail;
31 import org.onap.aai.esr.entity.aai.EsrNfvoDetail;
32 import org.onap.aai.esr.exception.ExtsysException;
33
34 @Path("/")
35 public interface IExternalSystem {
36
37     @PUT
38     @Path("/esr-vnfm-list/esr-vnfm/{vnfm_id}")
39     @Consumes(MediaType.APPLICATION_JSON)
40     @Produces(MediaType.APPLICATION_JSON)
41     public void registerVNFM(@HeaderParam("X-TransactionId") String transactionId,
42             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
43             @PathParam("vnfm_id") String vnfmId, EsrVnfmDetail esrVnfmDetail) throws ExtsysException;
44
45     @GET
46     @Path("/esr-vnfm-list/esr-vnfm/{vnfm_id}?depth=all")
47     @Consumes(MediaType.APPLICATION_JSON)
48     @Produces(MediaType.APPLICATION_JSON)
49     public String queryVNFMDetail(@HeaderParam("X-TransactionId") String transactionId,
50             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
51             @PathParam("vnfm_id") String vnfmId) throws ExtsysException;
52
53     @GET
54     @Path("/esr-vnfm-list")
55     @Consumes(MediaType.APPLICATION_JSON)
56     @Produces(MediaType.APPLICATION_JSON)
57     public String queryVNFMList(@HeaderParam("X-TransactionId") String transactionId,
58             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization)
59             throws ExtsysException;
60
61     @DELETE
62     @Path("/esr-vnfm-list/esr-vnfm/{vnfm_id}")
63     @Consumes(MediaType.APPLICATION_JSON)
64     @Produces(MediaType.APPLICATION_JSON)
65     public void deleteVNFM(@HeaderParam("X-TransactionId") String transactionId,
66             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
67             @PathParam("vnfm_id") String vnfmId, @QueryParam("resource-version") String resourceVersion)
68             throws ExtsysException;
69
70     @PUT
71     @Path("/esr-nfvo-list/esr-nfvo/{nfvo_id}")
72     @Consumes(MediaType.APPLICATION_JSON)
73     @Produces(MediaType.APPLICATION_JSON)
74     public void registerNFVO(@HeaderParam("X-TransactionId") String transactionId,
75             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
76             @PathParam("nfvo_id") String nfvoId, EsrNfvoDetail esrNfvoDetail) throws ExtsysException;
77
78     @GET
79     @Path("/esr-nfvo-list/esr-nfvo/{nfvo_id}?depth=all")
80     @Consumes(MediaType.APPLICATION_JSON)
81     @Produces(MediaType.APPLICATION_JSON)
82     public String queryNFVODetail(@HeaderParam("X-TransactionId") String transactionId,
83             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
84             @PathParam("nfvo_id") String nfvoId) throws ExtsysException;
85
86     @GET
87     @Path("/esr-nfvo-list")
88     @Consumes(MediaType.APPLICATION_JSON)
89     @Produces(MediaType.APPLICATION_JSON)
90     public String queryNFVOList(@HeaderParam("X-TransactionId") String transactionId,
91             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization)
92             throws ExtsysException;
93
94     @DELETE
95     @Path("/esr-nfvo-list/esr-nfvo/{nfvo_id}")
96     @Consumes(MediaType.APPLICATION_JSON)
97     @Produces(MediaType.APPLICATION_JSON)
98     public void deleteNFVO(@HeaderParam("X-TransactionId") String transactionId,
99             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
100             @PathParam("nfvo_id") String nfvoId, @QueryParam("resource-version") String resourceVersion)
101             throws ExtsysException;
102
103
104  
105     @PUT
106     @Path("/esr-ems-list/esr-ems/{ems_id}")
107     @Consumes(MediaType.APPLICATION_JSON)
108     @Produces(MediaType.APPLICATION_JSON)
109     public void registerEMS(@HeaderParam("X-TransactionId") String transactionId,
110             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
111             @PathParam("ems_id") String emsId, EsrEmsDetail esrEmsDetail) throws ExtsysException;
112
113     @GET
114     @Path("/esr-ems-list/esr-ems/{ems_id}?depth=all")
115     @Consumes(MediaType.APPLICATION_JSON)
116     @Produces(MediaType.APPLICATION_JSON)
117     public String queryEMSDetail(@HeaderParam("X-TransactionId") String transactionId,
118             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
119             @PathParam("ems_id") String emsId) throws ExtsysException;
120
121     @GET
122     @Path("/esr-ems-list")
123     @Consumes(MediaType.APPLICATION_JSON)
124     @Produces(MediaType.APPLICATION_JSON)
125     public String queryEMSList(@HeaderParam("X-TransactionId") String transactionId,
126             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization)
127             throws ExtsysException;
128
129     @DELETE
130     @Path("/esr-ems-list/esr-ems/{ems_id}")
131     @Consumes(MediaType.APPLICATION_JSON)
132     @Produces(MediaType.APPLICATION_JSON)
133     public void deleteEMS(@HeaderParam("X-TransactionId") String transactionId,
134             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
135             @PathParam("ems_id") String emsId, @QueryParam("resource-version") String resourceVersion)
136             throws ExtsysException;
137
138     @PUT
139     @Path("/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}")
140     @Consumes(MediaType.APPLICATION_JSON)
141     @Produces(MediaType.APPLICATION_JSON)
142     public void registerThirdpartySdnc(@HeaderParam("X-TransactionId") String transactionId,
143             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
144             @PathParam("thirdparty-sdnc-id") String thirdpartySdncId, EsrThirdpartySdncDetail esrThirdpartySdncDetail)
145             throws ExtsysException;
146
147     @GET
148     @Path("/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}?depth=all")
149     @Consumes(MediaType.APPLICATION_JSON)
150     @Produces(MediaType.APPLICATION_JSON)
151     public String queryThirdpartySdncDetail(@HeaderParam("X-TransactionId") String transactionId,
152             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
153             @PathParam("thirdparty-sdnc-id") String thirdpartySdncId) throws ExtsysException;
154
155     @GET
156     @Path("/esr-thirdparty-sdnc-list")
157     @Consumes(MediaType.APPLICATION_JSON)
158     @Produces(MediaType.APPLICATION_JSON)
159     public String queryThirdpartySdncList(@HeaderParam("X-TransactionId") String transactionId,
160             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization)
161             throws ExtsysException;
162
163     @DELETE
164     @Path("/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}")
165     @Consumes(MediaType.APPLICATION_JSON)
166     @Produces(MediaType.APPLICATION_JSON)
167     public void deleteThirdpartySdnc(@HeaderParam("X-TransactionId") String transactionId,
168             @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
169             @PathParam("thirdparty-sdnc-id") String thirdpartySdncId,
170             @QueryParam("resource-version") String resourceVersion) throws ExtsysException;
171 }