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