com.huaweicloud.sdk.iotda.v5.model.ListRoutingFlowControlPolicyRequest Maven / Gradle / Ivy
package com.huaweicloud.sdk.iotda.v5.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
/**
* Request Object
*/
public class ListRoutingFlowControlPolicyRequest {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "Instance-Id")
private String instanceId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "scope")
private String scope;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "scope_value")
private String scopeValue;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "policy_name")
private String policyName;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "limit")
private Integer limit;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "marker")
private String marker;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "offset")
private Integer offset;
public ListRoutingFlowControlPolicyRequest withInstanceId(String instanceId) {
this.instanceId = instanceId;
return this;
}
/**
* **参数说明**:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。
* @return instanceId
*/
public String getInstanceId() {
return instanceId;
}
public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}
public ListRoutingFlowControlPolicyRequest withScope(String scope) {
this.scope = scope;
return this;
}
/**
* **参数说明**:流控策略作用域。不携带该参数时,查询所有作用域流控策略;取值USER时,查询租户级流控策略;取值为CHANNEL时,查询转发通道级流控策略;取值为RULE时,查询转发规则级流控策略;取值为ACTION时,查询转发动作级流控策略。
* @return scope
*/
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
public ListRoutingFlowControlPolicyRequest withScopeValue(String scopeValue) {
this.scopeValue = scopeValue;
return this;
}
/**
* **参数说明**:流控策略作用域附加值。 不携带scope参数或scope参数取值为USER时,可不携带该字段,查询租户级流控策略。 scope参数取值为CHANNEL时,不携带该字段表示查询所有转发通道级流控策略,携带该字段表示查询该字段取值对应转发通道的流控策略。**取值范围**:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope参数为RULE时,不携带该字段表示查询所有转发规则级流控策略,携带该字段表示查询该字段取值对应转发规则的流控策略。 scope参数为ACTION时,不携带该字段表示查询所有转发动作级流控策略,携带该字段表示查询该字段取值对应转发动作的流控策略。
* @return scopeValue
*/
public String getScopeValue() {
return scopeValue;
}
public void setScopeValue(String scopeValue) {
this.scopeValue = scopeValue;
}
public ListRoutingFlowControlPolicyRequest withPolicyName(String policyName) {
this.policyName = policyName;
return this;
}
/**
* **参数说明**:数据流转流控策略名称。 **取值范围**:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。
* @return policyName
*/
public String getPolicyName() {
return policyName;
}
public void setPolicyName(String policyName) {
this.policyName = policyName;
}
public ListRoutingFlowControlPolicyRequest withLimit(Integer limit) {
this.limit = limit;
return this;
}
/**
* **参数说明**:分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录。 **取值范围**:1-50的整数,默认值为10。
* minimum: 1
* maximum: 50
* @return limit
*/
public Integer getLimit() {
return limit;
}
public void setLimit(Integer limit) {
this.limit = limit;
}
public ListRoutingFlowControlPolicyRequest withMarker(String marker) {
this.marker = marker;
return this;
}
/**
* **参数说明**:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 **取值范围**:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。
* @return marker
*/
public String getMarker() {
return marker;
}
public void setMarker(String marker) {
this.marker = marker;
}
public ListRoutingFlowControlPolicyRequest withOffset(Integer offset) {
this.offset = offset;
return this;
}
/**
* **参数说明**:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。 - 限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 **取值范围**:0-500的整数,默认为0。
* minimum: 0
* maximum: 500
* @return offset
*/
public Integer getOffset() {
return offset;
}
public void setOffset(Integer offset) {
this.offset = offset;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
ListRoutingFlowControlPolicyRequest that = (ListRoutingFlowControlPolicyRequest) obj;
return Objects.equals(this.instanceId, that.instanceId) && Objects.equals(this.scope, that.scope)
&& Objects.equals(this.scopeValue, that.scopeValue) && Objects.equals(this.policyName, that.policyName)
&& Objects.equals(this.limit, that.limit) && Objects.equals(this.marker, that.marker)
&& Objects.equals(this.offset, that.offset);
}
@Override
public int hashCode() {
return Objects.hash(instanceId, scope, scopeValue, policyName, limit, marker, offset);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ListRoutingFlowControlPolicyRequest {\n");
sb.append(" instanceId: ").append(toIndentedString(instanceId)).append("\n");
sb.append(" scope: ").append(toIndentedString(scope)).append("\n");
sb.append(" scopeValue: ").append(toIndentedString(scopeValue)).append("\n");
sb.append(" policyName: ").append(toIndentedString(policyName)).append("\n");
sb.append(" limit: ").append(toIndentedString(limit)).append("\n");
sb.append(" marker: ").append(toIndentedString(marker)).append("\n");
sb.append(" offset: ").append(toIndentedString(offset)).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 ");
}
}