com.huaweicloud.sdk.geip.v3.model.ListSupportRegions Maven / Gradle / Ivy
package com.huaweicloud.sdk.geip.v3.model;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import java.time.OffsetDateTime;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* ListSupportRegions
*/
public class ListSupportRegions {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "id")
private String id;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "instance_type")
private String instanceType;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "access_site")
private String accessSite;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "region_id")
private String regionId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "public_border_group")
private String publicBorderGroup;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "remote_endpoint")
private String remoteEndpoint;
/**
* 状态
*/
public static final class StatusEnum {
/**
* Enum ACTIVE for value: "ACTIVE"
*/
public static final StatusEnum ACTIVE = new StatusEnum("ACTIVE");
/**
* Enum INACTIVE for value: "INACTIVE"
*/
public static final StatusEnum INACTIVE = new StatusEnum("INACTIVE");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("ACTIVE", ACTIVE);
map.put("INACTIVE", INACTIVE);
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;
}
return java.util.Optional.ofNullable(STATIC_FIELDS.get(value)).orElse(new StatusEnum(value));
}
public static StatusEnum valueOf(String value) {
if (value == null) {
return null;
}
return java.util.Optional.ofNullable(STATIC_FIELDS.get(value))
.orElseThrow(() -> 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;
@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 ListSupportRegions withId(String id) {
this.id = id;
return this;
}
/**
* 域弹性公网IP支持绑定的Region限制的ID
* @return id
*/
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ListSupportRegions withInstanceType(String instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* 支持绑定的实例类型
* @return instanceType
*/
public String getInstanceType() {
return instanceType;
}
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
public ListSupportRegions withAccessSite(String accessSite) {
this.accessSite = accessSite;
return this;
}
/**
* 接入点信息
* @return accessSite
*/
public String getAccessSite() {
return accessSite;
}
public void setAccessSite(String accessSite) {
this.accessSite = accessSite;
}
public ListSupportRegions withRegionId(String regionId) {
this.regionId = regionId;
return this;
}
/**
* region_id
* @return regionId
*/
public String getRegionId() {
return regionId;
}
public void setRegionId(String regionId) {
this.regionId = regionId;
}
public ListSupportRegions withPublicBorderGroup(String publicBorderGroup) {
this.publicBorderGroup = publicBorderGroup;
return this;
}
/**
* - 功能说明:表示中心站点资源或者边缘站点资源 - 取值范围:center、边缘站点名称
* @return publicBorderGroup
*/
public String getPublicBorderGroup() {
return publicBorderGroup;
}
public void setPublicBorderGroup(String publicBorderGroup) {
this.publicBorderGroup = publicBorderGroup;
}
public ListSupportRegions withRemoteEndpoint(String remoteEndpoint) {
this.remoteEndpoint = remoteEndpoint;
return this;
}
/**
* remote_endpoint
* @return remoteEndpoint
*/
public String getRemoteEndpoint() {
return remoteEndpoint;
}
public void setRemoteEndpoint(String remoteEndpoint) {
this.remoteEndpoint = remoteEndpoint;
}
public ListSupportRegions withStatus(StatusEnum status) {
this.status = status;
return this;
}
/**
* 状态
* @return status
*/
public StatusEnum getStatus() {
return status;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
public ListSupportRegions withCreatedAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* 创建时间
* @return createdAt
*/
public OffsetDateTime getCreatedAt() {
return createdAt;
}
public void setCreatedAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
}
public ListSupportRegions 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;
}
ListSupportRegions that = (ListSupportRegions) obj;
return Objects.equals(this.id, that.id) && Objects.equals(this.instanceType, that.instanceType)
&& Objects.equals(this.accessSite, that.accessSite) && Objects.equals(this.regionId, that.regionId)
&& Objects.equals(this.publicBorderGroup, that.publicBorderGroup)
&& Objects.equals(this.remoteEndpoint, that.remoteEndpoint) && Objects.equals(this.status, that.status)
&& Objects.equals(this.createdAt, that.createdAt) && Objects.equals(this.updatedAt, that.updatedAt);
}
@Override
public int hashCode() {
return Objects.hash(id,
instanceType,
accessSite,
regionId,
publicBorderGroup,
remoteEndpoint,
status,
createdAt,
updatedAt);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ListSupportRegions {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" instanceType: ").append(toIndentedString(instanceType)).append("\n");
sb.append(" accessSite: ").append(toIndentedString(accessSite)).append("\n");
sb.append(" regionId: ").append(toIndentedString(regionId)).append("\n");
sb.append(" publicBorderGroup: ").append(toIndentedString(publicBorderGroup)).append("\n");
sb.append(" remoteEndpoint: ").append(toIndentedString(remoteEndpoint)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).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 ");
}
}