1ba2f71b4c1553b60a2b77b6f43e32fa974803b7
[sdc.git] /
1 package org.openecomp.sdcrests.vsp.rest;
2
3 import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
4 import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
5
6 import io.swagger.annotations.Api;
7 import io.swagger.annotations.ApiOperation;
8 import io.swagger.annotations.ApiParam;
9 import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto;
10 import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto;
11 import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto;
12 import org.springframework.validation.annotation.Validated;
13
14 import javax.validation.Valid;
15 import javax.validation.constraints.NotNull;
16 import javax.ws.rs.Consumes;
17 import javax.ws.rs.DELETE;
18 import javax.ws.rs.GET;
19 import javax.ws.rs.HeaderParam;
20 import javax.ws.rs.POST;
21 import javax.ws.rs.PUT;
22 import javax.ws.rs.Path;
23 import javax.ws.rs.PathParam;
24 import javax.ws.rs.Produces;
25 import javax.ws.rs.core.MediaType;
26 import javax.ws.rs.core.Response;
27
28
29 @Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/deployment-flavors")
30 @Produces(MediaType.APPLICATION_JSON)
31 @Consumes(MediaType.APPLICATION_JSON)
32 @Api(value = "Vendor Software Product deployment-flavors")
33 @Validated
34 public interface DeploymentFlavors extends VspEntities {
35
36   @POST
37   @Path("/")
38   @ApiOperation(value = "Create a vendor software product Deployment Flavor")
39   Response create(@Valid DeploymentFlavorRequestDto request,
40                   @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
41                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
42                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
43                       String user);
44
45   @GET
46   @Path("/")
47   @ApiOperation(value = "List vendor software product Deployment Flavor",
48       response = DeploymentFlavorListResponseDto.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   @GET
56   @Path("/{deploymentFlavorId}")
57   @ApiOperation(value = "Get vendor software product Deployment Flavor",
58       response = DeploymentFlavorDto.class)
59   Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
60                @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
61                @ApiParam(value = "Vendor software product Deployment Flavor Id") @PathParam
62                    ("deploymentFlavorId") String deploymentFlavorId,
63                @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
64                    String user);
65
66   @GET
67   @Path("/schema")
68   Response getSchema(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String
69                         vspId,
70                      @PathParam("versionId") String versionId,
71                @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
72                    String user);
73
74   @DELETE
75   @Path("/{deploymentFlavorId}")
76   @ApiOperation(value = "Delete vendor software product Deployment Flavor")
77   Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
78                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
79                   @ApiParam(value = "Vendor software product Deployment Flavor Id")
80                   @PathParam("deploymentFlavorId") String deploymentFlavorId,
81                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
82                           String user);
83
84   @PUT
85   @Path("/{deploymentFlavorId}")
86   @ApiOperation(value = "Update vendor software product Deployment Flavor")
87   Response update(@Valid DeploymentFlavorRequestDto request,
88                   @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
89                   @ApiParam(value = "Version Id") @PathParam("versionId") String versionId,
90                   @ApiParam(value = "Vendor software product Deployment Flavor Id")
91                   @PathParam("deploymentFlavorId") String deploymentFlavorId,
92                   @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
93                       String user);
94 }