com.huaweicloud.sdk.cdn.v1.model.ShowTopUrlRequest Maven / Gradle / Ivy
package com.huaweicloud.sdk.cdn.v1.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.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* Request Object
*/
public class ShowTopUrlRequest {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "enterprise_project_id")
private String enterpriseProjectId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "start_time")
private Long startTime;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "end_time")
private Long endTime;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "domain_name")
private String domainName;
/**
* mainland_china(中国大陆),outside_mainland_china(中国大陆境外),默认为global(全球)。
*/
public static final class ServiceAreaEnum {
/**
* Enum MAINLAND_CHINA for value: "mainland_china"
*/
public static final ServiceAreaEnum MAINLAND_CHINA = new ServiceAreaEnum("mainland_china");
/**
* Enum OUTSIDE_MAINLAND_CHINA for value: "outside_mainland_china"
*/
public static final ServiceAreaEnum OUTSIDE_MAINLAND_CHINA = new ServiceAreaEnum("outside_mainland_china");
/**
* Enum GLOBAL for value: "global"
*/
public static final ServiceAreaEnum GLOBAL = new ServiceAreaEnum("global");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("mainland_china", MAINLAND_CHINA);
map.put("outside_mainland_china", OUTSIDE_MAINLAND_CHINA);
map.put("global", GLOBAL);
return Collections.unmodifiableMap(map);
}
private String value;
ServiceAreaEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static ServiceAreaEnum fromValue(String value) {
if (value == null) {
return null;
}
return java.util.Optional.ofNullable(STATIC_FIELDS.get(value)).orElse(new ServiceAreaEnum(value));
}
public static ServiceAreaEnum 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 ServiceAreaEnum) {
return this.value.equals(((ServiceAreaEnum) obj).value);
}
return false;
}
@Override
public int hashCode() {
return this.value.hashCode();
}
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "service_area")
private ServiceAreaEnum serviceArea;
/**
* 参数类型支持:flux(流量),req_num(请求总数)。
*/
public static final class StatTypeEnum {
/**
* Enum FLUX for value: "flux"
*/
public static final StatTypeEnum FLUX = new StatTypeEnum("flux");
/**
* Enum REQ_NUM for value: "req_num"
*/
public static final StatTypeEnum REQ_NUM = new StatTypeEnum("req_num");
private static final Map STATIC_FIELDS = createStaticFields();
private static Map createStaticFields() {
Map map = new HashMap<>();
map.put("flux", FLUX);
map.put("req_num", REQ_NUM);
return Collections.unmodifiableMap(map);
}
private String value;
StatTypeEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static StatTypeEnum fromValue(String value) {
if (value == null) {
return null;
}
return java.util.Optional.ofNullable(STATIC_FIELDS.get(value)).orElse(new StatTypeEnum(value));
}
public static StatTypeEnum 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 StatTypeEnum) {
return this.value.equals(((StatTypeEnum) obj).value);
}
return false;
}
@Override
public int hashCode() {
return this.value.hashCode();
}
}
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "stat_type")
private StatTypeEnum statType;
public ShowTopUrlRequest withEnterpriseProjectId(String enterpriseProjectId) {
this.enterpriseProjectId = enterpriseProjectId;
return this;
}
/**
* 当用户开启企业项目功能时,该参数生效,表示查询资源所属项目,\"all\"表示所有项目。注意:当使用子帐号调用接口时,该参数必传。 您可以通过调用企业项目管理服务(EPS)的查询企业项目列表接口(ListEnterpriseProject)查询企业项目id。
* @return enterpriseProjectId
*/
public String getEnterpriseProjectId() {
return enterpriseProjectId;
}
public void setEnterpriseProjectId(String enterpriseProjectId) {
this.enterpriseProjectId = enterpriseProjectId;
}
public ShowTopUrlRequest withStartTime(Long startTime) {
this.startTime = startTime;
return this;
}
/**
* 查询起始时间戳(单位:毫秒)。该时间戳的取值在转化为日期格式后须满足以下格式:XXXX-XX-XX 00:00:00
* @return startTime
*/
public Long getStartTime() {
return startTime;
}
public void setStartTime(Long startTime) {
this.startTime = startTime;
}
public ShowTopUrlRequest withEndTime(Long endTime) {
this.endTime = endTime;
return this;
}
/**
* 查询结束时间戳(单位:毫秒)。该时间戳的取值在转化为日期格式后须满足以下格式:XXXX-XX-XX 00:00:00
* @return endTime
*/
public Long getEndTime() {
return endTime;
}
public void setEndTime(Long endTime) {
this.endTime = endTime;
}
public ShowTopUrlRequest withDomainName(String domainName) {
this.domainName = domainName;
return this;
}
/**
* 域名列表,多个域名以逗号(半角)分隔,如:www.test1.com,www.test2.com,all表示查询名下全部域名。如果域名在查询时间段内无数据,结果将不返回该域名的信息。
* @return domainName
*/
public String getDomainName() {
return domainName;
}
public void setDomainName(String domainName) {
this.domainName = domainName;
}
public ShowTopUrlRequest withServiceArea(ServiceAreaEnum serviceArea) {
this.serviceArea = serviceArea;
return this;
}
/**
* mainland_china(中国大陆),outside_mainland_china(中国大陆境外),默认为global(全球)。
* @return serviceArea
*/
public ServiceAreaEnum getServiceArea() {
return serviceArea;
}
public void setServiceArea(ServiceAreaEnum serviceArea) {
this.serviceArea = serviceArea;
}
public ShowTopUrlRequest withStatType(StatTypeEnum statType) {
this.statType = statType;
return this;
}
/**
* 参数类型支持:flux(流量),req_num(请求总数)。
* @return statType
*/
public StatTypeEnum getStatType() {
return statType;
}
public void setStatType(StatTypeEnum statType) {
this.statType = statType;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
ShowTopUrlRequest that = (ShowTopUrlRequest) obj;
return Objects.equals(this.enterpriseProjectId, that.enterpriseProjectId)
&& Objects.equals(this.startTime, that.startTime) && Objects.equals(this.endTime, that.endTime)
&& Objects.equals(this.domainName, that.domainName) && Objects.equals(this.serviceArea, that.serviceArea)
&& Objects.equals(this.statType, that.statType);
}
@Override
public int hashCode() {
return Objects.hash(enterpriseProjectId, startTime, endTime, domainName, serviceArea, statType);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ShowTopUrlRequest {\n");
sb.append(" enterpriseProjectId: ").append(toIndentedString(enterpriseProjectId)).append("\n");
sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n");
sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n");
sb.append(" domainName: ").append(toIndentedString(domainName)).append("\n");
sb.append(" serviceArea: ").append(toIndentedString(serviceArea)).append("\n");
sb.append(" statType: ").append(toIndentedString(statType)).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 ");
}
}