mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-28 02:37:11 +00:00
Merge pull request #642 from marquiz/devel/feature-api
pkg/api/feature: small improvements
This commit is contained in:
commit
d957a9e4fb
2 changed files with 30 additions and 14 deletions
|
@ -20,17 +20,33 @@ package feature
|
|||
// features to empty values
|
||||
func NewDomainFeatures() *DomainFeatures {
|
||||
return &DomainFeatures{
|
||||
Keys: make(map[string]KeyFeatureSet),
|
||||
Values: make(map[string]ValueFeatureSet),
|
||||
Instances: make(map[string]InstanceFeatureSet)}
|
||||
Keys: make(map[string]*KeyFeatureSet),
|
||||
Values: make(map[string]*ValueFeatureSet),
|
||||
Instances: make(map[string]*InstanceFeatureSet)}
|
||||
}
|
||||
|
||||
func NewKeyFeatures() *KeyFeatureSet { return &KeyFeatureSet{Elements: make(map[string]Nil)} }
|
||||
|
||||
func NewValueFeatures() *ValueFeatureSet { return &ValueFeatureSet{Elements: make(map[string]string)} }
|
||||
|
||||
func NewInstanceFeatures() *InstanceFeatureSet { return &InstanceFeatureSet{} }
|
||||
|
||||
func NewInstanceFeature() *InstanceFeature {
|
||||
return &InstanceFeature{Attributes: make(map[string]string)}
|
||||
func NewKeyFeatures(keys ...string) *KeyFeatureSet {
|
||||
e := make(map[string]Nil, len(keys))
|
||||
for _, k := range keys {
|
||||
e[k] = Nil{}
|
||||
}
|
||||
return &KeyFeatureSet{Elements: e}
|
||||
}
|
||||
|
||||
func NewValueFeatures(values map[string]string) *ValueFeatureSet {
|
||||
if values == nil {
|
||||
values = make(map[string]string)
|
||||
}
|
||||
return &ValueFeatureSet{Elements: values}
|
||||
}
|
||||
|
||||
func NewInstanceFeatures(instances []InstanceFeature) *InstanceFeatureSet {
|
||||
return &InstanceFeatureSet{Elements: instances}
|
||||
}
|
||||
|
||||
func NewInstanceFeature(attrs map[string]string) *InstanceFeature {
|
||||
if attrs == nil {
|
||||
attrs = make(map[string]string)
|
||||
}
|
||||
return &InstanceFeature{Attributes: attrs}
|
||||
}
|
||||
|
|
|
@ -22,9 +22,9 @@ type Features map[string]*DomainFeatures
|
|||
|
||||
// DomainFeatures is the collection of all discovered features of one domain.
|
||||
type DomainFeatures struct {
|
||||
Keys map[string]KeyFeatureSet `protobuf:"bytes,1,rep,name=keys"`
|
||||
Values map[string]ValueFeatureSet `protobuf:"bytes,2,rep,name=values"`
|
||||
Instances map[string]InstanceFeatureSet `protobuf:"bytes,3,rep,name=instances"`
|
||||
Keys map[string]*KeyFeatureSet `protobuf:"bytes,1,rep,name=keys"`
|
||||
Values map[string]*ValueFeatureSet `protobuf:"bytes,2,rep,name=values"`
|
||||
Instances map[string]*InstanceFeatureSet `protobuf:"bytes,3,rep,name=instances"`
|
||||
}
|
||||
|
||||
// KeyFeatureSet is a set of simple features only containing names without values.
|
||||
|
|
Loading…
Add table
Reference in a new issue