com.huaweicloud.sdk.er.v3.model.Route Maven / Gradle / Ivy
package com.huaweicloud.sdk.er.v3.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
/**
* 路由表项
*/
public class Route {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "id")
private String id;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "type")
private String type;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "state")
private String state;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "is_blackhole")
private Boolean isBlackhole;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "destination")
private String destination;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "attachments")
private List attachments = null;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "route_table_id")
private String routeTableId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "created_at")
private OffsetDateTime createdAt;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "updated_at")
private OffsetDateTime updatedAt;
public Route 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 Route withType(String type) {
this.type = type;
return this;
}
/**
* 路由类型
* @return type
*/
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Route withState(String state) {
this.state = state;
return this;
}
/**
* 路由状态
* @return state
*/
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public Route withIsBlackhole(Boolean isBlackhole) {
this.isBlackhole = isBlackhole;
return this;
}
/**
* 是否为黑洞路由
* @return isBlackhole
*/
public Boolean getIsBlackhole() {
return isBlackhole;
}
public void setIsBlackhole(Boolean isBlackhole) {
this.isBlackhole = isBlackhole;
}
public Route withDestination(String destination) {
this.destination = destination;
return this;
}
/**
* 路由目的地址
* @return destination
*/
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
public Route withAttachments(List attachments) {
this.attachments = attachments;
return this;
}
public Route addAttachmentsItem(RouteAttachment attachmentsItem) {
if (this.attachments == null) {
this.attachments = new ArrayList<>();
}
this.attachments.add(attachmentsItem);
return this;
}
public Route withAttachments(Consumer> attachmentsSetter) {
if (this.attachments == null) {
this.attachments = new ArrayList<>();
}
attachmentsSetter.accept(this.attachments);
return this;
}
/**
* 下一跳列表
* @return attachments
*/
public List getAttachments() {
return attachments;
}
public void setAttachments(List attachments) {
this.attachments = attachments;
}
public Route withRouteTableId(String routeTableId) {
this.routeTableId = routeTableId;
return this;
}
/**
* 路由表id
* @return routeTableId
*/
public String getRouteTableId() {
return routeTableId;
}
public void setRouteTableId(String routeTableId) {
this.routeTableId = routeTableId;
}
public Route withCreatedAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* 创建时间
* @return createdAt
*/
public OffsetDateTime getCreatedAt() {
return createdAt;
}
public void setCreatedAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
}
public Route withUpdatedAt(OffsetDateTime updatedAt) {
this.updatedAt = updatedAt;
return this;
}
/**
* 更新时间
* @return updatedAt
*/
public OffsetDateTime getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(OffsetDateTime updatedAt) {
this.updatedAt = updatedAt;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Route that = (Route) obj;
return Objects.equals(this.id, that.id) && Objects.equals(this.type, that.type)
&& Objects.equals(this.state, that.state) && Objects.equals(this.isBlackhole, that.isBlackhole)
&& Objects.equals(this.destination, that.destination) && Objects.equals(this.attachments, that.attachments)
&& Objects.equals(this.routeTableId, that.routeTableId) && Objects.equals(this.createdAt, that.createdAt)
&& Objects.equals(this.updatedAt, that.updatedAt);
}
@Override
public int hashCode() {
return Objects.hash(id, type, state, isBlackhole, destination, attachments, routeTableId, createdAt, updatedAt);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Route {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" state: ").append(toIndentedString(state)).append("\n");
sb.append(" isBlackhole: ").append(toIndentedString(isBlackhole)).append("\n");
sb.append(" destination: ").append(toIndentedString(destination)).append("\n");
sb.append(" attachments: ").append(toIndentedString(attachments)).append("\n");
sb.append(" routeTableId: ").append(toIndentedString(routeTableId)).append("\n");
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).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 ");
}
}