com.tencentcloudapi.postgres.v20170312.models.ReadOnlyGroup 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.postgres.v20170312.models;
import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class ReadOnlyGroup extends AbstractModel{
/**
* RO group identifier
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("ReadOnlyGroupId")
@Expose
private String ReadOnlyGroupId;
/**
* RO group name
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("ReadOnlyGroupName")
@Expose
private String ReadOnlyGroupName;
/**
* Project ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("ProjectId")
@Expose
private Long ProjectId;
/**
* Primary instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("MasterDBInstanceId")
@Expose
private String MasterDBInstanceId;
/**
* The minimum number of read-only replicas that must be retained in an RO group
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("MinDelayEliminateReserve")
@Expose
private Long MinDelayEliminateReserve;
/**
* Delayed log size threshold
*/
@SerializedName("MaxReplayLatency")
@Expose
private Long MaxReplayLatency;
/**
* Whether to remove a read-only replica from an RO group if the sync log size difference between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
@SerializedName("ReplayLatencyEliminate")
@Expose
private Long ReplayLatencyEliminate;
/**
* Delay threshold
*/
@SerializedName("MaxReplayLag")
@Expose
private Float MaxReplayLag;
/**
* Whether to remove a read-only replica from an RO group if the delay between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
@SerializedName("ReplayLagEliminate")
@Expose
private Long ReplayLagEliminate;
/**
* VPC ID
*/
@SerializedName("VpcId")
@Expose
private String VpcId;
/**
* Subnet ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
@SerializedName("SubnetId")
@Expose
private String SubnetId;
/**
* Region ID
*/
@SerializedName("Region")
@Expose
private String Region;
/**
* Availability zone ID
*/
@SerializedName("Zone")
@Expose
private String Zone;
/**
* Status
*/
@SerializedName("Status")
@Expose
private String Status;
/**
* Instance details
*/
@SerializedName("ReadOnlyDBInstanceList")
@Expose
private DBInstance [] ReadOnlyDBInstanceList;
/**
* Whether to enable automatic load balancing
*/
@SerializedName("Rebalance")
@Expose
private Long Rebalance;
/**
* Network information
*/
@SerializedName("DBInstanceNetInfo")
@Expose
private DBInstanceNetInfo [] DBInstanceNetInfo;
/**
* Get RO group identifier
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return ReadOnlyGroupId RO group identifier
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public String getReadOnlyGroupId() {
return this.ReadOnlyGroupId;
}
/**
* Set RO group identifier
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param ReadOnlyGroupId RO group identifier
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setReadOnlyGroupId(String ReadOnlyGroupId) {
this.ReadOnlyGroupId = ReadOnlyGroupId;
}
/**
* Get RO group name
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return ReadOnlyGroupName RO group name
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public String getReadOnlyGroupName() {
return this.ReadOnlyGroupName;
}
/**
* Set RO group name
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param ReadOnlyGroupName RO group name
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setReadOnlyGroupName(String ReadOnlyGroupName) {
this.ReadOnlyGroupName = ReadOnlyGroupName;
}
/**
* Get Project ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return ProjectId Project ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public Long getProjectId() {
return this.ProjectId;
}
/**
* Set Project ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param ProjectId Project ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setProjectId(Long ProjectId) {
this.ProjectId = ProjectId;
}
/**
* Get Primary instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return MasterDBInstanceId Primary instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public String getMasterDBInstanceId() {
return this.MasterDBInstanceId;
}
/**
* Set Primary instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param MasterDBInstanceId Primary instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setMasterDBInstanceId(String MasterDBInstanceId) {
this.MasterDBInstanceId = MasterDBInstanceId;
}
/**
* Get The minimum number of read-only replicas that must be retained in an RO group
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return MinDelayEliminateReserve The minimum number of read-only replicas that must be retained in an RO group
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public Long getMinDelayEliminateReserve() {
return this.MinDelayEliminateReserve;
}
/**
* Set The minimum number of read-only replicas that must be retained in an RO group
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param MinDelayEliminateReserve The minimum number of read-only replicas that must be retained in an RO group
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setMinDelayEliminateReserve(Long MinDelayEliminateReserve) {
this.MinDelayEliminateReserve = MinDelayEliminateReserve;
}
/**
* Get Delayed log size threshold
* @return MaxReplayLatency Delayed log size threshold
*/
public Long getMaxReplayLatency() {
return this.MaxReplayLatency;
}
/**
* Set Delayed log size threshold
* @param MaxReplayLatency Delayed log size threshold
*/
public void setMaxReplayLatency(Long MaxReplayLatency) {
this.MaxReplayLatency = MaxReplayLatency;
}
/**
* Get Whether to remove a read-only replica from an RO group if the sync log size difference between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
* @return ReplayLatencyEliminate Whether to remove a read-only replica from an RO group if the sync log size difference between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
public Long getReplayLatencyEliminate() {
return this.ReplayLatencyEliminate;
}
/**
* Set Whether to remove a read-only replica from an RO group if the sync log size difference between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
* @param ReplayLatencyEliminate Whether to remove a read-only replica from an RO group if the sync log size difference between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
public void setReplayLatencyEliminate(Long ReplayLatencyEliminate) {
this.ReplayLatencyEliminate = ReplayLatencyEliminate;
}
/**
* Get Delay threshold
* @return MaxReplayLag Delay threshold
*/
public Float getMaxReplayLag() {
return this.MaxReplayLag;
}
/**
* Set Delay threshold
* @param MaxReplayLag Delay threshold
*/
public void setMaxReplayLag(Float MaxReplayLag) {
this.MaxReplayLag = MaxReplayLag;
}
/**
* Get Whether to remove a read-only replica from an RO group if the delay between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
* @return ReplayLagEliminate Whether to remove a read-only replica from an RO group if the delay between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
public Long getReplayLagEliminate() {
return this.ReplayLagEliminate;
}
/**
* Set Whether to remove a read-only replica from an RO group if the delay between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
* @param ReplayLagEliminate Whether to remove a read-only replica from an RO group if the delay between the read-only replica and the primary instance exceeds the threshold. Valid values: `0` (no), `1` (yes).
*/
public void setReplayLagEliminate(Long ReplayLagEliminate) {
this.ReplayLagEliminate = ReplayLagEliminate;
}
/**
* Get VPC ID
* @return VpcId VPC ID
*/
public String getVpcId() {
return this.VpcId;
}
/**
* Set VPC ID
* @param VpcId VPC ID
*/
public void setVpcId(String VpcId) {
this.VpcId = VpcId;
}
/**
* Get Subnet ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @return SubnetId Subnet ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public String getSubnetId() {
return this.SubnetId;
}
/**
* Set Subnet ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @param SubnetId Subnet ID
Note: this field may return `null`, indicating that no valid values can be obtained.
*/
public void setSubnetId(String SubnetId) {
this.SubnetId = SubnetId;
}
/**
* Get Region ID
* @return Region Region ID
*/
public String getRegion() {
return this.Region;
}
/**
* Set Region ID
* @param Region Region ID
*/
public void setRegion(String Region) {
this.Region = Region;
}
/**
* Get Availability zone ID
* @return Zone Availability zone ID
*/
public String getZone() {
return this.Zone;
}
/**
* Set Availability zone ID
* @param Zone Availability zone ID
*/
public void setZone(String Zone) {
this.Zone = Zone;
}
/**
* Get Status
* @return Status Status
*/
public String getStatus() {
return this.Status;
}
/**
* Set Status
* @param Status Status
*/
public void setStatus(String Status) {
this.Status = Status;
}
/**
* Get Instance details
* @return ReadOnlyDBInstanceList Instance details
*/
public DBInstance [] getReadOnlyDBInstanceList() {
return this.ReadOnlyDBInstanceList;
}
/**
* Set Instance details
* @param ReadOnlyDBInstanceList Instance details
*/
public void setReadOnlyDBInstanceList(DBInstance [] ReadOnlyDBInstanceList) {
this.ReadOnlyDBInstanceList = ReadOnlyDBInstanceList;
}
/**
* Get Whether to enable automatic load balancing
* @return Rebalance Whether to enable automatic load balancing
*/
public Long getRebalance() {
return this.Rebalance;
}
/**
* Set Whether to enable automatic load balancing
* @param Rebalance Whether to enable automatic load balancing
*/
public void setRebalance(Long Rebalance) {
this.Rebalance = Rebalance;
}
/**
* Get Network information
* @return DBInstanceNetInfo Network information
*/
public DBInstanceNetInfo [] getDBInstanceNetInfo() {
return this.DBInstanceNetInfo;
}
/**
* Set Network information
* @param DBInstanceNetInfo Network information
*/
public void setDBInstanceNetInfo(DBInstanceNetInfo [] DBInstanceNetInfo) {
this.DBInstanceNetInfo = DBInstanceNetInfo;
}
public ReadOnlyGroup() {
}
/**
* 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 ReadOnlyGroup(ReadOnlyGroup source) {
if (source.ReadOnlyGroupId != null) {
this.ReadOnlyGroupId = new String(source.ReadOnlyGroupId);
}
if (source.ReadOnlyGroupName != null) {
this.ReadOnlyGroupName = new String(source.ReadOnlyGroupName);
}
if (source.ProjectId != null) {
this.ProjectId = new Long(source.ProjectId);
}
if (source.MasterDBInstanceId != null) {
this.MasterDBInstanceId = new String(source.MasterDBInstanceId);
}
if (source.MinDelayEliminateReserve != null) {
this.MinDelayEliminateReserve = new Long(source.MinDelayEliminateReserve);
}
if (source.MaxReplayLatency != null) {
this.MaxReplayLatency = new Long(source.MaxReplayLatency);
}
if (source.ReplayLatencyEliminate != null) {
this.ReplayLatencyEliminate = new Long(source.ReplayLatencyEliminate);
}
if (source.MaxReplayLag != null) {
this.MaxReplayLag = new Float(source.MaxReplayLag);
}
if (source.ReplayLagEliminate != null) {
this.ReplayLagEliminate = new Long(source.ReplayLagEliminate);
}
if (source.VpcId != null) {
this.VpcId = new String(source.VpcId);
}
if (source.SubnetId != null) {
this.SubnetId = new String(source.SubnetId);
}
if (source.Region != null) {
this.Region = new String(source.Region);
}
if (source.Zone != null) {
this.Zone = new String(source.Zone);
}
if (source.Status != null) {
this.Status = new String(source.Status);
}
if (source.ReadOnlyDBInstanceList != null) {
this.ReadOnlyDBInstanceList = new DBInstance[source.ReadOnlyDBInstanceList.length];
for (int i = 0; i < source.ReadOnlyDBInstanceList.length; i++) {
this.ReadOnlyDBInstanceList[i] = new DBInstance(source.ReadOnlyDBInstanceList[i]);
}
}
if (source.Rebalance != null) {
this.Rebalance = new Long(source.Rebalance);
}
if (source.DBInstanceNetInfo != null) {
this.DBInstanceNetInfo = new DBInstanceNetInfo[source.DBInstanceNetInfo.length];
for (int i = 0; i < source.DBInstanceNetInfo.length; i++) {
this.DBInstanceNetInfo[i] = new DBInstanceNetInfo(source.DBInstanceNetInfo[i]);
}
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "ReadOnlyGroupId", this.ReadOnlyGroupId);
this.setParamSimple(map, prefix + "ReadOnlyGroupName", this.ReadOnlyGroupName);
this.setParamSimple(map, prefix + "ProjectId", this.ProjectId);
this.setParamSimple(map, prefix + "MasterDBInstanceId", this.MasterDBInstanceId);
this.setParamSimple(map, prefix + "MinDelayEliminateReserve", this.MinDelayEliminateReserve);
this.setParamSimple(map, prefix + "MaxReplayLatency", this.MaxReplayLatency);
this.setParamSimple(map, prefix + "ReplayLatencyEliminate", this.ReplayLatencyEliminate);
this.setParamSimple(map, prefix + "MaxReplayLag", this.MaxReplayLag);
this.setParamSimple(map, prefix + "ReplayLagEliminate", this.ReplayLagEliminate);
this.setParamSimple(map, prefix + "VpcId", this.VpcId);
this.setParamSimple(map, prefix + "SubnetId", this.SubnetId);
this.setParamSimple(map, prefix + "Region", this.Region);
this.setParamSimple(map, prefix + "Zone", this.Zone);
this.setParamSimple(map, prefix + "Status", this.Status);
this.setParamArrayObj(map, prefix + "ReadOnlyDBInstanceList.", this.ReadOnlyDBInstanceList);
this.setParamSimple(map, prefix + "Rebalance", this.Rebalance);
this.setParamArrayObj(map, prefix + "DBInstanceNetInfo.", this.DBInstanceNetInfo);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy