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