fcb8f31198087d87fbfa0df351766bb3e95e7448
[ccsdk/cds.git] /
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.service.rs;\r
18 \r
19 import io.swagger.annotations.*;\r
20 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
21 import org.onap.ccsdk.apps.controllerblueprints.core.data.ServiceTemplate;\r
22 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment;\r
23 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ConfigModelContent;\r
24 import org.onap.ccsdk.apps.controllerblueprints.service.model.AutoMapResponse;\r
25 \r
26 import javax.ws.rs.Consumes;\r
27 import javax.ws.rs.POST;\r
28 import javax.ws.rs.Path;\r
29 import javax.ws.rs.Produces;\r
30 import javax.ws.rs.core.MediaType;\r
31 import java.util.List;\r
32 \r
33 \r
34 /**\r
35  * ServiceTemplateRest.java Purpose: ServiceTemplateRest interface\r
36  *\r
37  * @author Brinda Santh\r
38  * @version 1.0\r
39  */\r
40 \r
41 @Api\r
42 @Path("/service")\r
43 @Produces({MediaType.APPLICATION_JSON})\r
44 public interface ServiceTemplateRest {\r
45 \r
46     /**\r
47      * This is a enrichServiceTemplate rest service\r
48      * \r
49      * @param serviceTemplate\r
50      * @return ServiceTemplate\r
51      * @throws BluePrintException\r
52      */\r
53     @POST\r
54     @Path("/servicetemplate/enrich")\r
55     @Consumes({MediaType.APPLICATION_JSON})\r
56     @Produces({MediaType.APPLICATION_JSON})\r
57     @ApiOperation(value = "Provides Rest service to enrich service template", response = ServiceTemplate.class)\r
58     @ApiResponses(value = {@ApiResponse(code = 404, message = "Service not available"),\r
59             @ApiResponse(code = 500, message = "Unexpected Runtime error")})\r
60     ServiceTemplate enrichServiceTemplate(@ApiParam(required = true) ServiceTemplate serviceTemplate)\r
61             throws BluePrintException;\r
62 \r
63     /**\r
64      * This is a validateServiceTemplate rest service\r
65      * \r
66      * @param serviceTemplate\r
67      * @return ServiceTemplate\r
68      * @throws BluePrintException\r
69      */\r
70     @POST\r
71     @Path("/servicetemplate/validate")\r
72     @Consumes({MediaType.APPLICATION_JSON})\r
73     @Produces({MediaType.APPLICATION_JSON})\r
74     @ApiOperation(value = "Provides Rest service to validate service template", response = ServiceTemplate.class)\r
75     @ApiResponses(value = {@ApiResponse(code = 404, message = "Service not available"),\r
76             @ApiResponse(code = 500, message = "Unexpected Runtime error")})\r
77     ServiceTemplate validateServiceTemplate(@ApiParam(required = true) ServiceTemplate serviceTemplate)\r
78             throws BluePrintException;\r
79 \r
80     /**\r
81      * This is a generateResourceAssignments rest service\r
82      * \r
83      * @param templateContent\r
84      * @return List<ResourceAssignment>\r
85      * @throws BluePrintException\r
86      */\r
87     @POST\r
88     @Path("/resourceassignment/generate")\r
89     @Consumes({MediaType.APPLICATION_JSON})\r
90     @Produces({MediaType.APPLICATION_JSON})\r
91     @ApiOperation(value = "Provides Rest service to auto map for the Resource Mapping",\r
92             response = ResourceAssignment.class, responseContainer = "List")\r
93     @ApiResponses(value = {@ApiResponse(code = 404, message = "Service not available"),\r
94             @ApiResponse(code = 500, message = "Unexpected Runtime error")})\r
95     List<ResourceAssignment> generateResourceAssignments(\r
96             @ApiParam(required = true) ConfigModelContent templateContent) throws BluePrintException;\r
97 \r
98     /**\r
99      * This is a autoMap rest service\r
100      * \r
101      * @param resourceAssignments\r
102      * @return AutoMapResponse\r
103      * @throws BluePrintException\r
104      */\r
105     @POST\r
106     @Path("/resourceassignment/automap")\r
107     @Consumes({MediaType.APPLICATION_JSON})\r
108     @Produces({MediaType.APPLICATION_JSON})\r
109     @ApiOperation(value = "Provides Rest service to auto map for the Resource assignments",\r
110             response = AutoMapResponse.class)\r
111     @ApiResponses(value = {@ApiResponse(code = 404, message = "Service not available"),\r
112             @ApiResponse(code = 500, message = "Unexpected Runtime error")})\r
113     AutoMapResponse autoMap(@ApiParam(required = true) List<ResourceAssignment> resourceAssignments)\r
114             throws BluePrintException;\r
115 \r
116     /**\r
117      * This is a validateResourceAssignments rest service\r
118      * \r
119      * @param resourceAssignments\r
120      * @return List<ResourceAssignment>\r
121      * @throws BluePrintException\r
122      */\r
123     @POST\r
124     @Path("/resourceassignment/validate")\r
125     @Consumes({MediaType.APPLICATION_JSON})\r
126     @Produces({MediaType.APPLICATION_JSON})\r
127     @ApiOperation(value = "Provides Rest service to validate Resource assignments", response = ResourceAssignment.class,\r
128             responseContainer = "List")\r
129     @ApiResponses(value = {@ApiResponse(code = 404, message = "Service not available"),\r
130             @ApiResponse(code = 500, message = "Unexpected Runtime error")})\r
131     List<ResourceAssignment> validateResourceAssignments(\r
132             @ApiParam(required = true) List<ResourceAssignment> resourceAssignments) throws BluePrintException;\r
133 \r
134 }\r