39be1d3927d63e8d2498754589d6b3e0c259a693
[sdc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdcrests.vsp.rest;
22
23 import io.swagger.annotations.Api;
24 import io.swagger.annotations.ApiOperation;
25 import io.swagger.annotations.ApiParam;
26 import org.openecomp.sdcrests.vendorsoftwareproducts.types.NetworkDto;
27 import org.openecomp.sdcrests.vendorsoftwareproducts.types.NetworkRequestDto;
28 import org.springframework.validation.annotation.Validated;
29
30 import javax.validation.Valid;
31 import javax.validation.constraints.NotNull;
32 import javax.ws.rs.*;
33 import javax.ws.rs.core.MediaType;
34 import javax.ws.rs.core.Response;
35
36 import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
37 import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
38
39 @Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/networks")
40 @Produces(MediaType.APPLICATION_JSON)
41 @Consumes(MediaType.APPLICATION_JSON)
42 @Api(value = "Vendor Software Product Networks")
43 @Validated
44 public interface Networks extends VspEntities {
45   @GET
46   @Path("/")
47   @ApiOperation(value = "List vendor software product networks",
48       response = NetworkDto.class,
49       responseContainer = "List")
50   Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
51                 @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
52                 @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
53                     String user);
54
55   @POST
56   @Path("/")
57   @ApiOperation(value = "Create a vendor software product network")
58   Response create(@Valid NetworkRequestDto request,
59                   @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
60                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
61                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
62                       String user);
63
64   @GET
65   @Path("/{networkId}")
66   @ApiOperation(value = "Get vendor software product network",
67       response = NetworkDto.class)
68   Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
69                @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
70                @ApiParam(value = "Vendor software product network Id")
71                @PathParam("networkId") String networkId,
72                @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
73                    String user);
74
75   @DELETE
76   @Path("/{networkId}")
77   @ApiOperation(value = "Delete vendor software product network")
78   Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
79                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
80                   @ApiParam(value = "Vendor software product network Id") @PathParam("networkId")
81                       String networkId,
82                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
83                       String user);
84
85   @PUT
86   @Path("/{networkId}")
87   @ApiOperation(value = "Update vendor software product network")
88   Response update(@Valid NetworkRequestDto request,
89                   @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
90                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
91                   @ApiParam(value = "Vendor software product network Id") @PathParam("networkId")
92                       String networkId,
93                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
94                       String user);
95 }