com.huaweicloud.sdk.gaussdbforopengauss.v3.model.BackupInfo Maven / Gradle / Ivy
package com.huaweicloud.sdk.gaussdbforopengauss.v3.model;
import java.util.Collections;
import java.util.Collections;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import java.util.Objects;
/**
* 备份信息。
*/
public class BackupInfo {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="id")
private String id;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="name")
private String name;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="description")
private String description;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="begin_time")
private String beginTime;
/**
* 备份状态,取值: - BUILDING: 备份中。 - COMPLETED: 备份完成。 - FAILED:备份失败。 - DELETING:备份删除中。
*/
public static final class StatusEnum {
/**
* Enum BUILDING for value: "BUILDING"
*/
public static final StatusEnum BUILDING = new StatusEnum("BUILDING");
/**
* Enum COMPLETED for value: "COMPLETED"
*/
public static final StatusEnum COMPLETED = new StatusEnum("COMPLETED");
/**
* Enum FAILED for value: "FAILED"
*/
public static final StatusEnum FAILED = new StatusEnum("FAILED");
/**
* Enum DELETING for value: "DELETING"
*/
public static final StatusEnum DELETING = new StatusEnum("DELETING");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("BUILDING", BUILDING);
map.put("COMPLETED", COMPLETED);
map.put("FAILED", FAILED);
map.put("DELETING", DELETING);
return Collections.unmodifiableMap(map);
}
private String value;
StatusEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static StatusEnum fromValue(String value) {
if( value == null ){
return null;
}
StatusEnum result = STATIC_FIELDS.get(value);
if (result == null) {
result = new StatusEnum(value);
}
return result;
}
public static StatusEnum valueOf(String value) {
if( value == null ){
return null;
}
StatusEnum result = STATIC_FIELDS.get(value);
if (result != null) {
return result;
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
@Override
public boolean equals(Object obj) {
if (obj instanceof StatusEnum) {
return this.value.equals(((StatusEnum) obj).value);
}
return false;
}
@Override
public int hashCode() {
return this.value.hashCode();
}
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="status")
private StatusEnum status;
/**
* 备份类型,取值: - “manual”: 手动全量备份
*/
public static final class TypeEnum {
/**
* Enum MANUAL for value: "manual"
*/
public static final TypeEnum MANUAL = new TypeEnum("manual");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("manual", MANUAL);
return Collections.unmodifiableMap(map);
}
private String value;
TypeEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static TypeEnum fromValue(String value) {
if( value == null ){
return null;
}
TypeEnum result = STATIC_FIELDS.get(value);
if (result == null) {
result = new TypeEnum(value);
}
return result;
}
public static TypeEnum valueOf(String value) {
if( value == null ){
return null;
}
TypeEnum result = STATIC_FIELDS.get(value);
if (result != null) {
return result;
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
@Override
public boolean equals(Object obj) {
if (obj instanceof TypeEnum) {
return this.value.equals(((TypeEnum) obj).value);
}
return false;
}
@Override
public int hashCode() {
return this.value.hashCode();
}
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="type")
private TypeEnum type;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="instance_id")
private String instanceId;
public BackupInfo withId(String id) {
this.id = id;
return this;
}
/**
* 备份ID。
* @return id
*/
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public BackupInfo withName(String name) {
this.name = name;
return this;
}
/**
* 备份名称。
* @return name
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BackupInfo withDescription(String description) {
this.description = description;
return this;
}
/**
* 备份描述。
* @return description
*/
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public BackupInfo withBeginTime(String beginTime) {
this.beginTime = beginTime;
return this;
}
/**
* 备份开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。
* @return beginTime
*/
public String getBeginTime() {
return beginTime;
}
public void setBeginTime(String beginTime) {
this.beginTime = beginTime;
}
public BackupInfo withStatus(StatusEnum status) {
this.status = status;
return this;
}
/**
* 备份状态,取值: - BUILDING: 备份中。 - COMPLETED: 备份完成。 - FAILED:备份失败。 - DELETING:备份删除中。
* @return status
*/
public StatusEnum getStatus() {
return status;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
public BackupInfo withType(TypeEnum type) {
this.type = type;
return this;
}
/**
* 备份类型,取值: - “manual”: 手动全量备份
* @return type
*/
public TypeEnum getType() {
return type;
}
public void setType(TypeEnum type) {
this.type = type;
}
public BackupInfo withInstanceId(String instanceId) {
this.instanceId = instanceId;
return this;
}
/**
* 实例ID。
* @return instanceId
*/
public String getInstanceId() {
return instanceId;
}
public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
BackupInfo backupInfo = (BackupInfo) o;
return Objects.equals(this.id, backupInfo.id) &&
Objects.equals(this.name, backupInfo.name) &&
Objects.equals(this.description, backupInfo.description) &&
Objects.equals(this.beginTime, backupInfo.beginTime) &&
Objects.equals(this.status, backupInfo.status) &&
Objects.equals(this.type, backupInfo.type) &&
Objects.equals(this.instanceId, backupInfo.instanceId);
}
@Override
public int hashCode() {
return Objects.hash(id, name, description, beginTime, status, type, instanceId);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class BackupInfo {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" beginTime: ").append(toIndentedString(beginTime)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" instanceId: ").append(toIndentedString(instanceId)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}