Documentation
¶
Index ¶
- type FilterOperator
- type LabelFilter
- func (f *LabelFilter) FilterMap(items any, getLabelsFn func(any) map[string]string) []any
- func (f *LabelFilter) Matches(labels map[string]string) bool
- func (f *LabelFilter) String() string
- func (f *LabelFilter) WithCampusIn(campuses ...string) *LabelFilter
- func (f *LabelFilter) WithEnvironmentIn(environments ...string) *LabelFilter
- func (f *LabelFilter) WithExpression(key string, operator FilterOperator, values ...string) *LabelFilter
- func (f *LabelFilter) WithMatchLabel(key, value string) *LabelFilter
- func (f *LabelFilter) WithMatchLabels(labels map[string]string) *LabelFilter
- func (f *LabelFilter) WithRegionIn(regions ...string) *LabelFilter
- func (f *LabelFilter) WithZoneIn(zones ...string) *LabelFilter
- type LabelSelector
- type LabelSelectorRequirement
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FilterOperator ¶
type FilterOperator string
FilterOperator 定义过滤操作符,参考 Kubernetes Label Selector
const ( // 基于等式的操作符 FilterOpEquals FilterOperator = "=" // 等于 FilterOpNotEquals FilterOperator = "!=" // 不等于 // 基于集合的操作符 FilterOpIn FilterOperator = "in" // 在集合中 FilterOpNotIn FilterOperator = "notin" // 不在集合中 FilterOpExists FilterOperator = "exists" // 标签存在 FilterOpNotExist FilterOperator = "notexist" // 标签不存在 )
type LabelFilter ¶
type LabelFilter struct {
// contains filtered or unexported fields
}
LabelFilter 通用的标签过滤器,基于 Kubernetes LabelSelector 设计
func (*LabelFilter) Matches ¶
func (f *LabelFilter) Matches(labels map[string]string) bool
Matches 检查给定的标签是否匹配选择器
func (*LabelFilter) WithCampusIn ¶
func (f *LabelFilter) WithCampusIn(campuses ...string) *LabelFilter
WithCampusIn 添加园区 in 表达式(便捷方法)
func (*LabelFilter) WithEnvironmentIn ¶
func (f *LabelFilter) WithEnvironmentIn(environments ...string) *LabelFilter
WithEnvironmentIn 添加环境 in 表达式(便捷方法)
func (*LabelFilter) WithExpression ¶
func (f *LabelFilter) WithExpression(key string, operator FilterOperator, values ...string) *LabelFilter
WithExpression 添加表达式匹配
func (*LabelFilter) WithMatchLabel ¶
func (f *LabelFilter) WithMatchLabel(key, value string) *LabelFilter
WithMatchLabel 添加单个精确匹配的标签
func (*LabelFilter) WithMatchLabels ¶
func (f *LabelFilter) WithMatchLabels(labels map[string]string) *LabelFilter
WithMatchLabels 添加精确匹配的标签
func (*LabelFilter) WithRegionIn ¶
func (f *LabelFilter) WithRegionIn(regions ...string) *LabelFilter
WithRegionIn 添加地域 in 表达式(便捷方法)
func (*LabelFilter) WithZoneIn ¶
func (f *LabelFilter) WithZoneIn(zones ...string) *LabelFilter
WithZoneIn 添加可用区 in 表达式(便捷方法)
type LabelSelector ¶
type LabelSelector struct {
// MatchLabels 是一个键值对映射,所有键值对都必须匹配
MatchLabels map[string]string `json:"matchLabels,omitempty"`
// MatchExpressions 是标签选择器需求的列表
MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty"`
}
LabelSelector 标签选择器,参考 Kubernetes 设计
type LabelSelectorRequirement ¶
type LabelSelectorRequirement struct {
Key string `json:"key"` // 标签键
Operator FilterOperator `json:"operator"` // 操作符
Values []string `json:"values"` // 值列表
}
LabelSelectorRequirement 表示单个标签选择器需求
Click to show internal directories.
Click to hide internal directories.