Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + *
http://www.apache.org/licenses/LICENSE-2.0 + * + *
Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ +package cn.ucloud.nlb.client; + +import cn.ucloud.common.client.DefaultClient; +import cn.ucloud.common.config.Config; +import cn.ucloud.common.credential.Credential; +import cn.ucloud.common.exception.UCloudException; +import cn.ucloud.nlb.models.AddNLBTargetsRequest; +import cn.ucloud.nlb.models.AddNLBTargetsResponse; +import cn.ucloud.nlb.models.CreateNLBListenerRequest; +import cn.ucloud.nlb.models.CreateNLBListenerResponse; +import cn.ucloud.nlb.models.CreateNetworkLoadBalancerRequest; +import cn.ucloud.nlb.models.CreateNetworkLoadBalancerResponse; +import cn.ucloud.nlb.models.DeleteNLBListenerRequest; +import cn.ucloud.nlb.models.DeleteNLBListenerResponse; +import cn.ucloud.nlb.models.DeleteNetworkLoadBalancerRequest; +import cn.ucloud.nlb.models.DeleteNetworkLoadBalancerResponse; +import cn.ucloud.nlb.models.DescribeNLBListenersRequest; +import cn.ucloud.nlb.models.DescribeNLBListenersResponse; +import cn.ucloud.nlb.models.DescribeNetworkLoadBalancersRequest; +import cn.ucloud.nlb.models.DescribeNetworkLoadBalancersResponse; +import cn.ucloud.nlb.models.GetNetworkLoadBalancerPriceRequest; +import cn.ucloud.nlb.models.GetNetworkLoadBalancerPriceResponse; +import cn.ucloud.nlb.models.RemoveNLBTargetsRequest; +import cn.ucloud.nlb.models.RemoveNLBTargetsResponse; +import cn.ucloud.nlb.models.UpdateNLBListenerAttributeRequest; +import cn.ucloud.nlb.models.UpdateNLBListenerAttributeResponse; +import cn.ucloud.nlb.models.UpdateNLBTargetsAttributeRequest; +import cn.ucloud.nlb.models.UpdateNLBTargetsAttributeResponse; +import cn.ucloud.nlb.models.UpdateNetworkLoadBalancerAttributeRequest; +import cn.ucloud.nlb.models.UpdateNetworkLoadBalancerAttributeResponse; + +/** This client is used to call actions of **NLB** service */ +public class NLBClient extends DefaultClient implements NLBClientInterface { + public NLBClient(Config config, Credential credential) { + super(config, credential); + } + + /** + * AddNLBTargets - 添加后端服务节点 + * + * @param request Request object + * @throws UCloudException Exception + */ + public AddNLBTargetsResponse addNLBTargets(AddNLBTargetsRequest request) + throws UCloudException { + request.setAction("AddNLBTargets"); + return (AddNLBTargetsResponse) this.invoke(request, AddNLBTargetsResponse.class); + } + + /** + * CreateNLBListener - 创建监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateNLBListenerResponse createNLBListener(CreateNLBListenerRequest request) + throws UCloudException { + request.setAction("CreateNLBListener"); + return (CreateNLBListenerResponse) this.invoke(request, CreateNLBListenerResponse.class); + } + + /** + * CreateNetworkLoadBalancer - 创建网络型负载均衡 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateNetworkLoadBalancerResponse createNetworkLoadBalancer( + CreateNetworkLoadBalancerRequest request) throws UCloudException { + request.setAction("CreateNetworkLoadBalancer"); + return (CreateNetworkLoadBalancerResponse) + this.invoke(request, CreateNetworkLoadBalancerResponse.class); + } + + /** + * DeleteNLBListener - 删除一个网络型负载均衡监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteNLBListenerResponse deleteNLBListener(DeleteNLBListenerRequest request) + throws UCloudException { + request.setAction("DeleteNLBListener"); + return (DeleteNLBListenerResponse) this.invoke(request, DeleteNLBListenerResponse.class); + } + + /** + * DeleteNetworkLoadBalancer - 删除负载均衡实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteNetworkLoadBalancerResponse deleteNetworkLoadBalancer( + DeleteNetworkLoadBalancerRequest request) throws UCloudException { + request.setAction("DeleteNetworkLoadBalancer"); + return (DeleteNetworkLoadBalancerResponse) + this.invoke(request, DeleteNetworkLoadBalancerResponse.class); + } + + /** + * DescribeNLBListeners - 描述监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DescribeNLBListenersResponse describeNLBListeners(DescribeNLBListenersRequest request) + throws UCloudException { + request.setAction("DescribeNLBListeners"); + return (DescribeNLBListenersResponse) + this.invoke(request, DescribeNLBListenersResponse.class); + } + + /** + * DescribeNetworkLoadBalancers - 描述负载均衡实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DescribeNetworkLoadBalancersResponse describeNetworkLoadBalancers( + DescribeNetworkLoadBalancersRequest request) throws UCloudException { + request.setAction("DescribeNetworkLoadBalancers"); + return (DescribeNetworkLoadBalancersResponse) + this.invoke(request, DescribeNetworkLoadBalancersResponse.class); + } + + /** + * GetNetworkLoadBalancerPrice - 获取负载均衡价格 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetNetworkLoadBalancerPriceResponse getNetworkLoadBalancerPrice( + GetNetworkLoadBalancerPriceRequest request) throws UCloudException { + request.setAction("GetNetworkLoadBalancerPrice"); + return (GetNetworkLoadBalancerPriceResponse) + this.invoke(request, GetNetworkLoadBalancerPriceResponse.class); + } + + /** + * RemoveNLBTargets - 删除后端服务节点 + * + * @param request Request object + * @throws UCloudException Exception + */ + public RemoveNLBTargetsResponse removeNLBTargets(RemoveNLBTargetsRequest request) + throws UCloudException { + request.setAction("RemoveNLBTargets"); + return (RemoveNLBTargetsResponse) this.invoke(request, RemoveNLBTargetsResponse.class); + } + + /** + * UpdateNLBListenerAttribute - 更新监听器属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNLBListenerAttributeResponse updateNLBListenerAttribute( + UpdateNLBListenerAttributeRequest request) throws UCloudException { + request.setAction("UpdateNLBListenerAttribute"); + return (UpdateNLBListenerAttributeResponse) + this.invoke(request, UpdateNLBListenerAttributeResponse.class); + } + + /** + * UpdateNLBTargetsAttribute - 更新后端服务节点属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNLBTargetsAttributeResponse updateNLBTargetsAttribute( + UpdateNLBTargetsAttributeRequest request) throws UCloudException { + request.setAction("UpdateNLBTargetsAttribute"); + return (UpdateNLBTargetsAttributeResponse) + this.invoke(request, UpdateNLBTargetsAttributeResponse.class); + } + + /** + * UpdateNetworkLoadBalancerAttribute - 更新负载均衡实例属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNetworkLoadBalancerAttributeResponse updateNetworkLoadBalancerAttribute( + UpdateNetworkLoadBalancerAttributeRequest request) throws UCloudException { + request.setAction("UpdateNetworkLoadBalancerAttribute"); + return (UpdateNetworkLoadBalancerAttributeResponse) + this.invoke(request, UpdateNetworkLoadBalancerAttributeResponse.class); + } +} diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/client/NLBClientInterface.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/client/NLBClientInterface.java new file mode 100644 index 00000000..36673c42 --- /dev/null +++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/client/NLBClientInterface.java @@ -0,0 +1,152 @@ +/** + * Copyright 2021 UCloud Technology Co., Ltd. + * + *
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + *
http://www.apache.org/licenses/LICENSE-2.0 + * + *
Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ +package cn.ucloud.nlb.client; + +import cn.ucloud.common.client.Client; +import cn.ucloud.common.exception.UCloudException; +import cn.ucloud.nlb.models.AddNLBTargetsRequest; +import cn.ucloud.nlb.models.AddNLBTargetsResponse; +import cn.ucloud.nlb.models.CreateNLBListenerRequest; +import cn.ucloud.nlb.models.CreateNLBListenerResponse; +import cn.ucloud.nlb.models.CreateNetworkLoadBalancerRequest; +import cn.ucloud.nlb.models.CreateNetworkLoadBalancerResponse; +import cn.ucloud.nlb.models.DeleteNLBListenerRequest; +import cn.ucloud.nlb.models.DeleteNLBListenerResponse; +import cn.ucloud.nlb.models.DeleteNetworkLoadBalancerRequest; +import cn.ucloud.nlb.models.DeleteNetworkLoadBalancerResponse; +import cn.ucloud.nlb.models.DescribeNLBListenersRequest; +import cn.ucloud.nlb.models.DescribeNLBListenersResponse; +import cn.ucloud.nlb.models.DescribeNetworkLoadBalancersRequest; +import cn.ucloud.nlb.models.DescribeNetworkLoadBalancersResponse; +import cn.ucloud.nlb.models.GetNetworkLoadBalancerPriceRequest; +import cn.ucloud.nlb.models.GetNetworkLoadBalancerPriceResponse; +import cn.ucloud.nlb.models.RemoveNLBTargetsRequest; +import cn.ucloud.nlb.models.RemoveNLBTargetsResponse; +import cn.ucloud.nlb.models.UpdateNLBListenerAttributeRequest; +import cn.ucloud.nlb.models.UpdateNLBListenerAttributeResponse; +import cn.ucloud.nlb.models.UpdateNLBTargetsAttributeRequest; +import cn.ucloud.nlb.models.UpdateNLBTargetsAttributeResponse; +import cn.ucloud.nlb.models.UpdateNetworkLoadBalancerAttributeRequest; +import cn.ucloud.nlb.models.UpdateNetworkLoadBalancerAttributeResponse; + +/** This client is used to call actions of **NLB** service */ +public interface NLBClientInterface extends Client { + + /** + * AddNLBTargets - 添加后端服务节点 + * + * @param request Request object + * @throws UCloudException Exception + */ + public AddNLBTargetsResponse addNLBTargets(AddNLBTargetsRequest request) throws UCloudException; + + /** + * CreateNLBListener - 创建监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateNLBListenerResponse createNLBListener(CreateNLBListenerRequest request) + throws UCloudException; + + /** + * CreateNetworkLoadBalancer - 创建网络型负载均衡 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateNetworkLoadBalancerResponse createNetworkLoadBalancer( + CreateNetworkLoadBalancerRequest request) throws UCloudException; + + /** + * DeleteNLBListener - 删除一个网络型负载均衡监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteNLBListenerResponse deleteNLBListener(DeleteNLBListenerRequest request) + throws UCloudException; + + /** + * DeleteNetworkLoadBalancer - 删除负载均衡实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteNetworkLoadBalancerResponse deleteNetworkLoadBalancer( + DeleteNetworkLoadBalancerRequest request) throws UCloudException; + + /** + * DescribeNLBListeners - 描述监听器 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DescribeNLBListenersResponse describeNLBListeners(DescribeNLBListenersRequest request) + throws UCloudException; + + /** + * DescribeNetworkLoadBalancers - 描述负载均衡实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DescribeNetworkLoadBalancersResponse describeNetworkLoadBalancers( + DescribeNetworkLoadBalancersRequest request) throws UCloudException; + + /** + * GetNetworkLoadBalancerPrice - 获取负载均衡价格 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetNetworkLoadBalancerPriceResponse getNetworkLoadBalancerPrice( + GetNetworkLoadBalancerPriceRequest request) throws UCloudException; + + /** + * RemoveNLBTargets - 删除后端服务节点 + * + * @param request Request object + * @throws UCloudException Exception + */ + public RemoveNLBTargetsResponse removeNLBTargets(RemoveNLBTargetsRequest request) + throws UCloudException; + + /** + * UpdateNLBListenerAttribute - 更新监听器属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNLBListenerAttributeResponse updateNLBListenerAttribute( + UpdateNLBListenerAttributeRequest request) throws UCloudException; + + /** + * UpdateNLBTargetsAttribute - 更新后端服务节点属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNLBTargetsAttributeResponse updateNLBTargetsAttribute( + UpdateNLBTargetsAttributeRequest request) throws UCloudException; + + /** + * UpdateNetworkLoadBalancerAttribute - 更新负载均衡实例属性 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpdateNetworkLoadBalancerAttributeResponse updateNetworkLoadBalancerAttribute( + UpdateNetworkLoadBalancerAttributeRequest request) throws UCloudException; +} diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/AddNLBTargetsRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/AddNLBTargetsRequest.java new file mode 100644 index 00000000..b83fc8c2 --- /dev/null +++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/AddNLBTargetsRequest.java @@ -0,0 +1,215 @@ +/** + * Copyright 2021 UCloud Technology Co., Ltd. + * + *
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + *
http://www.apache.org/licenses/LICENSE-2.0 + * + *
Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+import java.util.List;
+
+public class AddNLBTargetsRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID。 */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的ID。 */
+ @NotEmpty
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ /** */
+ @UCloudParam("Targets")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class AddNLBTargetsResponse extends Response {
+
+ /** */
+ @SerializedName("Targets")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class CreateNLBListenerRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的名称 限定字符长度:[1-255] 限定特殊字符,仅支持:-_. 默认值:listener */
+ @UCloudParam("Name")
+ private String name;
+
+ /** 监听器的备注信息 限定字符长度:[0-255] */
+ @UCloudParam("Remark")
+ private String remark;
+
+ /** 端口范围的起始端口 限定取值:[1-65535] 默认值 1 */
+ @UCloudParam("StartPort")
+ private Integer startPort;
+
+ /** 端口范围的结束端口 限定取值:[1-65535] 取值不小于起始端口 默认值 65535 */
+ @UCloudParam("EndPort")
+ private Integer endPort;
+
+ /** 监听协议 限定取值:"TCP"/"UDP" */
+ @UCloudParam("Protocol")
+ private String protocol;
+
+ /**
+ * 负载均衡算法 限定取值:"RoundRobin"/"SourceHash"/"LeastConn"/"WeightLeastConn "/"WeightRoundRobin" 默认值
+ * "RoundRobin"
+ */
+ @UCloudParam("Scheduler")
+ private String scheduler;
+
+ /** 会话保持超时时间。单位:秒 限定取值:[60-900],0 表示不开启会话保持 默认值60 */
+ @UCloudParam("StickinessTimeout")
+ private Integer stickinessTimeout;
+
+ /** */
+ @UCloudParam("HealthCheckConfig")
+ private HealthCheckConfig healthCheckConfig;
+
+ /** 传递源 IP 方法。 限定取值:"" / "None" / "Toa",空字符串和 None 代表关闭。 */
+ @UCloudParam("ForwardSrcIPMethod")
+ private String forwardSrcIPMethod;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public Integer getStartPort() {
+ return startPort;
+ }
+
+ public void setStartPort(Integer startPort) {
+ this.startPort = startPort;
+ }
+
+ public Integer getEndPort() {
+ return endPort;
+ }
+
+ public void setEndPort(Integer endPort) {
+ this.endPort = endPort;
+ }
+
+ public String getProtocol() {
+ return protocol;
+ }
+
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ public String getScheduler() {
+ return scheduler;
+ }
+
+ public void setScheduler(String scheduler) {
+ this.scheduler = scheduler;
+ }
+
+ public Integer getStickinessTimeout() {
+ return stickinessTimeout;
+ }
+
+ public void setStickinessTimeout(Integer stickinessTimeout) {
+ this.stickinessTimeout = stickinessTimeout;
+ }
+
+ public HealthCheckConfig getHealthCheckConfig() {
+ return healthCheckConfig;
+ }
+
+ public void setHealthCheckConfig(HealthCheckConfig healthCheckConfig) {
+ this.healthCheckConfig = healthCheckConfig;
+ }
+
+ public String getForwardSrcIPMethod() {
+ return forwardSrcIPMethod;
+ }
+
+ public void setForwardSrcIPMethod(String forwardSrcIPMethod) {
+ this.forwardSrcIPMethod = forwardSrcIPMethod;
+ }
+
+ public static class HealthCheckConfig extends Request {
+
+ /** 是否开启健康检查功能。暂时不支持关闭,默认 true */
+ @UCloudParam("Enabled")
+ private Boolean enabled;
+
+ /** 健康检查探测端口 说明: 限定取值:[1-65535] */
+ @UCloudParam("Port")
+ private Integer port;
+
+ /** 健康检查方式 限定取值:"Port"/"UDP"/"Ping" 默认值:“Port” */
+ @UCloudParam("Type")
+ private String type;
+
+ /** UDP" 检查模式的请求字符串 */
+ @UCloudParam("ReqMsg")
+ private String reqMsg;
+
+ /** "UDP" 检查模式的预期响应字符串 */
+ @UCloudParam("ResMsg")
+ private String resMsg;
+
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public Integer getPort() {
+ return port;
+ }
+
+ public void setPort(Integer port) {
+ this.port = port;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getReqMsg() {
+ return reqMsg;
+ }
+
+ public void setReqMsg(String reqMsg) {
+ this.reqMsg = reqMsg;
+ }
+
+ public String getResMsg() {
+ return resMsg;
+ }
+
+ public void setResMsg(String resMsg) {
+ this.resMsg = resMsg;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNLBListenerResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNLBListenerResponse.java
new file mode 100644
index 00000000..7f9c0929
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNLBListenerResponse.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class CreateNLBListenerResponse extends Response {
+
+ /** 监听器的ID */
+ @SerializedName("ListenerId")
+ private String listenerId;
+
+ public String getListenerId() {
+ return listenerId;
+ }
+
+ public void setListenerId(String listenerId) {
+ this.listenerId = listenerId;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerRequest.java
new file mode 100644
index 00000000..2b76abc4
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerRequest.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class CreateNetworkLoadBalancerRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 载均衡实例所属的VPC资源ID */
+ @NotEmpty
+ @UCloudParam("VPCId")
+ private String vpcId;
+
+ /** 负载均衡实例所属的子网资源ID */
+ @NotEmpty
+ @UCloudParam("SubnetId")
+ private String subnetId;
+
+ /** API 版本,限定取值 "v1.0"/"v2.0",默认值:"v2.0" */
+ @UCloudParam("ApiVersion")
+ private String apiVersion;
+
+ /** 负载均衡实例所属的业务组ID */
+ @UCloudParam("Tag")
+ private String tag;
+
+ /** 负载均衡实例的名称 限定字符长度:[1-255] 限定特殊字符,仅支持:-_. 默认值:nlb */
+ @UCloudParam("Name")
+ private String name;
+
+ /** 负载均衡实例的备注信息 限定字符长度:[0-255] */
+ @UCloudParam("Remark")
+ private String remark;
+
+ /** 负载均衡实例的IP协议,限定取值:"IPv4"/"IPv6"/"DualStack",默认值:"IPv4" */
+ @UCloudParam("IPVersion")
+ private String ipVersion;
+
+ /** 付费模式,限定取值:"Dynamic"/"Month"/"Year" */
+ @UCloudParam("ChargeType")
+ private String chargeType;
+
+ /** 购买的时长 */
+ @UCloudParam("Quantity")
+ private Integer quantity;
+
+ /** 代金券code */
+ @UCloudParam("CouponId")
+ private String couponId;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getVPCId() {
+ return vpcId;
+ }
+
+ public void setVPCId(String vpcId) {
+ this.vpcId = vpcId;
+ }
+
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ public void setSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ }
+
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ public void setApiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
+
+ public String getTag() {
+ return tag;
+ }
+
+ public void setTag(String tag) {
+ this.tag = tag;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public String getIPVersion() {
+ return ipVersion;
+ }
+
+ public void setIPVersion(String ipVersion) {
+ this.ipVersion = ipVersion;
+ }
+
+ public String getChargeType() {
+ return chargeType;
+ }
+
+ public void setChargeType(String chargeType) {
+ this.chargeType = chargeType;
+ }
+
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+
+ public String getCouponId() {
+ return couponId;
+ }
+
+ public void setCouponId(String couponId) {
+ this.couponId = couponId;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerResponse.java
new file mode 100644
index 00000000..1a8fdf21
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/CreateNetworkLoadBalancerResponse.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class CreateNetworkLoadBalancerResponse extends Response {
+
+ /** */
+ @SerializedName("NLBId")
+ private String nlbId;
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerRequest.java
new file mode 100644
index 00000000..04543ae9
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerRequest.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DeleteNLBListenerRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的ID */
+ @NotEmpty
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public String getListenerId() {
+ return listenerId;
+ }
+
+ public void setListenerId(String listenerId) {
+ this.listenerId = listenerId;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerResponse.java
new file mode 100644
index 00000000..c76d5f8c
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNLBListenerResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class DeleteNLBListenerResponse extends Response {}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerRequest.java
new file mode 100644
index 00000000..f877bc54
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerRequest.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DeleteNetworkLoadBalancerRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 删除NLB时释放绑定的EIP */
+ @UCloudParam("ReleaseEIP")
+ private Boolean releaseEIP;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public Boolean getReleaseEIP() {
+ return releaseEIP;
+ }
+
+ public void setReleaseEIP(Boolean releaseEIP) {
+ this.releaseEIP = releaseEIP;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerResponse.java
new file mode 100644
index 00000000..8c753dd2
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DeleteNetworkLoadBalancerResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class DeleteNetworkLoadBalancerResponse extends Response {}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersRequest.java
new file mode 100644
index 00000000..41c3c6c1
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersRequest.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DescribeNLBListenersRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID。未指定 ListenerId ,则描述指定的 LoadBalancerId 下的所有监听器 */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的ID */
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ /** 限制返回的监听器数量 */
+ @UCloudParam("Limit")
+ private Integer limit;
+
+ /** 设置监听器的偏移量 */
+ @UCloudParam("Offset")
+ private String offset;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public String getListenerId() {
+ return listenerId;
+ }
+
+ public void setListenerId(String listenerId) {
+ this.listenerId = listenerId;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public String getOffset() {
+ return offset;
+ }
+
+ public void setOffset(String offset) {
+ this.offset = offset;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersResponse.java
new file mode 100644
index 00000000..e5de692c
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/DescribeNLBListenersResponse.java
@@ -0,0 +1,442 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class DescribeNLBListenersResponse extends Response {
+
+ /** 全部个数 */
+ @SerializedName("TotalCount")
+ private Integer totalCount;
+
+ /** 返回的监听器列表 */
+ @SerializedName("Listeners")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+import java.util.List;
+
+public class DescribeNetworkLoadBalancersRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的转发类型 */
+ @UCloudParam("ForwardingMode")
+ private String forwardingMode;
+
+ /** 是否获取监听器和后端服务节点的详细信息 */
+ @UCloudParam("ShowDetail")
+ private Boolean showDetail;
+
+ /** 负载均衡实例的ID,数组 */
+ @UCloudParam("NLBIds")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class DescribeNetworkLoadBalancersResponse extends Response {
+
+ /** 满足条件的负载均衡实例总数 */
+ @SerializedName("TotalCount")
+ private Integer totalCount;
+
+ /** 返回的负载均衡实例列表 */
+ @SerializedName("NLBs")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class GetNetworkLoadBalancerPriceRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 付费模式 限定枚举值:"Year" / "Month"/ "Dynamic" 默认获取三种价格 */
+ @UCloudParam("ChargeType")
+ private String chargeType;
+
+ /** 负载均衡实例计费方式 限定枚举值:"Instance" / "LCU" 默认值:"Instance" */
+ @UCloudParam("PayMode")
+ private String payMode;
+
+ /** 购买时长 按小时购买(Dynamic)时无需此参数。月付时,此参数传 0,代表了购买至月末 默认 1 */
+ @UCloudParam("Quantity")
+ private Integer quantity;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getChargeType() {
+ return chargeType;
+ }
+
+ public void setChargeType(String chargeType) {
+ this.chargeType = chargeType;
+ }
+
+ public String getPayMode() {
+ return payMode;
+ }
+
+ public void setPayMode(String payMode) {
+ this.payMode = payMode;
+ }
+
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/GetNetworkLoadBalancerPriceResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/GetNetworkLoadBalancerPriceResponse.java
new file mode 100644
index 00000000..359f1153
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/GetNetworkLoadBalancerPriceResponse.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class GetNetworkLoadBalancerPriceResponse extends Response {
+
+ /** */
+ @SerializedName("Prices")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+import java.util.List;
+
+public class RemoveNLBTargetsRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的ID */
+ @NotEmpty
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ /** 服务节点的标识ID。单次请求不能超过 40 个 */
+ @NotEmpty
+ @UCloudParam("Ids")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class RemoveNLBTargetsResponse extends Response {}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeRequest.java
new file mode 100644
index 00000000..53ff9c96
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeRequest.java
@@ -0,0 +1,238 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class UpdateNLBListenerAttributeRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ /** 监听器的名称 */
+ @UCloudParam("Name")
+ private String name;
+
+ /** 监听器的备注信息 */
+ @UCloudParam("Remark")
+ private String remark;
+
+ /** 端口范围的起始端口 限定取值:[1-65535] 默认值 1,只有全端口模式支持修改 */
+ @UCloudParam("StartPort")
+ private Integer startPort;
+
+ /** 端口范围的结束端口 限定取值:[1-65535] 取值不小于起始端口 默认值 65535,只有全端口模式支持修改 */
+ @UCloudParam("EndPort")
+ private Integer endPort;
+
+ /**
+ * 负载均衡算法 限定取值:"RoundRobin"/"SourceHash"/"LeastConn"/"WeightLeastConn "/"WeightRoundRobin" 默认值
+ * "RoundRobin"
+ */
+ @UCloudParam("Scheduler")
+ private String scheduler;
+
+ /** 会话保持超时时间。单位:秒 说明: 限定取值:[60-900],0 表示不开启会话保持 默认值60 */
+ @UCloudParam("StickinessTimeout")
+ private Integer stickinessTimeout;
+
+ /** 传递源 IP 方法。限定取值:"" / "None" / "Toa",空字符串和 None 代表关闭。 */
+ @UCloudParam("ForwardSrcIPMethod")
+ private String forwardSrcIPMethod;
+
+ /** */
+ @UCloudParam("HealthCheckConfig")
+ private HealthCheckConfig healthCheckConfig;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public String getListenerId() {
+ return listenerId;
+ }
+
+ public void setListenerId(String listenerId) {
+ this.listenerId = listenerId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public Integer getStartPort() {
+ return startPort;
+ }
+
+ public void setStartPort(Integer startPort) {
+ this.startPort = startPort;
+ }
+
+ public Integer getEndPort() {
+ return endPort;
+ }
+
+ public void setEndPort(Integer endPort) {
+ this.endPort = endPort;
+ }
+
+ public String getScheduler() {
+ return scheduler;
+ }
+
+ public void setScheduler(String scheduler) {
+ this.scheduler = scheduler;
+ }
+
+ public Integer getStickinessTimeout() {
+ return stickinessTimeout;
+ }
+
+ public void setStickinessTimeout(Integer stickinessTimeout) {
+ this.stickinessTimeout = stickinessTimeout;
+ }
+
+ public String getForwardSrcIPMethod() {
+ return forwardSrcIPMethod;
+ }
+
+ public void setForwardSrcIPMethod(String forwardSrcIPMethod) {
+ this.forwardSrcIPMethod = forwardSrcIPMethod;
+ }
+
+ public HealthCheckConfig getHealthCheckConfig() {
+ return healthCheckConfig;
+ }
+
+ public void setHealthCheckConfig(HealthCheckConfig healthCheckConfig) {
+ this.healthCheckConfig = healthCheckConfig;
+ }
+
+ public static class HealthCheckConfig extends Request {
+
+ /** 是否开启健康检查功能。暂时不支持关闭,默认 true */
+ @UCloudParam("Enabled")
+ private Boolean enabled;
+
+ /** 健康检查探测端口 说明: 限定取值:[1-65535] */
+ @UCloudParam("Port")
+ private Integer port;
+
+ /** 健康检查方式 限定取值:"Port"/"UDP"/"Ping" 默认值:“Port” */
+ @UCloudParam("Type")
+ private String type;
+
+ /** UDP" 检查模式的请求字符串 */
+ @UCloudParam("ReqMsg")
+ private String reqMsg;
+
+ /** "UDP" 检查模式的预期响应字符串 */
+ @UCloudParam("ResMsg")
+ private String resMsg;
+
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public Integer getPort() {
+ return port;
+ }
+
+ public void setPort(Integer port) {
+ this.port = port;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getReqMsg() {
+ return reqMsg;
+ }
+
+ public void setReqMsg(String reqMsg) {
+ this.reqMsg = reqMsg;
+ }
+
+ public String getResMsg() {
+ return resMsg;
+ }
+
+ public void setResMsg(String resMsg) {
+ this.resMsg = resMsg;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeResponse.java
new file mode 100644
index 00000000..222062e7
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBListenerAttributeResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class UpdateNLBListenerAttributeResponse extends Response {}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBTargetsAttributeRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBTargetsAttributeRequest.java
new file mode 100644
index 00000000..a0adcc45
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNLBTargetsAttributeRequest.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+import java.util.List;
+
+public class UpdateNLBTargetsAttributeRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 监听器的ID */
+ @NotEmpty
+ @UCloudParam("ListenerId")
+ private String listenerId;
+
+ /** */
+ @UCloudParam("Targets")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class UpdateNLBTargetsAttributeResponse extends Response {}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeRequest.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeRequest.java
new file mode 100644
index 00000000..d5cc1f0e
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeRequest.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class UpdateNetworkLoadBalancerAttributeRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 负载均衡实例的ID */
+ @NotEmpty
+ @UCloudParam("NLBId")
+ private String nlbId;
+
+ /** 负载均衡实例的名称 */
+ @UCloudParam("Name")
+ private String name;
+
+ /** 负载均衡实例所属的业务组ID */
+ @UCloudParam("Tag")
+ private String tag;
+
+ /** 负载均衡实例的备注信息 */
+ @UCloudParam("Remark")
+ private String remark;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getNLBId() {
+ return nlbId;
+ }
+
+ public void setNLBId(String nlbId) {
+ this.nlbId = nlbId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getTag() {
+ return tag;
+ }
+
+ public void setTag(String tag) {
+ this.tag = tag;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+}
diff --git a/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeResponse.java b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeResponse.java
new file mode 100644
index 00000000..9278405e
--- /dev/null
+++ b/ucloud-sdk-java-nlb/src/main/java/cn/ucloud/nlb/models/UpdateNetworkLoadBalancerAttributeResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.nlb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class UpdateNetworkLoadBalancerAttributeResponse extends Response {}
diff --git a/ucloud-sdk-java-pathx/pom.xml b/ucloud-sdk-java-pathx/pom.xml
index ea2fb01d..db0edb12 100644
--- a/ucloud-sdk-java-pathx/pom.xml
+++ b/ucloud-sdk-java-pathx/pom.xml
@@ -6,18 +6,18 @@
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class AddUFileSSLCertRequest extends Request {
+
+ /** 存储桶名称,全局唯一 */
+ @NotEmpty
+ @UCloudParam("BucketName")
+ private String bucketName;
+
+ /** 域名 */
+ @NotEmpty
+ @UCloudParam("Domain")
+ private String domain;
+
+ /** SSL证书名称 */
+ @NotEmpty
+ @UCloudParam("CertificateName")
+ private String certificateName;
+
+ /**
+ * 填写SSL证书文件内容(PEM编码)。 证书文件内容填写格式:
+ *
+ * 如果您的业务场景仅需确保服务端证书可信,则证书文件需要包含服务器证书(①)和中间证书(②)。如果您的中间证书和服务器证书是两个文件,您可以在证书链配置项填写中间证书内容即可。
+ */
+ @UCloudParam("Certificate")
+ private String certificate;
+
+ /** 填写SSL证书私钥内容(PEM编码)。 */
+ @UCloudParam("CertificateKey")
+ private String certificateKey;
+
+ /** ussl证书的资源ID */
+ @UCloudParam("USSLId")
+ private String usslId;
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public String getCertificateName() {
+ return certificateName;
+ }
+
+ public void setCertificateName(String certificateName) {
+ this.certificateName = certificateName;
+ }
+
+ public String getCertificate() {
+ return certificate;
+ }
+
+ public void setCertificate(String certificate) {
+ this.certificate = certificate;
+ }
+
+ public String getCertificateKey() {
+ return certificateKey;
+ }
+
+ public void setCertificateKey(String certificateKey) {
+ this.certificateKey = certificateKey;
+ }
+
+ public String getUSSLId() {
+ return usslId;
+ }
+
+ public void setUSSLId(String usslId) {
+ this.usslId = usslId;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/AddUFileSSLCertResponse.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/AddUFileSSLCertResponse.java
new file mode 100644
index 00000000..37f33ede
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/AddUFileSSLCertResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class AddUFileSSLCertResponse extends Response {}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainRequest.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainRequest.java
new file mode 100644
index 00000000..c9af0805
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainRequest.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class BindBucketDomainRequest extends Request {
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 自定义域名对应的bucket名称 */
+ @NotEmpty
+ @UCloudParam("BucketName")
+ private String bucketName;
+
+ /** 自定义域名 */
+ @NotEmpty
+ @UCloudParam("Domain")
+ private String domain;
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainResponse.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainResponse.java
new file mode 100644
index 00000000..c2a9cd13
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/BindBucketDomainResponse.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class BindBucketDomainResponse extends Response {
+
+ /** 自定义域名对应的bucket名称 */
+ @SerializedName("BucketName")
+ private String bucketName;
+
+ /** 自定义域名对应的Bucket的Id */
+ @SerializedName("BucketId")
+ private String bucketId;
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getBucketId() {
+ return bucketId;
+ }
+
+ public void setBucketId(String bucketId) {
+ this.bucketId = bucketId;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertRequest.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertRequest.java
new file mode 100644
index 00000000..5b2bfc5c
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertRequest.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DeleteUFileSSLCertRequest extends Request {
+
+ /** 存储桶名称,全局唯一 */
+ @NotEmpty
+ @UCloudParam("BucketName")
+ private String bucketName;
+
+ /** 域名 */
+ @NotEmpty
+ @UCloudParam("Domain")
+ private String domain;
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertResponse.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertResponse.java
new file mode 100644
index 00000000..57f28747
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DeleteUFileSSLCertResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class DeleteUFileSSLCertResponse extends Response {}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertRequest.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertRequest.java
new file mode 100644
index 00000000..b531ba0d
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertRequest.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DescribeUFileSSLCertRequest extends Request {
+
+ /** 存储桶名称,全局唯一 */
+ @NotEmpty
+ @UCloudParam("BucketName")
+ private String bucketName;
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertResponse.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertResponse.java
new file mode 100644
index 00000000..f4af432a
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/DescribeUFileSSLCertResponse.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class DescribeUFileSSLCertResponse extends Response {
+
+ /** 证书列表 */
+ @SerializedName("DataSet")
+ private List Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class UpdateUFileSSLCertRequest extends Request {
+
+ /** 存储桶名称,全局唯一 */
+ @NotEmpty
+ @UCloudParam("BucketName")
+ private String bucketName;
+
+ /** 域名 */
+ @NotEmpty
+ @UCloudParam("Domain")
+ private String domain;
+
+ /** SSL证书名称 */
+ @NotEmpty
+ @UCloudParam("CertificateName")
+ private String certificateName;
+
+ /**
+ * 填写SSL证书文件内容(PEM编码)。 证书文件内容填写格式:
+ * 如果您的业务场景仅需确保服务端证书可信,则证书文件需要包含服务器证书(①)和中间证书(②)。如果您的中间证书和服务器证书是两个文件,您可以在证书链配置项填写中间证书内容即可。
+ */
+ @NotEmpty
+ @UCloudParam("Certificate")
+ private String certificate;
+
+ /** 填写SSL证书私钥内容(PEM编码)。 */
+ @NotEmpty
+ @UCloudParam("CertificateKey")
+ private String certificateKey;
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public String getCertificateName() {
+ return certificateName;
+ }
+
+ public void setCertificateName(String certificateName) {
+ this.certificateName = certificateName;
+ }
+
+ public String getCertificate() {
+ return certificate;
+ }
+
+ public void setCertificate(String certificate) {
+ this.certificate = certificate;
+ }
+
+ public String getCertificateKey() {
+ return certificateKey;
+ }
+
+ public void setCertificateKey(String certificateKey) {
+ this.certificateKey = certificateKey;
+ }
+}
diff --git a/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/UpdateUFileSSLCertResponse.java b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/UpdateUFileSSLCertResponse.java
new file mode 100644
index 00000000..5db188c4
--- /dev/null
+++ b/ucloud-sdk-java-ufile/src/main/java/cn/ucloud/ufile/models/UpdateUFileSSLCertResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.ufile.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class UpdateUFileSSLCertResponse extends Response {}
diff --git a/ucloud-sdk-java-ufs/pom.xml b/ucloud-sdk-java-ufs/pom.xml
index 389cdd86..79d26dcf 100644
--- a/ucloud-sdk-java-ufs/pom.xml
+++ b/ucloud-sdk-java-ufs/pom.xml
@@ -6,18 +6,18 @@
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.umem.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ResizeUDRedisBlockSizeRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Zone")
+ private String zone;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** spaceid */
+ @NotEmpty
+ @UCloudParam("SpaceId")
+ private String spaceId;
+
+ /** 分片id */
+ @NotEmpty
+ @UCloudParam("BlockId")
+ private String blockId;
+
+ /** 分片容量(单位GB) 4/8/12/16/20 */
+ @NotEmpty
+ @UCloudParam("BlockSize")
+ private Integer blockSize;
+
+ /** 任务执行时间戳,时间戳需满足未来一天时间范围内。默认不传或者值为0时,即为立即执行 */
+ @UCloudParam("StartTime")
+ private Integer startTime;
+
+ /** 是否为性能增强型。默认为false,或者不填,true为性能增强型。 */
+ @UCloudParam("HighPerformance")
+ private Boolean highPerformance;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getZone() {
+ return zone;
+ }
+
+ public void setZone(String zone) {
+ this.zone = zone;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getSpaceId() {
+ return spaceId;
+ }
+
+ public void setSpaceId(String spaceId) {
+ this.spaceId = spaceId;
+ }
+
+ public String getBlockId() {
+ return blockId;
+ }
+
+ public void setBlockId(String blockId) {
+ this.blockId = blockId;
+ }
+
+ public Integer getBlockSize() {
+ return blockSize;
+ }
+
+ public void setBlockSize(Integer blockSize) {
+ this.blockSize = blockSize;
+ }
+
+ public Integer getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Integer startTime) {
+ this.startTime = startTime;
+ }
+
+ public Boolean getHighPerformance() {
+ return highPerformance;
+ }
+
+ public void setHighPerformance(Boolean highPerformance) {
+ this.highPerformance = highPerformance;
+ }
+}
diff --git a/ucloud-sdk-java-umem/src/main/java/cn/ucloud/umem/models/ResizeUDRedisBlockSizeResponse.java b/ucloud-sdk-java-umem/src/main/java/cn/ucloud/umem/models/ResizeUDRedisBlockSizeResponse.java
new file mode 100644
index 00000000..6f8b68cd
--- /dev/null
+++ b/ucloud-sdk-java-umem/src/main/java/cn/ucloud/umem/models/ResizeUDRedisBlockSizeResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2021 UCloud Technology Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package cn.ucloud.umem.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class ResizeUDRedisBlockSizeResponse extends Response {}
diff --git a/ucloud-sdk-java-umongodb/pom.xml b/ucloud-sdk-java-umongodb/pom.xml
index cbf60411..aebe9220 100644
--- a/ucloud-sdk-java-umongodb/pom.xml
+++ b/ucloud-sdk-java-umongodb/pom.xml
@@ -6,18 +6,18 @@