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.tidb.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.tidb.models.CreateTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.CreateTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.DeleteTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.DeleteTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.GetTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.GetTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.GetTiDBClusterUhostSpecsRequest; +import cn.ucloud.tidb.models.GetTiDBClusterUhostSpecsResponse; +import cn.ucloud.tidb.models.ListTiDBClusterBackupRequest; +import cn.ucloud.tidb.models.ListTiDBClusterBackupResponse; +import cn.ucloud.tidb.models.ListTiDBClusterRestoreRequest; +import cn.ucloud.tidb.models.ListTiDBClusterRestoreResponse; +import cn.ucloud.tidb.models.ListTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.ListTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterBinlogRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterBinlogResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterNodeRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterNodeResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterTiFlashRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterTiFlashResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostDiskRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostDiskResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostSpecsRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostSpecsResponse; +import cn.ucloud.tidb.models.StartTiDBClusterBackupRequest; +import cn.ucloud.tidb.models.StartTiDBClusterBackupResponse; +import cn.ucloud.tidb.models.StartTiDBClusterRestoreRequest; +import cn.ucloud.tidb.models.StartTiDBClusterRestoreResponse; +import cn.ucloud.tidb.models.UpgradeTiDBClusterRequest; +import cn.ucloud.tidb.models.UpgradeTiDBClusterResponse; + +/** This client is used to call actions of **TiDB** service */ +public class TiDBClient extends DefaultClient implements TiDBClientInterface { + public TiDBClient(Config config, Credential credential) { + super(config, credential); + } + + /** + * CreateTiDBClusterService - 创建预付费实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateTiDBClusterServiceResponse createTiDBClusterService( + CreateTiDBClusterServiceRequest request) throws UCloudException { + request.setAction("CreateTiDBClusterService"); + return (CreateTiDBClusterServiceResponse) + this.invoke(request, CreateTiDBClusterServiceResponse.class); + } + + /** + * DeleteTiDBClusterService - 删除预付费实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteTiDBClusterServiceResponse deleteTiDBClusterService( + DeleteTiDBClusterServiceRequest request) throws UCloudException { + request.setAction("DeleteTiDBClusterService"); + return (DeleteTiDBClusterServiceResponse) + this.invoke(request, DeleteTiDBClusterServiceResponse.class); + } + + /** + * GetTiDBClusterService - 获取预付费实例详情 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetTiDBClusterServiceResponse getTiDBClusterService(GetTiDBClusterServiceRequest request) + throws UCloudException { + request.setAction("GetTiDBClusterService"); + return (GetTiDBClusterServiceResponse) + this.invoke(request, GetTiDBClusterServiceResponse.class); + } + + /** + * GetTiDBClusterUhostSpecs - 拉取预付费机器规格信息 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetTiDBClusterUhostSpecsResponse getTiDBClusterUhostSpecs( + GetTiDBClusterUhostSpecsRequest request) throws UCloudException { + request.setAction("GetTiDBClusterUhostSpecs"); + return (GetTiDBClusterUhostSpecsResponse) + this.invoke(request, GetTiDBClusterUhostSpecsResponse.class); + } + + /** + * ListTiDBClusterBackup - 列出按实例备份tidb的备份列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterBackupResponse listTiDBClusterBackup(ListTiDBClusterBackupRequest request) + throws UCloudException { + request.setAction("ListTiDBClusterBackup"); + return (ListTiDBClusterBackupResponse) + this.invoke(request, ListTiDBClusterBackupResponse.class); + } + + /** + * ListTiDBClusterRestore - 列出实例恢复列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterRestoreResponse listTiDBClusterRestore( + ListTiDBClusterRestoreRequest request) throws UCloudException { + request.setAction("ListTiDBClusterRestore"); + return (ListTiDBClusterRestoreResponse) + this.invoke(request, ListTiDBClusterRestoreResponse.class); + } + + /** + * ListTiDBClusterService - 拉取预付费实例列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterServiceResponse listTiDBClusterService( + ListTiDBClusterServiceRequest request) throws UCloudException { + request.setAction("ListTiDBClusterService"); + return (ListTiDBClusterServiceResponse) + this.invoke(request, ListTiDBClusterServiceResponse.class); + } + + /** + * ModifyTiDBClusterBinlog - 开启/关闭 binlog + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterBinlogResponse modifyTiDBClusterBinlog( + ModifyTiDBClusterBinlogRequest request) throws UCloudException { + request.setAction("ModifyTiDBClusterBinlog"); + return (ModifyTiDBClusterBinlogResponse) + this.invoke(request, ModifyTiDBClusterBinlogResponse.class); + } + + /** + * ModifyTiDBClusterNode - 集群扩缩容 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterNodeResponse modifyTiDBClusterNode(ModifyTiDBClusterNodeRequest request) + throws UCloudException { + request.setAction("ModifyTiDBClusterNode"); + return (ModifyTiDBClusterNodeResponse) + this.invoke(request, ModifyTiDBClusterNodeResponse.class); + } + + /** + * ModifyTiDBClusterTiFlash - 开启/关闭 tiflash + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterTiFlashResponse modifyTiDBClusterTiFlash( + ModifyTiDBClusterTiFlashRequest request) throws UCloudException { + request.setAction("ModifyTiDBClusterTiFlash"); + return (ModifyTiDBClusterTiFlashResponse) + this.invoke(request, ModifyTiDBClusterTiFlashResponse.class); + } + + /** + * ModifyTiDBClusterUhostDisk - 变更集群节点磁盘容量 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterUhostDiskResponse modifyTiDBClusterUhostDisk( + ModifyTiDBClusterUhostDiskRequest request) throws UCloudException { + request.setAction("ModifyTiDBClusterUhostDisk"); + return (ModifyTiDBClusterUhostDiskResponse) + this.invoke(request, ModifyTiDBClusterUhostDiskResponse.class); + } + + /** + * ModifyTiDBClusterUhostSpecs - 修改集群主机规格 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterUhostSpecsResponse modifyTiDBClusterUhostSpecs( + ModifyTiDBClusterUhostSpecsRequest request) throws UCloudException { + request.setAction("ModifyTiDBClusterUhostSpecs"); + return (ModifyTiDBClusterUhostSpecsResponse) + this.invoke(request, ModifyTiDBClusterUhostSpecsResponse.class); + } + + /** + * StartTiDBClusterBackup - 开始按实例计费的tidb的备份 + * + * @param request Request object + * @throws UCloudException Exception + */ + public StartTiDBClusterBackupResponse startTiDBClusterBackup( + StartTiDBClusterBackupRequest request) throws UCloudException { + request.setAction("StartTiDBClusterBackup"); + return (StartTiDBClusterBackupResponse) + this.invoke(request, StartTiDBClusterBackupResponse.class); + } + + /** + * StartTiDBClusterRestore - 开始按实例计费tidb的恢复 + * + * @param request Request object + * @throws UCloudException Exception + */ + public StartTiDBClusterRestoreResponse startTiDBClusterRestore( + StartTiDBClusterRestoreRequest request) throws UCloudException { + request.setAction("StartTiDBClusterRestore"); + return (StartTiDBClusterRestoreResponse) + this.invoke(request, StartTiDBClusterRestoreResponse.class); + } + + /** + * UpgradeTiDBCluster - 升级预付费tidb集群 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpgradeTiDBClusterResponse upgradeTiDBCluster(UpgradeTiDBClusterRequest request) + throws UCloudException { + request.setAction("UpgradeTiDBCluster"); + return (UpgradeTiDBClusterResponse) this.invoke(request, UpgradeTiDBClusterResponse.class); + } +} diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/client/TiDBClientInterface.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/client/TiDBClientInterface.java new file mode 100644 index 00000000..e1e18447 --- /dev/null +++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/client/TiDBClientInterface.java @@ -0,0 +1,186 @@ +/** + * 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.tidb.client; + +import cn.ucloud.common.client.Client; +import cn.ucloud.common.exception.UCloudException; +import cn.ucloud.tidb.models.CreateTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.CreateTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.DeleteTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.DeleteTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.GetTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.GetTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.GetTiDBClusterUhostSpecsRequest; +import cn.ucloud.tidb.models.GetTiDBClusterUhostSpecsResponse; +import cn.ucloud.tidb.models.ListTiDBClusterBackupRequest; +import cn.ucloud.tidb.models.ListTiDBClusterBackupResponse; +import cn.ucloud.tidb.models.ListTiDBClusterRestoreRequest; +import cn.ucloud.tidb.models.ListTiDBClusterRestoreResponse; +import cn.ucloud.tidb.models.ListTiDBClusterServiceRequest; +import cn.ucloud.tidb.models.ListTiDBClusterServiceResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterBinlogRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterBinlogResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterNodeRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterNodeResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterTiFlashRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterTiFlashResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostDiskRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostDiskResponse; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostSpecsRequest; +import cn.ucloud.tidb.models.ModifyTiDBClusterUhostSpecsResponse; +import cn.ucloud.tidb.models.StartTiDBClusterBackupRequest; +import cn.ucloud.tidb.models.StartTiDBClusterBackupResponse; +import cn.ucloud.tidb.models.StartTiDBClusterRestoreRequest; +import cn.ucloud.tidb.models.StartTiDBClusterRestoreResponse; +import cn.ucloud.tidb.models.UpgradeTiDBClusterRequest; +import cn.ucloud.tidb.models.UpgradeTiDBClusterResponse; + +/** This client is used to call actions of **TiDB** service */ +public interface TiDBClientInterface extends Client { + + /** + * CreateTiDBClusterService - 创建预付费实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public CreateTiDBClusterServiceResponse createTiDBClusterService( + CreateTiDBClusterServiceRequest request) throws UCloudException; + + /** + * DeleteTiDBClusterService - 删除预付费实例 + * + * @param request Request object + * @throws UCloudException Exception + */ + public DeleteTiDBClusterServiceResponse deleteTiDBClusterService( + DeleteTiDBClusterServiceRequest request) throws UCloudException; + + /** + * GetTiDBClusterService - 获取预付费实例详情 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetTiDBClusterServiceResponse getTiDBClusterService(GetTiDBClusterServiceRequest request) + throws UCloudException; + + /** + * GetTiDBClusterUhostSpecs - 拉取预付费机器规格信息 + * + * @param request Request object + * @throws UCloudException Exception + */ + public GetTiDBClusterUhostSpecsResponse getTiDBClusterUhostSpecs( + GetTiDBClusterUhostSpecsRequest request) throws UCloudException; + + /** + * ListTiDBClusterBackup - 列出按实例备份tidb的备份列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterBackupResponse listTiDBClusterBackup(ListTiDBClusterBackupRequest request) + throws UCloudException; + + /** + * ListTiDBClusterRestore - 列出实例恢复列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterRestoreResponse listTiDBClusterRestore( + ListTiDBClusterRestoreRequest request) throws UCloudException; + + /** + * ListTiDBClusterService - 拉取预付费实例列表 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ListTiDBClusterServiceResponse listTiDBClusterService( + ListTiDBClusterServiceRequest request) throws UCloudException; + + /** + * ModifyTiDBClusterBinlog - 开启/关闭 binlog + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterBinlogResponse modifyTiDBClusterBinlog( + ModifyTiDBClusterBinlogRequest request) throws UCloudException; + + /** + * ModifyTiDBClusterNode - 集群扩缩容 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterNodeResponse modifyTiDBClusterNode(ModifyTiDBClusterNodeRequest request) + throws UCloudException; + + /** + * ModifyTiDBClusterTiFlash - 开启/关闭 tiflash + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterTiFlashResponse modifyTiDBClusterTiFlash( + ModifyTiDBClusterTiFlashRequest request) throws UCloudException; + + /** + * ModifyTiDBClusterUhostDisk - 变更集群节点磁盘容量 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterUhostDiskResponse modifyTiDBClusterUhostDisk( + ModifyTiDBClusterUhostDiskRequest request) throws UCloudException; + + /** + * ModifyTiDBClusterUhostSpecs - 修改集群主机规格 + * + * @param request Request object + * @throws UCloudException Exception + */ + public ModifyTiDBClusterUhostSpecsResponse modifyTiDBClusterUhostSpecs( + ModifyTiDBClusterUhostSpecsRequest request) throws UCloudException; + + /** + * StartTiDBClusterBackup - 开始按实例计费的tidb的备份 + * + * @param request Request object + * @throws UCloudException Exception + */ + public StartTiDBClusterBackupResponse startTiDBClusterBackup( + StartTiDBClusterBackupRequest request) throws UCloudException; + + /** + * StartTiDBClusterRestore - 开始按实例计费tidb的恢复 + * + * @param request Request object + * @throws UCloudException Exception + */ + public StartTiDBClusterRestoreResponse startTiDBClusterRestore( + StartTiDBClusterRestoreRequest request) throws UCloudException; + + /** + * UpgradeTiDBCluster - 升级预付费tidb集群 + * + * @param request Request object + * @throws UCloudException Exception + */ + public UpgradeTiDBClusterResponse upgradeTiDBCluster(UpgradeTiDBClusterRequest request) + throws UCloudException; +} diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/CreateTiDBClusterServiceRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/CreateTiDBClusterServiceRequest.java new file mode 100644 index 00000000..d4e63947 --- /dev/null +++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/CreateTiDBClusterServiceRequest.java @@ -0,0 +1,463 @@ +/** + * 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.tidb.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 CreateTiDBClusterServiceRequest 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;
+
+ /** 集群名称 */
+ @NotEmpty
+ @UCloudParam("Name")
+ private String name;
+
+ /** 集群密码 */
+ @NotEmpty
+ @UCloudParam("Password")
+ private String password;
+
+ /** VPC id */
+ @NotEmpty
+ @UCloudParam("VPCId")
+ private String vpcId;
+
+ /** 子网ID */
+ @NotEmpty
+ @UCloudParam("SubnetId")
+ private String subnetId;
+
+ /** 公网Ulb ID */
+ @NotEmpty
+ @UCloudParam("PubUlbId")
+ private String pubUlbId;
+
+ /** 容灾类型:10:同可用区,20:跨可用区,默认是同可用区 */
+ @NotEmpty
+ @UCloudParam("DTType")
+ private String dtType;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ 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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class CreateTiDBClusterServiceResponse extends Response {
+
+ /** 详情详情 */
+ @SerializedName("Data")
+ private ServiceData data;
+
+ public ServiceData getData() {
+ return data;
+ }
+
+ public void setData(ServiceData data) {
+ this.data = data;
+ }
+
+ public static class ServiceData extends Response {
+
+ /** 服务ID */
+ @SerializedName("Id")
+ private String id;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceRequest.java
new file mode 100644
index 00000000..63702ee2
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceRequest.java
@@ -0,0 +1,88 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class DeleteTiDBClusterServiceRequest 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;
+
+ /** 集群ID */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 是否清理备份数据 */
+ @UCloudParam("DeleteBackup")
+ private Boolean deleteBackup;
+
+ 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 getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Boolean getDeleteBackup() {
+ return deleteBackup;
+ }
+
+ public void setDeleteBackup(Boolean deleteBackup) {
+ this.deleteBackup = deleteBackup;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceResponse.java
new file mode 100644
index 00000000..38375572
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/DeleteTiDBClusterServiceResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class DeleteTiDBClusterServiceResponse extends Response {
+
+ /** 集群ID */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceRequest.java
new file mode 100644
index 00000000..2efee153
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceRequest.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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class GetTiDBClusterServiceRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @UCloudParam("Zone")
+ private String zone;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 实例ID */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ 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 getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceResponse.java
new file mode 100644
index 00000000..e9faa45c
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterServiceResponse.java
@@ -0,0 +1,217 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class GetTiDBClusterServiceResponse extends Response {
+
+ /** 集群详情 */
+ @SerializedName("Data")
+ private UTiDBServiceData data;
+
+ public UTiDBServiceData getData() {
+ return data;
+ }
+
+ public void setData(UTiDBServiceData data) {
+ this.data = data;
+ }
+
+ public static class UTiDBServiceData extends Response {
+
+ /** grafana地址 */
+ @SerializedName("GrafanaUrl")
+ private String grafanaUrl;
+
+ /** 集群ID */
+ @SerializedName("Id")
+ private String id;
+
+ /** 集群名称 */
+ @SerializedName("Name")
+ private String name;
+
+ /** 集群ip */
+ @SerializedName("Ip")
+ private String ip;
+
+ /** 集群端口 */
+ @SerializedName("Port")
+ private Integer port;
+
+ /** 集群状态 */
+ @SerializedName("State")
+ private String state;
+
+ /** 集群TiFlash服务状态 */
+ @SerializedName("TiFlashState")
+ private String tiFlashState;
+
+ /** 集群Binlog服务状态 */
+ @SerializedName("BinlogState")
+ private String binlogState;
+
+ /** 自动备份状态 */
+ @SerializedName("AutoBackup")
+ private String autoBackup;
+
+ /** 私有网Id */
+ @SerializedName("VPCId")
+ private String vpcId;
+
+ /** 子网ID */
+ @SerializedName("SubnetId")
+ private String subnetId;
+
+ /** 集群版本 */
+ @SerializedName("Version")
+ private String version;
+
+ /** 容灾类型 */
+ @SerializedName("DTType")
+ private Integer dtType;
+
+ /** Dashboard地址 */
+ @SerializedName("DashboardUrl")
+ private String dashboardUrl;
+
+ /** 创建时间 */
+ @SerializedName("CreateTime")
+ private Integer createTime;
+
+ public String getGrafanaUrl() {
+ return grafanaUrl;
+ }
+
+ public void setGrafanaUrl(String grafanaUrl) {
+ this.grafanaUrl = grafanaUrl;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getIp() {
+ return ip;
+ }
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public Integer getPort() {
+ return port;
+ }
+
+ public void setPort(Integer port) {
+ this.port = port;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getTiFlashState() {
+ return tiFlashState;
+ }
+
+ public void setTiFlashState(String tiFlashState) {
+ this.tiFlashState = tiFlashState;
+ }
+
+ public String getBinlogState() {
+ return binlogState;
+ }
+
+ public void setBinlogState(String binlogState) {
+ this.binlogState = binlogState;
+ }
+
+ public String getAutoBackup() {
+ return autoBackup;
+ }
+
+ public void setAutoBackup(String autoBackup) {
+ this.autoBackup = autoBackup;
+ }
+
+ 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 getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public Integer getDTType() {
+ return dtType;
+ }
+
+ public void setDTType(Integer dtType) {
+ this.dtType = dtType;
+ }
+
+ public String getDashboardUrl() {
+ return dashboardUrl;
+ }
+
+ public void setDashboardUrl(String dashboardUrl) {
+ this.dashboardUrl = dashboardUrl;
+ }
+
+ public Integer getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Integer createTime) {
+ this.createTime = createTime;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterUhostSpecsRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterUhostSpecsRequest.java
new file mode 100644
index 00000000..92ba2f4d
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/GetTiDBClusterUhostSpecsRequest.java
@@ -0,0 +1,64 @@
+/**
+ * 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.tidb.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 GetTiDBClusterUhostSpecsRequest 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;
+
+ /** 节点类型列表 */
+ @NotEmpty
+ @UCloudParam("NodeTypes")
+ 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.tidb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class GetTiDBClusterUhostSpecsResponse extends Response {
+
+ /** 详情 */
+ @SerializedName("Data")
+ 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ListTiDBClusterBackupRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 实例id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 返回数据长度,默认为30,最大30 */
+ @UCloudParam("Limit")
+ private Integer limit;
+
+ /** 列表起始位置偏移量,默认为0 */
+ @UCloudParam("Offset")
+ private Integer offset;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public Integer getOffset() {
+ return offset;
+ }
+
+ public void setOffset(Integer offset) {
+ this.offset = offset;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterBackupResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterBackupResponse.java
new file mode 100644
index 00000000..c0ed0c28
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterBackupResponse.java
@@ -0,0 +1,121 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ListTiDBClusterBackupResponse extends Response {
+
+ /** 备份信息 */
+ @SerializedName("Data")
+ private BackupData data;
+
+ /** 备份总数 */
+ @SerializedName("TotalCount")
+ private Integer totalCount;
+
+ public BackupData getData() {
+ return data;
+ }
+
+ public void setData(BackupData data) {
+ this.data = data;
+ }
+
+ public Integer getTotalCount() {
+ return totalCount;
+ }
+
+ public void setTotalCount(Integer totalCount) {
+ this.totalCount = totalCount;
+ }
+
+ public static class BackupData extends Response {
+
+ /** 备份 ID */
+ @SerializedName("BackupId")
+ private String backupId;
+
+ /** 备份起始时间 */
+ @SerializedName("BackupStartTime")
+ private Integer backupStartTime;
+
+ /** 备份结束时间 */
+ @SerializedName("BackupEndTime")
+ private Integer backupEndTime;
+
+ /** 备份文件大小,单位:MB */
+ @SerializedName("BackupSize")
+ private Integer backupSize;
+
+ /** 备份状态 */
+ @SerializedName("State")
+ private String state;
+
+ /** 备份方式 */
+ @SerializedName("BackupType")
+ private String backupType;
+
+ public String getBackupId() {
+ return backupId;
+ }
+
+ public void setBackupId(String backupId) {
+ this.backupId = backupId;
+ }
+
+ public Integer getBackupStartTime() {
+ return backupStartTime;
+ }
+
+ public void setBackupStartTime(Integer backupStartTime) {
+ this.backupStartTime = backupStartTime;
+ }
+
+ public Integer getBackupEndTime() {
+ return backupEndTime;
+ }
+
+ public void setBackupEndTime(Integer backupEndTime) {
+ this.backupEndTime = backupEndTime;
+ }
+
+ public Integer getBackupSize() {
+ return backupSize;
+ }
+
+ public void setBackupSize(Integer backupSize) {
+ this.backupSize = backupSize;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getBackupType() {
+ return backupType;
+ }
+
+ public void setBackupType(String backupType) {
+ this.backupType = backupType;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreRequest.java
new file mode 100644
index 00000000..825a6f8a
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreRequest.java
@@ -0,0 +1,74 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ListTiDBClusterRestoreRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 实例的服务Id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 返回数据长度,默认为30,最大30 */
+ @NotEmpty
+ @UCloudParam("Limit")
+ private Integer limit;
+
+ /** 列表起始位置偏移量,默认为0 */
+ @NotEmpty
+ @UCloudParam("Offset")
+ private Integer offset;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public Integer getOffset() {
+ return offset;
+ }
+
+ public void setOffset(Integer offset) {
+ this.offset = offset;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreResponse.java
new file mode 100644
index 00000000..8566180b
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterRestoreResponse.java
@@ -0,0 +1,121 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ListTiDBClusterRestoreResponse extends Response {
+
+ /** 恢复信息 */
+ @SerializedName("RestoreData")
+ private RestoreData restoreData;
+
+ public RestoreData getRestoreData() {
+ return restoreData;
+ }
+
+ public void setRestoreData(RestoreData restoreData) {
+ this.restoreData = restoreData;
+ }
+
+ public static class RestoreData extends Response {
+
+ /** 恢复的Id */
+ @SerializedName("RestoreId")
+ private String restoreId;
+
+ /** 源实例Id */
+ @SerializedName("SourceServiceId")
+ private String sourceServiceId;
+
+ /** 目标实例Id */
+ @SerializedName("TargetServiceId")
+ private String targetServiceId;
+
+ /** 备份Id */
+ @SerializedName("BackupId")
+ private String backupId;
+
+ /** 恢复的起始时间 */
+ @SerializedName("RestoreStartTime")
+ private Integer restoreStartTime;
+
+ /** 恢复的结束时间 */
+ @SerializedName("RestoreEndTime")
+ private Integer restoreEndTime;
+
+ /** 恢复的状态 */
+ @SerializedName("State")
+ private String state;
+
+ public String getRestoreId() {
+ return restoreId;
+ }
+
+ public void setRestoreId(String restoreId) {
+ this.restoreId = restoreId;
+ }
+
+ public String getSourceServiceId() {
+ return sourceServiceId;
+ }
+
+ public void setSourceServiceId(String sourceServiceId) {
+ this.sourceServiceId = sourceServiceId;
+ }
+
+ public String getTargetServiceId() {
+ return targetServiceId;
+ }
+
+ public void setTargetServiceId(String targetServiceId) {
+ this.targetServiceId = targetServiceId;
+ }
+
+ public String getBackupId() {
+ return backupId;
+ }
+
+ public void setBackupId(String backupId) {
+ this.backupId = backupId;
+ }
+
+ public Integer getRestoreStartTime() {
+ return restoreStartTime;
+ }
+
+ public void setRestoreStartTime(Integer restoreStartTime) {
+ this.restoreStartTime = restoreStartTime;
+ }
+
+ public Integer getRestoreEndTime() {
+ return restoreEndTime;
+ }
+
+ public void setRestoreEndTime(Integer restoreEndTime) {
+ this.restoreEndTime = restoreEndTime;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceRequest.java
new file mode 100644
index 00000000..da3a2e07
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceRequest.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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ListTiDBClusterServiceRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @UCloudParam("Zone")
+ private String zone;
+
+ /**
+ * 项目ID。不填写为默认项目,子帐号必须填写。
+ * 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
+ */
+ @UCloudParam("ProjectId")
+ private String projectId;
+
+ /** 列表起始位置偏移量,默认为0 */
+ @UCloudParam("Offset")
+ private String offset;
+
+ /** 返回数据长度,默认为20,最大100 */
+ @UCloudParam("Limit")
+ private String limit;
+
+ 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 getOffset() {
+ return offset;
+ }
+
+ public void setOffset(String offset) {
+ this.offset = offset;
+ }
+
+ public String getLimit() {
+ return limit;
+ }
+
+ public void setLimit(String limit) {
+ this.limit = limit;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceResponse.java
new file mode 100644
index 00000000..ac86d9ca
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ListTiDBClusterServiceResponse.java
@@ -0,0 +1,218 @@
+/**
+ * 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.tidb.models;
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class ListTiDBClusterServiceResponse extends Response {
+
+ /** 集群列表 */
+ @SerializedName("Data")
+ 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ModifyTiDBClusterBinlogRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** TIDB service id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** binlog 状态 */
+ @NotEmpty
+ @UCloudParam("Enable")
+ private String enable;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ private NodeConfig nodeConfig;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getEnable() {
+ return enable;
+ }
+
+ public void setEnable(String enable) {
+ this.enable = enable;
+ }
+
+ public NodeConfig getNodeConfig() {
+ return nodeConfig;
+ }
+
+ public void setNodeConfig(NodeConfig nodeConfig) {
+ this.nodeConfig = nodeConfig;
+ }
+
+ public static class NodeConfig extends Request {
+
+ /** 节点角色 */
+ @NotEmpty
+ @UCloudParam("ServerType")
+ private String serverType;
+
+ /** 节点个数 */
+ @NotEmpty
+ @UCloudParam("NodeCount")
+ private Integer nodeCount;
+
+ /** 节点配置ID */
+ @NotEmpty
+ @UCloudParam("ConfigId")
+ private String configId;
+
+ /** 节点磁盘大小 */
+ @NotEmpty
+ @UCloudParam("DiskSize")
+ private Integer diskSize;
+
+ public String getServerType() {
+ return serverType;
+ }
+
+ public void setServerType(String serverType) {
+ this.serverType = serverType;
+ }
+
+ public Integer getNodeCount() {
+ return nodeCount;
+ }
+
+ public void setNodeCount(Integer nodeCount) {
+ this.nodeCount = nodeCount;
+ }
+
+ public String getConfigId() {
+ return configId;
+ }
+
+ public void setConfigId(String configId) {
+ this.configId = configId;
+ }
+
+ public Integer getDiskSize() {
+ return diskSize;
+ }
+
+ public void setDiskSize(Integer diskSize) {
+ this.diskSize = diskSize;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterBinlogResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterBinlogResponse.java
new file mode 100644
index 00000000..5ca8b670
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterBinlogResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ModifyTiDBClusterBinlogResponse extends Response {
+
+ /** ServiceId */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeRequest.java
new file mode 100644
index 00000000..eb0f50b9
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeRequest.java
@@ -0,0 +1,139 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ModifyTiDBClusterNodeRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** TIDB service id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 扩缩类型,枚举值为:SCALEOUT,扩容;SCALEIN,缩容; */
+ @NotEmpty
+ @UCloudParam("ScaleType")
+ private String scaleType;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ private NodeConfig nodeConfig;
+
+ /** 缩容节点ID,缩容时必填 */
+ @UCloudParam("ServerId")
+ private String serverId;
+
+ /** 开始时间 */
+ @UCloudParam("StartTime")
+ private Integer startTime;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getScaleType() {
+ return scaleType;
+ }
+
+ public void setScaleType(String scaleType) {
+ this.scaleType = scaleType;
+ }
+
+ public NodeConfig getNodeConfig() {
+ return nodeConfig;
+ }
+
+ public void setNodeConfig(NodeConfig nodeConfig) {
+ this.nodeConfig = nodeConfig;
+ }
+
+ public String getServerId() {
+ return serverId;
+ }
+
+ public void setServerId(String serverId) {
+ this.serverId = serverId;
+ }
+
+ public Integer getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Integer startTime) {
+ this.startTime = startTime;
+ }
+
+ public static class NodeConfig extends Request {
+
+ /** 节点角色 */
+ @NotEmpty
+ @UCloudParam("ServerType")
+ private String serverType;
+
+ /** 节点个数 */
+ @NotEmpty
+ @UCloudParam("NodeCount")
+ private Integer nodeCount;
+
+ /** 节点配置ID */
+ @NotEmpty
+ @UCloudParam("ConfigId")
+ private String configId;
+
+ public String getServerType() {
+ return serverType;
+ }
+
+ public void setServerType(String serverType) {
+ this.serverType = serverType;
+ }
+
+ public Integer getNodeCount() {
+ return nodeCount;
+ }
+
+ public void setNodeCount(Integer nodeCount) {
+ this.nodeCount = nodeCount;
+ }
+
+ public String getConfigId() {
+ return configId;
+ }
+
+ public void setConfigId(String configId) {
+ this.configId = configId;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeResponse.java
new file mode 100644
index 00000000..348ca02e
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterNodeResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ModifyTiDBClusterNodeResponse extends Response {
+
+ /** ServiceId */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashRequest.java
new file mode 100644
index 00000000..af822d59
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashRequest.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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ModifyTiDBClusterTiFlashRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** TIDB service id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** tiflash 状态 */
+ @NotEmpty
+ @UCloudParam("Enable")
+ private String enable;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ private NodeConfig nodeConfig;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getEnable() {
+ return enable;
+ }
+
+ public void setEnable(String enable) {
+ this.enable = enable;
+ }
+
+ public NodeConfig getNodeConfig() {
+ return nodeConfig;
+ }
+
+ public void setNodeConfig(NodeConfig nodeConfig) {
+ this.nodeConfig = nodeConfig;
+ }
+
+ public static class NodeConfig extends Request {
+
+ /** 节点角色 */
+ @NotEmpty
+ @UCloudParam("ServerType")
+ private String serverType;
+
+ /** 节点个数 */
+ @NotEmpty
+ @UCloudParam("NodeCount")
+ private Integer nodeCount;
+
+ /** 节点配置ID */
+ @NotEmpty
+ @UCloudParam("ConfigId")
+ private String configId;
+
+ /** 节点磁盘大小 */
+ @NotEmpty
+ @UCloudParam("DiskSize")
+ private Integer diskSize;
+
+ public String getServerType() {
+ return serverType;
+ }
+
+ public void setServerType(String serverType) {
+ this.serverType = serverType;
+ }
+
+ public Integer getNodeCount() {
+ return nodeCount;
+ }
+
+ public void setNodeCount(Integer nodeCount) {
+ this.nodeCount = nodeCount;
+ }
+
+ public String getConfigId() {
+ return configId;
+ }
+
+ public void setConfigId(String configId) {
+ this.configId = configId;
+ }
+
+ public Integer getDiskSize() {
+ return diskSize;
+ }
+
+ public void setDiskSize(Integer diskSize) {
+ this.diskSize = diskSize;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashResponse.java
new file mode 100644
index 00000000..3e3e2b4b
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterTiFlashResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ModifyTiDBClusterTiFlashResponse extends Response {
+
+ /** ServiceId */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskRequest.java
new file mode 100644
index 00000000..cf8ad0ea
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskRequest.java
@@ -0,0 +1,114 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ModifyTiDBClusterUhostDiskRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 实例ID */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 扩缩类型,枚举值为:SCALEOUT,扩容;SCALEIN,缩容; */
+ @NotEmpty
+ @UCloudParam("ScaleType")
+ private String scaleType;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ private NodeConfig nodeConfig;
+
+ /** 开始时间 */
+ @UCloudParam("StartTime")
+ private Integer startTime;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getScaleType() {
+ return scaleType;
+ }
+
+ public void setScaleType(String scaleType) {
+ this.scaleType = scaleType;
+ }
+
+ public NodeConfig getNodeConfig() {
+ return nodeConfig;
+ }
+
+ public void setNodeConfig(NodeConfig nodeConfig) {
+ this.nodeConfig = nodeConfig;
+ }
+
+ public Integer getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Integer startTime) {
+ this.startTime = startTime;
+ }
+
+ public static class NodeConfig extends Request {
+
+ /** 节点角色 */
+ @NotEmpty
+ @UCloudParam("ServerType")
+ private String serverType;
+
+ /** 磁盘容量 */
+ @NotEmpty
+ @UCloudParam("DiskSize")
+ private Integer diskSize;
+
+ public String getServerType() {
+ return serverType;
+ }
+
+ public void setServerType(String serverType) {
+ this.serverType = serverType;
+ }
+
+ public Integer getDiskSize() {
+ return diskSize;
+ }
+
+ public void setDiskSize(Integer diskSize) {
+ this.diskSize = diskSize;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskResponse.java
new file mode 100644
index 00000000..ca70e238
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostDiskResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ModifyTiDBClusterUhostDiskResponse extends Response {
+
+ /** 实例ID */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsRequest.java
new file mode 100644
index 00000000..fcbf4609
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsRequest.java
@@ -0,0 +1,101 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class ModifyTiDBClusterUhostSpecsRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 实例ID */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** */
+ @UCloudParam("NodeConfig")
+ private NodeConfig nodeConfig;
+
+ /** 开始时间 */
+ @UCloudParam("StartTime")
+ private Integer startTime;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public NodeConfig getNodeConfig() {
+ return nodeConfig;
+ }
+
+ public void setNodeConfig(NodeConfig nodeConfig) {
+ this.nodeConfig = nodeConfig;
+ }
+
+ public Integer getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Integer startTime) {
+ this.startTime = startTime;
+ }
+
+ public static class NodeConfig extends Request {
+
+ /** 节点角色 */
+ @NotEmpty
+ @UCloudParam("ServerType")
+ private String serverType;
+
+ /** 机器规格ID */
+ @NotEmpty
+ @UCloudParam("ConfigId")
+ private String configId;
+
+ public String getServerType() {
+ return serverType;
+ }
+
+ public void setServerType(String serverType) {
+ this.serverType = serverType;
+ }
+
+ public String getConfigId() {
+ return configId;
+ }
+
+ public void setConfigId(String configId) {
+ this.configId = configId;
+ }
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsResponse.java
new file mode 100644
index 00000000..5cafd03a
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/ModifyTiDBClusterUhostSpecsResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class ModifyTiDBClusterUhostSpecsResponse extends Response {
+
+ /** 实例ID */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupRequest.java
new file mode 100644
index 00000000..c607573f
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupRequest.java
@@ -0,0 +1,72 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class StartTiDBClusterBackupRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 实例的服务Id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ /** 备份时间 */
+ @UCloudParam("BackupTs")
+ private String backupTs;
+
+ /** 备份过滤规则 */
+ @UCloudParam("BackupFilter")
+ private String backupFilter;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getBackupTs() {
+ return backupTs;
+ }
+
+ public void setBackupTs(String backupTs) {
+ this.backupTs = backupTs;
+ }
+
+ public String getBackupFilter() {
+ return backupFilter;
+ }
+
+ public void setBackupFilter(String backupFilter) {
+ this.backupFilter = backupFilter;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupResponse.java
new file mode 100644
index 00000000..8b38aecc
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterBackupResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class StartTiDBClusterBackupResponse extends Response {
+
+ /** 备份id */
+ @SerializedName("BackupId")
+ private String backupId;
+
+ /** 实例id */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getBackupId() {
+ return backupId;
+ }
+
+ public void setBackupId(String backupId) {
+ this.backupId = backupId;
+ }
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreRequest.java
new file mode 100644
index 00000000..08fda14f
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreRequest.java
@@ -0,0 +1,61 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class StartTiDBClusterRestoreRequest extends Request {
+
+ /** 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) */
+ @NotEmpty
+ @UCloudParam("Region")
+ private String region;
+
+ /** 备份id */
+ @NotEmpty
+ @UCloudParam("BackupId")
+ private String backupId;
+
+ /** 实例id */
+ @NotEmpty
+ @UCloudParam("Id")
+ private String id;
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getBackupId() {
+ return backupId;
+ }
+
+ public void setBackupId(String backupId) {
+ this.backupId = backupId;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreResponse.java
new file mode 100644
index 00000000..8ddfcc74
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/StartTiDBClusterRestoreResponse.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.tidb.models;
+
+
+import cn.ucloud.common.response.Response;
+
+import com.google.gson.annotations.SerializedName;
+
+public class StartTiDBClusterRestoreResponse extends Response {
+
+ /** 恢复任务Id */
+ @SerializedName("RestoreId")
+ private String restoreId;
+
+ /** 实例id */
+ @SerializedName("ServiceId")
+ private String serviceId;
+
+ public String getRestoreId() {
+ return restoreId;
+ }
+
+ public void setRestoreId(String restoreId) {
+ this.restoreId = restoreId;
+ }
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterRequest.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterRequest.java
new file mode 100644
index 00000000..9864b63f
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterRequest.java
@@ -0,0 +1,88 @@
+/**
+ * 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.tidb.models;
+
+
+import cn.ucloud.common.annotation.NotEmpty;
+import cn.ucloud.common.annotation.UCloudParam;
+import cn.ucloud.common.request.Request;
+
+public class UpgradeTiDBClusterRequest 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("Id")
+ private String id;
+
+ /** 目标版本号 */
+ @NotEmpty
+ @UCloudParam("DbVersion")
+ private String dbVersion;
+
+ /** 任务开始时间 */
+ @UCloudParam("StartTime")
+ private Integer startTime;
+
+ 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 getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDbVersion() {
+ return dbVersion;
+ }
+
+ public void setDbVersion(String dbVersion) {
+ this.dbVersion = dbVersion;
+ }
+
+ public Integer getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Integer startTime) {
+ this.startTime = startTime;
+ }
+}
diff --git a/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterResponse.java b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterResponse.java
new file mode 100644
index 00000000..ecfdcaf6
--- /dev/null
+++ b/ucloud-sdk-java-tidb/src/main/java/cn/ucloud/tidb/models/UpgradeTiDBClusterResponse.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.tidb.models;
+
+
+
+import cn.ucloud.common.response.Response;
+
+public class UpgradeTiDBClusterResponse extends Response {}
diff --git a/ucloud-sdk-java-uaccount/pom.xml b/ucloud-sdk-java-uaccount/pom.xml
index 89a06c72..141a2354 100644
--- a/ucloud-sdk-java-uaccount/pom.xml
+++ b/ucloud-sdk-java-uaccount/pom.xml
@@ -5,19 +5,19 @@