All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.cdb.v20170320.models.UpgradeDBInstanceRequest Maven / Gradle / Ivy

/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * 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 com.tencentcloudapi.cdb.v20170320.models;

import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;

public class UpgradeDBInstanceRequest extends AbstractModel{

    /**
    * 实例 ID,格式如:cdb-c1nl9rpv 或者 cdbro-c1nl9rpv。与云数据库控制台页面中显示的实例 ID 相同,可使用 [查询实例列表](https://cloud.tencent.com/document/api/236/15872) 接口获取,其值为输出参数中字段 InstanceId 的值。
    */
    @SerializedName("InstanceId")
    @Expose
    private String InstanceId;

    /**
    * 升级后的内存大小,单位:MB,为保证传入 Memory 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的内存规格。
    */
    @SerializedName("Memory")
    @Expose
    private Long Memory;

    /**
    * 升级后的硬盘大小,单位:GB,为保证传入 Volume 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的硬盘范围。
    */
    @SerializedName("Volume")
    @Expose
    private Long Volume;

    /**
    * 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
    */
    @SerializedName("ProtectMode")
    @Expose
    private Long ProtectMode;

    /**
    * 部署模式,默认为 0,支持值包括:0 - 单可用区部署,1 - 多可用区部署,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
    */
    @SerializedName("DeployMode")
    @Expose
    private Long DeployMode;

    /**
    * 备库1的可用区信息,默认和实例的 Zone 参数一致,升级主实例为多可用区部署时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。可通过 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口查询支持的可用区。
    */
    @SerializedName("SlaveZone")
    @Expose
    private String SlaveZone;

    /**
    * 主实例数据库引擎版本,支持值包括:5.5、5.6 和 5.7。
    */
    @SerializedName("EngineVersion")
    @Expose
    private String EngineVersion;

    /**
    * 切换访问新实例的方式,默认为 0。支持值包括:0 - 立刻切换,1 - 时间窗切换;当该值为 1 时,升级中过程中,切换访问新实例的流程将会在时间窗内进行,或者用户主动调用接口 [切换访问新实例](https://cloud.tencent.com/document/product/236/15864) 触发该流程。
    */
    @SerializedName("WaitSwitch")
    @Expose
    private Long WaitSwitch;

    /**
    * 备库 2 的可用区信息,默认为空,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
    */
    @SerializedName("BackupZone")
    @Expose
    private String BackupZone;

    /**
    * 实例类型,默认为 master,支持值包括:master - 表示主实例,dr - 表示灾备实例,ro - 表示只读实例。
    */
    @SerializedName("InstanceRole")
    @Expose
    private String InstanceRole;

    /**
    * 实例隔离类型。支持值包括: "UNIVERSAL" - 通用型实例, "EXCLUSIVE" - 独享型实例, "BASIC" - 基础版实例。
    */
    @SerializedName("DeviceType")
    @Expose
    private String DeviceType;

    /**
    * 升级后的实例cpu核数, 如果不传将根据 Memory 指定的内存值自动填充对应的cpu值。
    */
    @SerializedName("Cpu")
    @Expose
    private Long Cpu;

    /**
    * 是否极速变配。0-普通升级,1-极速变配。选择极速变配会根据资源状况校验是否可以进行极速变配,满足条件则进行极速变配,不满足条件会返回报错信息。
    */
    @SerializedName("FastUpgrade")
    @Expose
    private Long FastUpgrade;

    /**
    * 延迟阈值。取值范围1~10,默认值为10。
    */
    @SerializedName("MaxDelayTime")
    @Expose
    private Long MaxDelayTime;

    /**
    * 是否跨区迁移。0-普通迁移,1-跨区迁移,默认值为0。该值为1时支持变更实例主节点可用区。
    */
    @SerializedName("CrossCluster")
    @Expose
    private Long CrossCluster;

    /**
    * 主节点可用区,该值仅在跨区迁移时生效。仅支持同地域下的可用区进行迁移。
    */
    @SerializedName("ZoneId")
    @Expose
    private String ZoneId;

    /**
     * Get 实例 ID,格式如:cdb-c1nl9rpv 或者 cdbro-c1nl9rpv。与云数据库控制台页面中显示的实例 ID 相同,可使用 [查询实例列表](https://cloud.tencent.com/document/api/236/15872) 接口获取,其值为输出参数中字段 InstanceId 的值。 
     * @return InstanceId 实例 ID,格式如:cdb-c1nl9rpv 或者 cdbro-c1nl9rpv。与云数据库控制台页面中显示的实例 ID 相同,可使用 [查询实例列表](https://cloud.tencent.com/document/api/236/15872) 接口获取,其值为输出参数中字段 InstanceId 的值。
     */
    public String getInstanceId() {
        return this.InstanceId;
    }

    /**
     * Set 实例 ID,格式如:cdb-c1nl9rpv 或者 cdbro-c1nl9rpv。与云数据库控制台页面中显示的实例 ID 相同,可使用 [查询实例列表](https://cloud.tencent.com/document/api/236/15872) 接口获取,其值为输出参数中字段 InstanceId 的值。
     * @param InstanceId 实例 ID,格式如:cdb-c1nl9rpv 或者 cdbro-c1nl9rpv。与云数据库控制台页面中显示的实例 ID 相同,可使用 [查询实例列表](https://cloud.tencent.com/document/api/236/15872) 接口获取,其值为输出参数中字段 InstanceId 的值。
     */
    public void setInstanceId(String InstanceId) {
        this.InstanceId = InstanceId;
    }

    /**
     * Get 升级后的内存大小,单位:MB,为保证传入 Memory 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的内存规格。 
     * @return Memory 升级后的内存大小,单位:MB,为保证传入 Memory 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的内存规格。
     */
    public Long getMemory() {
        return this.Memory;
    }

    /**
     * Set 升级后的内存大小,单位:MB,为保证传入 Memory 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的内存规格。
     * @param Memory 升级后的内存大小,单位:MB,为保证传入 Memory 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的内存规格。
     */
    public void setMemory(Long Memory) {
        this.Memory = Memory;
    }

    /**
     * Get 升级后的硬盘大小,单位:GB,为保证传入 Volume 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的硬盘范围。 
     * @return Volume 升级后的硬盘大小,单位:GB,为保证传入 Volume 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的硬盘范围。
     */
    public Long getVolume() {
        return this.Volume;
    }

    /**
     * Set 升级后的硬盘大小,单位:GB,为保证传入 Volume 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的硬盘范围。
     * @param Volume 升级后的硬盘大小,单位:GB,为保证传入 Volume 值有效,请使用 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口获取可升级的硬盘范围。
     */
    public void setVolume(Long Volume) {
        this.Volume = Volume;
    }

    /**
     * Get 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。 
     * @return ProtectMode 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public Long getProtectMode() {
        return this.ProtectMode;
    }

    /**
     * Set 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     * @param ProtectMode 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public void setProtectMode(Long ProtectMode) {
        this.ProtectMode = ProtectMode;
    }

    /**
     * Get 部署模式,默认为 0,支持值包括:0 - 单可用区部署,1 - 多可用区部署,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。 
     * @return DeployMode 部署模式,默认为 0,支持值包括:0 - 单可用区部署,1 - 多可用区部署,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public Long getDeployMode() {
        return this.DeployMode;
    }

    /**
     * Set 部署模式,默认为 0,支持值包括:0 - 单可用区部署,1 - 多可用区部署,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     * @param DeployMode 部署模式,默认为 0,支持值包括:0 - 单可用区部署,1 - 多可用区部署,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public void setDeployMode(Long DeployMode) {
        this.DeployMode = DeployMode;
    }

    /**
     * Get 备库1的可用区信息,默认和实例的 Zone 参数一致,升级主实例为多可用区部署时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。可通过 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口查询支持的可用区。 
     * @return SlaveZone 备库1的可用区信息,默认和实例的 Zone 参数一致,升级主实例为多可用区部署时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。可通过 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口查询支持的可用区。
     */
    public String getSlaveZone() {
        return this.SlaveZone;
    }

    /**
     * Set 备库1的可用区信息,默认和实例的 Zone 参数一致,升级主实例为多可用区部署时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。可通过 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口查询支持的可用区。
     * @param SlaveZone 备库1的可用区信息,默认和实例的 Zone 参数一致,升级主实例为多可用区部署时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。可通过 [获取云数据库可售卖规格](https://cloud.tencent.com/document/product/236/17229) 接口查询支持的可用区。
     */
    public void setSlaveZone(String SlaveZone) {
        this.SlaveZone = SlaveZone;
    }

    /**
     * Get 主实例数据库引擎版本,支持值包括:5.5、5.6 和 5.7。 
     * @return EngineVersion 主实例数据库引擎版本,支持值包括:5.5、5.6 和 5.7。
     */
    public String getEngineVersion() {
        return this.EngineVersion;
    }

    /**
     * Set 主实例数据库引擎版本,支持值包括:5.5、5.6 和 5.7。
     * @param EngineVersion 主实例数据库引擎版本,支持值包括:5.5、5.6 和 5.7。
     */
    public void setEngineVersion(String EngineVersion) {
        this.EngineVersion = EngineVersion;
    }

    /**
     * Get 切换访问新实例的方式,默认为 0。支持值包括:0 - 立刻切换,1 - 时间窗切换;当该值为 1 时,升级中过程中,切换访问新实例的流程将会在时间窗内进行,或者用户主动调用接口 [切换访问新实例](https://cloud.tencent.com/document/product/236/15864) 触发该流程。 
     * @return WaitSwitch 切换访问新实例的方式,默认为 0。支持值包括:0 - 立刻切换,1 - 时间窗切换;当该值为 1 时,升级中过程中,切换访问新实例的流程将会在时间窗内进行,或者用户主动调用接口 [切换访问新实例](https://cloud.tencent.com/document/product/236/15864) 触发该流程。
     */
    public Long getWaitSwitch() {
        return this.WaitSwitch;
    }

    /**
     * Set 切换访问新实例的方式,默认为 0。支持值包括:0 - 立刻切换,1 - 时间窗切换;当该值为 1 时,升级中过程中,切换访问新实例的流程将会在时间窗内进行,或者用户主动调用接口 [切换访问新实例](https://cloud.tencent.com/document/product/236/15864) 触发该流程。
     * @param WaitSwitch 切换访问新实例的方式,默认为 0。支持值包括:0 - 立刻切换,1 - 时间窗切换;当该值为 1 时,升级中过程中,切换访问新实例的流程将会在时间窗内进行,或者用户主动调用接口 [切换访问新实例](https://cloud.tencent.com/document/product/236/15864) 触发该流程。
     */
    public void setWaitSwitch(Long WaitSwitch) {
        this.WaitSwitch = WaitSwitch;
    }

    /**
     * Get 备库 2 的可用区信息,默认为空,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。 
     * @return BackupZone 备库 2 的可用区信息,默认为空,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public String getBackupZone() {
        return this.BackupZone;
    }

    /**
     * Set 备库 2 的可用区信息,默认为空,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     * @param BackupZone 备库 2 的可用区信息,默认为空,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
     */
    public void setBackupZone(String BackupZone) {
        this.BackupZone = BackupZone;
    }

    /**
     * Get 实例类型,默认为 master,支持值包括:master - 表示主实例,dr - 表示灾备实例,ro - 表示只读实例。 
     * @return InstanceRole 实例类型,默认为 master,支持值包括:master - 表示主实例,dr - 表示灾备实例,ro - 表示只读实例。
     */
    public String getInstanceRole() {
        return this.InstanceRole;
    }

    /**
     * Set 实例类型,默认为 master,支持值包括:master - 表示主实例,dr - 表示灾备实例,ro - 表示只读实例。
     * @param InstanceRole 实例类型,默认为 master,支持值包括:master - 表示主实例,dr - 表示灾备实例,ro - 表示只读实例。
     */
    public void setInstanceRole(String InstanceRole) {
        this.InstanceRole = InstanceRole;
    }

    /**
     * Get 实例隔离类型。支持值包括: "UNIVERSAL" - 通用型实例, "EXCLUSIVE" - 独享型实例, "BASIC" - 基础版实例。 
     * @return DeviceType 实例隔离类型。支持值包括: "UNIVERSAL" - 通用型实例, "EXCLUSIVE" - 独享型实例, "BASIC" - 基础版实例。
     */
    public String getDeviceType() {
        return this.DeviceType;
    }

    /**
     * Set 实例隔离类型。支持值包括: "UNIVERSAL" - 通用型实例, "EXCLUSIVE" - 独享型实例, "BASIC" - 基础版实例。
     * @param DeviceType 实例隔离类型。支持值包括: "UNIVERSAL" - 通用型实例, "EXCLUSIVE" - 独享型实例, "BASIC" - 基础版实例。
     */
    public void setDeviceType(String DeviceType) {
        this.DeviceType = DeviceType;
    }

    /**
     * Get 升级后的实例cpu核数, 如果不传将根据 Memory 指定的内存值自动填充对应的cpu值。 
     * @return Cpu 升级后的实例cpu核数, 如果不传将根据 Memory 指定的内存值自动填充对应的cpu值。
     */
    public Long getCpu() {
        return this.Cpu;
    }

    /**
     * Set 升级后的实例cpu核数, 如果不传将根据 Memory 指定的内存值自动填充对应的cpu值。
     * @param Cpu 升级后的实例cpu核数, 如果不传将根据 Memory 指定的内存值自动填充对应的cpu值。
     */
    public void setCpu(Long Cpu) {
        this.Cpu = Cpu;
    }

    /**
     * Get 是否极速变配。0-普通升级,1-极速变配。选择极速变配会根据资源状况校验是否可以进行极速变配,满足条件则进行极速变配,不满足条件会返回报错信息。 
     * @return FastUpgrade 是否极速变配。0-普通升级,1-极速变配。选择极速变配会根据资源状况校验是否可以进行极速变配,满足条件则进行极速变配,不满足条件会返回报错信息。
     */
    public Long getFastUpgrade() {
        return this.FastUpgrade;
    }

    /**
     * Set 是否极速变配。0-普通升级,1-极速变配。选择极速变配会根据资源状况校验是否可以进行极速变配,满足条件则进行极速变配,不满足条件会返回报错信息。
     * @param FastUpgrade 是否极速变配。0-普通升级,1-极速变配。选择极速变配会根据资源状况校验是否可以进行极速变配,满足条件则进行极速变配,不满足条件会返回报错信息。
     */
    public void setFastUpgrade(Long FastUpgrade) {
        this.FastUpgrade = FastUpgrade;
    }

    /**
     * Get 延迟阈值。取值范围1~10,默认值为10。 
     * @return MaxDelayTime 延迟阈值。取值范围1~10,默认值为10。
     */
    public Long getMaxDelayTime() {
        return this.MaxDelayTime;
    }

    /**
     * Set 延迟阈值。取值范围1~10,默认值为10。
     * @param MaxDelayTime 延迟阈值。取值范围1~10,默认值为10。
     */
    public void setMaxDelayTime(Long MaxDelayTime) {
        this.MaxDelayTime = MaxDelayTime;
    }

    /**
     * Get 是否跨区迁移。0-普通迁移,1-跨区迁移,默认值为0。该值为1时支持变更实例主节点可用区。 
     * @return CrossCluster 是否跨区迁移。0-普通迁移,1-跨区迁移,默认值为0。该值为1时支持变更实例主节点可用区。
     */
    public Long getCrossCluster() {
        return this.CrossCluster;
    }

    /**
     * Set 是否跨区迁移。0-普通迁移,1-跨区迁移,默认值为0。该值为1时支持变更实例主节点可用区。
     * @param CrossCluster 是否跨区迁移。0-普通迁移,1-跨区迁移,默认值为0。该值为1时支持变更实例主节点可用区。
     */
    public void setCrossCluster(Long CrossCluster) {
        this.CrossCluster = CrossCluster;
    }

    /**
     * Get 主节点可用区,该值仅在跨区迁移时生效。仅支持同地域下的可用区进行迁移。 
     * @return ZoneId 主节点可用区,该值仅在跨区迁移时生效。仅支持同地域下的可用区进行迁移。
     */
    public String getZoneId() {
        return this.ZoneId;
    }

    /**
     * Set 主节点可用区,该值仅在跨区迁移时生效。仅支持同地域下的可用区进行迁移。
     * @param ZoneId 主节点可用区,该值仅在跨区迁移时生效。仅支持同地域下的可用区进行迁移。
     */
    public void setZoneId(String ZoneId) {
        this.ZoneId = ZoneId;
    }

    public UpgradeDBInstanceRequest() {
    }

    /**
     * NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
     *       and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
     */
    public UpgradeDBInstanceRequest(UpgradeDBInstanceRequest source) {
        if (source.InstanceId != null) {
            this.InstanceId = new String(source.InstanceId);
        }
        if (source.Memory != null) {
            this.Memory = new Long(source.Memory);
        }
        if (source.Volume != null) {
            this.Volume = new Long(source.Volume);
        }
        if (source.ProtectMode != null) {
            this.ProtectMode = new Long(source.ProtectMode);
        }
        if (source.DeployMode != null) {
            this.DeployMode = new Long(source.DeployMode);
        }
        if (source.SlaveZone != null) {
            this.SlaveZone = new String(source.SlaveZone);
        }
        if (source.EngineVersion != null) {
            this.EngineVersion = new String(source.EngineVersion);
        }
        if (source.WaitSwitch != null) {
            this.WaitSwitch = new Long(source.WaitSwitch);
        }
        if (source.BackupZone != null) {
            this.BackupZone = new String(source.BackupZone);
        }
        if (source.InstanceRole != null) {
            this.InstanceRole = new String(source.InstanceRole);
        }
        if (source.DeviceType != null) {
            this.DeviceType = new String(source.DeviceType);
        }
        if (source.Cpu != null) {
            this.Cpu = new Long(source.Cpu);
        }
        if (source.FastUpgrade != null) {
            this.FastUpgrade = new Long(source.FastUpgrade);
        }
        if (source.MaxDelayTime != null) {
            this.MaxDelayTime = new Long(source.MaxDelayTime);
        }
        if (source.CrossCluster != null) {
            this.CrossCluster = new Long(source.CrossCluster);
        }
        if (source.ZoneId != null) {
            this.ZoneId = new String(source.ZoneId);
        }
    }


    /**
     * Internal implementation, normal users should not use it.
     */
    public void toMap(HashMap map, String prefix) {
        this.setParamSimple(map, prefix + "InstanceId", this.InstanceId);
        this.setParamSimple(map, prefix + "Memory", this.Memory);
        this.setParamSimple(map, prefix + "Volume", this.Volume);
        this.setParamSimple(map, prefix + "ProtectMode", this.ProtectMode);
        this.setParamSimple(map, prefix + "DeployMode", this.DeployMode);
        this.setParamSimple(map, prefix + "SlaveZone", this.SlaveZone);
        this.setParamSimple(map, prefix + "EngineVersion", this.EngineVersion);
        this.setParamSimple(map, prefix + "WaitSwitch", this.WaitSwitch);
        this.setParamSimple(map, prefix + "BackupZone", this.BackupZone);
        this.setParamSimple(map, prefix + "InstanceRole", this.InstanceRole);
        this.setParamSimple(map, prefix + "DeviceType", this.DeviceType);
        this.setParamSimple(map, prefix + "Cpu", this.Cpu);
        this.setParamSimple(map, prefix + "FastUpgrade", this.FastUpgrade);
        this.setParamSimple(map, prefix + "MaxDelayTime", this.MaxDelayTime);
        this.setParamSimple(map, prefix + "CrossCluster", this.CrossCluster);
        this.setParamSimple(map, prefix + "ZoneId", this.ZoneId);

    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy