You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2023/01/05 08:02:09 UTC
[inlong] 04/07: [INLONG-7144][Manager] Add interface field limit (#7147)
This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch branch-1.5
in repository https://gitbox.apache.org/repos/asf/inlong.git
commit 903183c6efa578698aca5441b41c79816aaaba0d
Author: Goson Zhang <46...@qq.com>
AuthorDate: Thu Jan 5 11:03:59 2023 +0800
[INLONG-7144][Manager] Add interface field limit (#7147)
---
.../inlong/manager/pojo/cluster/BindTagRequest.java | 6 ++++++
.../inlong/manager/pojo/cluster/ClusterNodeRequest.java | 7 +++++++
.../inlong/manager/pojo/cluster/ClusterRequest.java | 13 +++++++++++++
.../inlong/manager/pojo/cluster/ClusterTagRequest.java | 7 +++++++
.../inlong/manager/pojo/group/InlongGroupExtInfo.java | 8 ++++++++
.../inlong/manager/pojo/group/InlongGroupRequest.java | 12 +++++++++++-
.../manager/pojo/group/InlongGroupResetRequest.java | 5 ++---
.../apache/inlong/manager/pojo/node/DataNodeRequest.java | 11 +++++++++++
.../org/apache/inlong/manager/pojo/sink/SinkRequest.java | 16 +++++++++++++++-
.../apache/inlong/manager/pojo/source/SourceRequest.java | 14 ++++++++++++++
.../inlong/manager/pojo/stream/InlongStreamRequest.java | 14 +++++++++++++-
.../inlong/manager/pojo/transform/TransformRequest.java | 8 ++++++++
.../org/apache/inlong/manager/pojo/user/UserRequest.java | 10 ++++++++++
13 files changed, 125 insertions(+), 6 deletions(-)
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
index 30d3a1d4f..d701e4d6e 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java
@@ -17,11 +17,15 @@
package org.apache.inlong.manager.pojo.cluster;
+import org.hibernate.validator.constraints.Length;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
import java.util.List;
/**
@@ -33,6 +37,8 @@ public class BindTagRequest {
@NotBlank(message = "clusterTag cannot be blank")
@ApiModelProperty(value = "Cluster tag")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String clusterTag;
@ApiModelProperty(value = "Cluster-ID list which needs to bind tag")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
index 25821a393..5e789100b 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java
@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -42,27 +43,33 @@ public class ClusterNodeRequest {
@NotBlank(message = "type cannot be blank")
@ApiModelProperty(value = "Cluster type, including AGENT, DATAPROXY, etc.")
+ @Length(min = 1, max = 20, message = "length must be between 1 and 20")
private String type;
@NotBlank(message = "ip cannot be blank")
@ApiModelProperty(value = "Cluster IP")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String ip;
@NotNull(message = "port cannot be null")
@ApiModelProperty(value = "Cluster port")
+ @Length(max = 6, message = "length must be less than or equal to 6")
private Integer port;
@NotBlank(message = "protocolType cannot be blank")
@ApiModelProperty(value = "Cluster protocol type")
+ @Length(max = 20, message = "length must be less than or equal to 20")
private String protocolType;
@ApiModelProperty(value = "Current load value of the node")
private Integer nodeLoad;
@ApiModelProperty(value = "Extended params")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String extParams;
@ApiModelProperty(value = "Description of the cluster node")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
index 90f07a315..ccb411af5 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
@@ -24,9 +24,11 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
/**
* Inlong cluster request
@@ -44,35 +46,46 @@ public abstract class ClusterRequest {
@NotBlank(message = "cluster name cannot be blank")
@ApiModelProperty(value = "Cluster name")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String name;
@NotBlank(message = "cluster type cannot be blank")
@ApiModelProperty(value = "Cluster type, including TUBEMQ, PULSAR, KAFKA, DATAPROXY, etc.")
+ @Length(min = 1, max = 20, message = "length must be between 1 and 20")
private String type;
@ApiModelProperty(value = "Cluster url")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String url;
@NotBlank(message = "clusterTags cannot be blank")
@ApiModelProperty(value = "Cluster tags, separated by commas")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String clusterTags;
@ApiModelProperty(value = "Extension tag")
+ @Length(max = 128, message = "length must be less than or equal to 128")
private String extTag = "default=true";
@ApiModelProperty(value = "Cluster token")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String token;
@ApiModelProperty(value = "Cluster heartbeat info")
+ @Length(max = 163840, message = "length must be less than or equal to 163840")
private String heartbeat;
@ApiModelProperty(value = "Extended params")
+ @Length(max = 163840, message = "length must be less than or equal to 163840")
private String extParams;
@ApiModelProperty(value = "Description of the cluster")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@ApiModelProperty(value = "Name of responsible person, separated by commas")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
@ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
index 289b89e2e..69d8c5540 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
@@ -21,9 +21,11 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
/**
* Inlong cluster tag request
@@ -38,15 +40,20 @@ public class ClusterTagRequest {
@NotBlank(message = "clusterTag cannot be blank")
@ApiModelProperty(value = "Cluster tag")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String clusterTag;
@ApiModelProperty(value = "Extended params")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String extParams;
@ApiModelProperty(value = "Description of the cluster tag")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@ApiModelProperty(value = "Name of in charges, separated by commas")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
@ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
index e539e868f..f1baef4f0 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java
@@ -17,6 +17,10 @@
package org.apache.inlong.manager.pojo.group;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.Pattern;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@@ -38,12 +42,16 @@ public class InlongGroupExtInfo {
private Integer id;
@ApiModelProperty(value = "inlong group id", required = true)
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@ApiModelProperty(value = "property name")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String keyName;
@ApiModelProperty(value = "property value")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String keyValue;
}
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
index dfa95d31a..9b68c572d 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java
@@ -50,9 +50,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
private String inlongGroupId;
@ApiModelProperty(value = "Inlong group name", required = true)
+ @Length(max = 128, message = "length must be less than or equal to 128")
private String name;
@ApiModelProperty(value = "Inlong group description")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@Deprecated
@@ -61,25 +63,30 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
@NotBlank(message = "cannot be blank")
@ApiModelProperty(value = "MQ type, high throughput: TUBEMQ, high consistency: PULSAR")
+ @Length(min = 1, max = 20, message = "length must be between 1 and 20")
private String mqType;
@ApiModelProperty(value = "MQ resource", notes = "in inlong group, TubeMQ corresponds to Topic, Pulsar corresponds to Namespace")
+ @Length(max = 64, message = "length must be less than or equal to 64")
private String mqResource;
@ApiModelProperty(value = "TubeMQ master URL")
private String tubeMaster;
@ApiModelProperty(value = "Whether to enable zookeeper? 0: disable, 1: enable")
+ @Range(min = 0, max = 1, message = "default is 0, only supports [0: disable, 1: enable]")
private Integer enableZookeeper = 0;
@ApiModelProperty(value = "Whether to enable create resource? 0: disable, 1: enable")
+ @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]")
private Integer enableCreateResource = 1;
@ApiModelProperty(value = "Whether to use lightweight mode, 0: no, 1: yes")
+ @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]")
private Integer lightweight = 0;
@NotNull(message = "cannot be null")
- @Range(min = 0, max = 2, message = "only supports 0, 1, 2")
+ @Range(min = 0, max = 2, message = "default is 0, only supports [0, 1, 2]")
@ApiModelProperty(value = "Data report type, default is 0.\n"
+ " 0: report to DataProxy and respond when the DataProxy received data.\n"
+ " 1: report to DataProxy and respond after DataProxy sends data.\n"
@@ -87,6 +94,7 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
private Integer dataReportType = 0;
@ApiModelProperty(value = "Inlong cluster tag, which links to inlong_cluster table")
+ @Length(max = 128, message = "Length must be less than or equal to 128")
private String inlongClusterTag;
@ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day")
@@ -103,9 +111,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup {
@NotBlank(message = "cannot be blank")
@ApiModelProperty(value = "Name of responsible person, separated by commas")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
@ApiModelProperty(value = "Name of followers, separated by commas")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String followers;
@ApiModelProperty(value = "Inlong group Extension properties")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
index c6cefb120..5a577d6a4 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java
@@ -38,9 +38,8 @@ import javax.validation.constraints.Pattern;
public class InlongGroupResetRequest {
@ApiModelProperty(value = "Inlong group id", required = true)
- @Length(min = 4, max = 200)
- @Pattern(regexp = "^(?![0-9]+$)[a-z][a-z0-9_-]{1,200}$", message = "inlongGroupId must starts with a lowercase letter "
- + "and contains only lowercase letters, digits, `-` or `_`")
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@ApiModelProperty(value = "If rerun process when group is in operating, 0: false 1: true")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
index 4f520bf21..d4c3d89cb 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java
@@ -24,9 +24,11 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
/**
* Data node request
@@ -44,29 +46,38 @@ public abstract class DataNodeRequest {
@NotBlank(message = "node name cannot be blank")
@ApiModelProperty(value = "Data node name")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'")
private String name;
@NotBlank(message = "node type cannot be blank")
@ApiModelProperty(value = "Data node type, including MYSQL, HIVE, KAFKA, ES, etc.")
+ @Length(max = 20, message = "length must be less than or equal to 20")
private String type;
@ApiModelProperty(value = "Data node URL")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String url;
@ApiModelProperty(value = "Data node username")
+ @Length(max = 128, message = "length must be less than or equal to 128")
private String username;
@ApiModelProperty(value = "Data node token if needed")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String token;
@ApiModelProperty(value = "Extended params")
+ @Length(min = 1, max = 16384, message = "length must be between 1 and 16384")
private String extParams;
@ApiModelProperty(value = "Description of the data node")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@NotBlank(message = "inCharges cannot be blank")
@ApiModelProperty(value = "Name of responsible person, separated by commas", required = true)
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
@ApiModelProperty(value = "Version number")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
index a6089adcd..d8ca5f02d 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java
@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.inlong.manager.common.validation.UpdateValidation;
import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -45,38 +46,51 @@ public abstract class SinkRequest {
@NotBlank(message = "inlongGroupId cannot be blank")
@ApiModelProperty("Inlong group id")
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@NotBlank(message = "inlongStreamId cannot be blank")
@ApiModelProperty("Inlong stream id")
+ @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
private String inlongStreamId;
@NotBlank(message = "sinkType cannot be blank")
@ApiModelProperty("Sink type, including: HIVE, ES, etc.")
+ @Length(max = 15, message = "length must be less than or equal to 15")
private String sinkType;
@NotBlank(message = "sinkName cannot be blank")
+ @ApiModelProperty("Sink name, unique in one stream")
@Length(min = 1, max = 100, message = "sinkName length must be between 1 and 100")
@Pattern(regexp = "^[a-z0-9_-]{1,100}$", message = "sinkName only supports lowercase letters, numbers, '-', or '_'")
- @ApiModelProperty("Sink name, unique in one stream")
private String sinkName;
@ApiModelProperty("Sink description")
+ @Length(max = 500, message = "length must be less than or equal to 500")
private String description;
@ApiModelProperty("Inlong cluster name")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongClusterName;
@ApiModelProperty("Data node name")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'")
private String dataNodeName;
@ApiModelProperty("Sort task name")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String sortTaskName;
@ApiModelProperty("Sort consumer group")
+ @Length(max = 512, message = "length must be less than or equal to 512")
private String sortConsumerGroup;
@ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. Default is 1")
+ @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]")
private Integer enableCreateResource = 1;
@ApiModelProperty(value = "Whether to start the process after saving or updating. Default is false")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
index 7e3db4e63..099ab45e7 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java
@@ -47,14 +47,19 @@ public class SourceRequest {
@NotBlank(message = "inlongGroupId cannot be blank")
@ApiModelProperty("Inlong group id")
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@NotBlank(message = "inlongStreamId cannot be blank")
@ApiModelProperty("Inlong stream id")
+ @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
private String inlongStreamId;
@NotBlank(message = "sourceType cannot be blank")
@ApiModelProperty("Source type, including: FILE, KAFKA, etc.")
+ @Length(min = 1, max = 20, message = "length must be between 1 and 20")
private String sourceType;
@NotBlank(message = "sourceName cannot be blank")
@@ -64,24 +69,33 @@ public class SourceRequest {
private String sourceName;
@ApiModelProperty("Ip of the agent running the task")
+ @Length(max = 40, message = "length must be less than or equal to 40")
private String agentIp;
@ApiModelProperty("Mac uuid of the agent running the task")
+ @Length(max = 30, message = "length must be less than or equal to 30")
private String uuid;
@ApiModelProperty("Inlong cluster name")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongClusterName;
@ApiModelProperty("Inlong cluster node tag")
+ @Length(min = 1, max = 128, message = "length must be between 1 and 128")
+ @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongClusterNodeTag;
@ApiModelProperty("Data node name")
+ @Length(max = 128, message = "length must be less than or equal to 128")
private String dataNodeName;
@ApiModelProperty("Serialization type, support: csv, json, canal, avro, etc")
+ @Length(max = 20, message = "length must be less than or equal to 20")
private String serializationType;
@ApiModelProperty("Snapshot of the source task")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String snapshot;
@ApiModelProperty("Version")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
index b8061daff..277e035f8 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java
@@ -22,6 +22,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@@ -41,37 +42,47 @@ public class InlongStreamRequest extends BaseInlongStream {
@NotBlank(message = "inlongGroupId cannot be blank")
@ApiModelProperty(value = "Inlong group id")
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@NotBlank(message = "inlongStreamId cannot be blank")
+ @ApiModelProperty(value = "Inlong stream id")
@Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
@Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
- @ApiModelProperty(value = "Inlong stream id")
private String inlongStreamId;
@ApiModelProperty(value = "Inlong stream name", required = true)
+ @Length(max = 64, message = "length must be less than or equal to 64")
private String name;
@ApiModelProperty(value = "Inlong stream description")
+ @Length(max = 256, message = "length must be less than or equal to 256")
private String description;
@ApiModelProperty(value = "MQ resource")
+ @Length(max = 64, message = "length must be less than or equal to 64")
private String mqResource;
@ApiModelProperty(value = "Data type, including: TEXT, KV, etc.")
+ @Length(max = 20, message = "length must be less than or equal to 20")
private String dataType;
@ApiModelProperty(value = "Data encoding format: UTF-8, GBK")
+ @Length(max = 8, message = "length must be less than or equal to 8")
private String dataEncoding = StandardCharsets.UTF_8.toString();
@ApiModelProperty(value = "Data separator")
+ @Length(max = 8, message = "length must be less than or equal to 8")
private String dataSeparator = String.valueOf((int) '|');
@ApiModelProperty(value = "Data field escape symbol")
+ @Length(max = 8, message = "length must be less than or equal to 8")
private String dataEscapeChar;
@ApiModelProperty(value = "Whether to send synchronously, 0: no, 1: yes", notes = "Each task under this stream sends data synchronously, "
+ "which will affect the throughput of data collection, please choose carefully")
+ @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]")
private Integer syncSend = 0;
@ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day")
@@ -90,6 +101,7 @@ public class InlongStreamRequest extends BaseInlongStream {
private Integer storagePeriod;
@ApiModelProperty(value = "Extended params, will be saved as JSON string")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String extParams;
@ApiModelProperty(value = "Field list")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
index 7a8a24e53..5895d5d44 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java
@@ -42,10 +42,14 @@ public class TransformRequest {
@NotBlank(message = "inlongGroupId cannot be blank")
@ApiModelProperty("Inlong group id")
+ @Length(min = 4, max = 100, message = "length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'")
private String inlongGroupId;
@NotBlank(message = "inlongStreamId cannot be blank")
@ApiModelProperty("Inlong stream id")
+ @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100")
+ @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'")
private String inlongStreamId;
@NotBlank(message = "transformName cannot be blank")
@@ -56,18 +60,22 @@ public class TransformRequest {
@NotBlank(message = "transformType cannot be blank")
@ApiModelProperty("Transform type, including: splitter, filter, joiner, etc.")
+ @Length(max = 15, message = "length must be less than or equal to 15")
private String transformType;
@NotBlank(message = "preNodeNames cannot be blank")
@ApiModelProperty("Pre node names of transform in this stream, join by ','")
+ @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
private String preNodeNames;
@NotBlank(message = "postNodeNames cannot be blank")
@ApiModelProperty("Post node names of transform in this stream, join by ','")
+ @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
private String postNodeNames;
@NotBlank(message = "transformDefinition cannot be blank")
@ApiModelProperty("Transform definition in json type")
+ @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400")
private String transformDefinition;
@ApiModelProperty("Version of transform")
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
index 15bbae2d0..b84018bec 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java
@@ -27,6 +27,8 @@ import lombok.NoArgsConstructor;
import org.apache.inlong.manager.pojo.common.PageRequest;
import org.apache.inlong.manager.common.enums.UserTypeEnum;
import org.apache.inlong.manager.common.validation.InEnumInt;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
@@ -48,24 +50,30 @@ public class UserRequest extends PageRequest {
@NotBlank(message = "User name cannot be blank")
@ApiModelProperty(value = "User name", required = true)
+ @Length(min = 1, max = 256, message = "length must be between 1 and 256")
private String name;
@ApiModelProperty(value = "Keyword, can be user name")
private String keyword;
@ApiModelProperty(value = "User password")
+ @Length(min = 1, max = 64, message = "length must be between 1 and 64")
private String password;
@ApiModelProperty(value = "New password, is required if needs updated")
+ @Length(min = 1, max = 64, message = "length must be between 1 and 64")
private String newPassword;
@ApiModelProperty("Secret key")
+ @Length(min = 1, max = 256, message = "length must be between 1 and 256")
private String secretKey;
@ApiModelProperty("Public key")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String publicKey;
@ApiModelProperty("Private key")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String privateKey;
@ApiModelProperty("Encryption key version")
@@ -74,6 +82,7 @@ public class UserRequest extends PageRequest {
@NotNull(message = "accountType cannot be null")
@InEnumInt(UserTypeEnum.class)
@ApiModelProperty(value = "Account type: 0 - manager, 1 - operator", required = true)
+ @Range(min = 0, max = 1, message = "only supports [0: manager, 1: operator]")
private Integer accountType;
@Min(1)
@@ -85,6 +94,7 @@ public class UserRequest extends PageRequest {
private Integer version;
@ApiModelProperty(value = "Extension json info")
+ @Length(min = 1, max = 163840, message = "length must be between 1 and 163840")
private String extParams;
}