open-consul/api/config_entry_rate_limit_ip.go

82 lines
2.4 KiB
Go
Raw Normal View History

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package api
type readWriteRatesConfig struct {
ReadRate float64
WriteRate float64
}
type RateLimitIPConfigEntry struct {
// Kind of the config entry. This will be set to structs.RateLimitIPConfig
Kind string
Name string
Mode string // {permissive, enforcing, disabled}
Meta map[string]string `json:",omitempty"`
// overall limits
ReadRate float64
WriteRate float64
//limits specific to a type of call
ACL *readWriteRatesConfig `json:",omitempty"`
Catalog *readWriteRatesConfig `json:",omitempty"`
ConfigEntry *readWriteRatesConfig `json:",omitempty"`
ConnectCA *readWriteRatesConfig `json:",omitempty"`
Coordinate *readWriteRatesConfig `json:",omitempty"`
DiscoveryChain *readWriteRatesConfig `json:",omitempty"`
Health *readWriteRatesConfig `json:",omitempty"`
Intention *readWriteRatesConfig `json:",omitempty"`
KV *readWriteRatesConfig `json:",omitempty"`
Tenancy *readWriteRatesConfig `json:",omitempty"`
PreparedQuery *readWriteRatesConfig `json:",omitempty"`
Session *readWriteRatesConfig `json:",omitempty"`
Txn *readWriteRatesConfig `json:",omitempty"`
// Partition is the partition the config entry is associated with.
// Partitioning is a Consul Enterprise feature.
Partition string `json:",omitempty"`
// Namespace is the namespace the config entry is associated with.
// Namespacing is a Consul Enterprise feature.
Namespace string `json:",omitempty"`
// CreateIndex is the Raft index this entry was created at. This is a
// read-only field.
CreateIndex uint64
// ModifyIndex is used for the Check-And-Set operations and can also be fed
// back into the WaitIndex of the QueryOptions in order to perform blocking
// queries.
ModifyIndex uint64
}
func (r *RateLimitIPConfigEntry) GetKind() string {
return RateLimitIPConfig
}
func (r *RateLimitIPConfigEntry) GetName() string {
if r == nil {
return ""
}
return r.Name
}
func (r *RateLimitIPConfigEntry) GetPartition() string {
return r.Partition
}
func (r *RateLimitIPConfigEntry) GetNamespace() string {
return r.Namespace
}
func (r *RateLimitIPConfigEntry) GetMeta() map[string]string {
if r == nil {
return nil
}
return r.Meta
}
func (r *RateLimitIPConfigEntry) GetCreateIndex() uint64 {
return r.CreateIndex
}
func (r *RateLimitIPConfigEntry) GetModifyIndex() uint64 {
return r.ModifyIndex
}