Merge "adding catalog-service for mod2"
[dcaegen2/platform.git] / mod2 / catalog-service / src / main / java / org / onap / dcaegen2 / platform / mod / model / restapi / MicroserviceCreateRequest.java
1 /*
2  * ============LICENSE_START=======================================================
3  *  org.onap.dcae
4  *  ================================================================================
5  *  Copyright (c) 2020 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.onap.dcaegen2.platform.mod.model.restapi;
22
23 import org.onap.dcaegen2.platform.mod.model.basemicroservice.BaseMsLocation;
24 import org.onap.dcaegen2.platform.mod.model.basemicroservice.BaseMsType;
25 import lombok.Data;
26 import lombok.NoArgsConstructor;
27
28 import javax.validation.constraints.NotBlank;
29 import javax.validation.constraints.Pattern;
30 import javax.validation.constraints.Size;
31 import java.util.Map;
32
33 /**
34  *  A model that represent request body to create a Microservice entity.
35  */
36 @NoArgsConstructor
37 @Data
38 public class MicroserviceCreateRequest {
39
40     @NotBlank(message = "Microservice tag can not be blank")
41     @Pattern(regexp = "^([a-z0-9](-[a-z0-9])*)+$", message = "Microservice tag name is Invalid. Accepts alphanumerics and hyphens.")
42     @Size(min = 5, max = 50, message = "Tag name length cannot exceed 50 characters")
43     private String tag;
44
45     @NotBlank(message = "Microservice name cannot be blank")
46     private String name;
47
48     @Pattern(regexp = "^[a-z-]*$", message = "Microservice core name is Invalid. Accepts lowercase letters and hyphens.")
49     private String serviceName;
50
51     private BaseMsType type;
52     private BaseMsLocation location;
53     private String namespace;
54     private Map<String, Object> metadata;
55
56     @NotBlank(message = "user can not be blank")
57     private String user;
58
59 }