pub struct Rule {Show 31 fields
    pub id: Option<String>,
    pub service: Option<String>,
    pub namespace: Option<String>,
    pub subset: HashMap<String, MatchString>,
    pub priority: Option<u32>,
    pub resource: i32,
    pub type: i32,
    pub labels: HashMap<String, MatchString>,
    pub amounts: Vec<Amount>,
    pub action: Option<String>,
    pub disable: Option<bool>,
    pub report: Option<Report>,
    pub ctime: Option<String>,
    pub mtime: Option<String>,
    pub revision: Option<String>,
    pub service_token: Option<String>,
    pub adjuster: Option<AmountAdjuster>,
    pub regex_combine: Option<bool>,
    pub amount_mode: i32,
    pub failover: i32,
    pub cluster: Option<RateLimitCluster>,
    pub method: Option<MatchString>,
    pub arguments: Vec<MatchArgument>,
    pub name: Option<String>,
    pub etime: Option<String>,
    pub max_queue_delay: Option<u32>,
    pub concurrency_amount: Option<ConcurrencyAmount>,
    pub custom_response: Option<CustomResponse>,
    pub metadata: HashMap<String, String>,
    pub editable: bool,
    pub deleteable: bool,
}Expand description
单个限流规则信息
Fields§
§id: Option<String>限流规则唯一标识
service: Option<String>限流规则所属服务名
namespace: Option<String>限流规则所属命名空间
subset: HashMap<String, MatchString>可选,SUBSET标识
priority: Option<u32>限流规则优先级,0值最高
resource: i32§type: i32§labels: HashMap<String, MatchString>业务标签集合,通过KV进行匹配,全部匹配才使用该规则
amounts: Vec<Amount>限流阈值 可以有多个粒度的配置(比如同时针对秒级,分钟级,天级),匹配一个则进行限流 全局限流模式下,该值为服务配额总量;单机限流模式下,该值为单个节点能处理的配额量
action: Option<String>限流动作,和 resource 配合决定插件名称
disable: Option<bool>是否停用该限流规则,默认启用
report: Option<Report>限流上报方式,同时支持按固定周期上报,以及达到配额百分比后上报
ctime: Option<String>限流规则创建时间
mtime: Option<String>限流规则修改时间
revision: Option<String>限流规则revision信息
service_token: Option<String>服务的TOKEN信息,仅用于控制台,discover接口不下发
adjuster: Option<AmountAdjuster>配额调整算法
regex_combine: Option<bool>通配符是否合并计算,默认分开计数
amount_mode: i32§failover: i32§cluster: Option<RateLimitCluster>分布式限流服务集群
method: Option<MatchString>被调接口名
arguments: Vec<MatchArgument>被调的参数过滤条件,满足过滤条件才进入限流规则
name: Option<String>限流规则名
etime: Option<String>限流规则启用时间
max_queue_delay: Option<u32>最大排队时长,单位秒
concurrency_amount: Option<ConcurrencyAmount>amount for concurrency rate-limit
custom_response: Option<CustomResponse>fallback configuration
metadata: HashMap<String, String>限流规则标签数据
editable: bool操作标志位
deleteable: boolImplementations§
Source§impl Rule
 
impl Rule
Sourcepub fn resource(&self) -> Resource
 
pub fn resource(&self) -> Resource
Returns the enum value of resource, or the default if the field is set to an invalid enum value.
Sourcepub fn set_resource(&mut self, value: Resource)
 
pub fn set_resource(&mut self, value: Resource)
Sets resource to the provided enum value.
Sourcepub fn type(&self) -> Type
 
pub fn type(&self) -> Type
Returns the enum value of type, or the default if the field is set to an invalid enum value.
Sourcepub fn amount_mode(&self) -> AmountMode
 
pub fn amount_mode(&self) -> AmountMode
Returns the enum value of amount_mode, or the default if the field is set to an invalid enum value.
Sourcepub fn set_amount_mode(&mut self, value: AmountMode)
 
pub fn set_amount_mode(&mut self, value: AmountMode)
Sets amount_mode to the provided enum value.
Sourcepub fn failover(&self) -> FailoverType
 
pub fn failover(&self) -> FailoverType
Returns the enum value of failover, or the default if the field is set to an invalid enum value.
Sourcepub fn set_failover(&mut self, value: FailoverType)
 
pub fn set_failover(&mut self, value: FailoverType)
Sets failover to the provided enum value.
Trait Implementations§
Source§impl Message for Rule
 
impl Message for Rule
Source§fn encoded_len(&self) -> usize
 
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
 
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
 
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
 
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
 
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
 
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
 
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self.impl StructuralPartialEq for Rule
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
 
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
 
fn into_request(self) -> Request<T>
T in a tonic::Request