...

Source file src/edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/plugins/thinclient/configobject/configmap.go

Documentation: edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/plugins/thinclient/configobject

     1  package configobject
     2  
     3  import (
     4  	corev1 "k8s.io/api/core/v1"
     5  	"k8s.io/apimachinery/pkg/fields"
     6  	"k8s.io/apimachinery/pkg/labels"
     7  
     8  	"edge-infra.dev/pkg/sds/lib/os/file"
     9  	"edge-infra.dev/pkg/sds/lib/os/passthrough"
    10  )
    11  
    12  var configMapObjectType = "ConfigMap"
    13  
    14  type ConfigMap struct {
    15  	corev1.ConfigMap
    16  }
    17  
    18  func (configMap *ConfigMap) ObjectType() string {
    19  	return configMapObjectType
    20  }
    21  
    22  func (configMap *ConfigMap) GetFiles() map[string][]byte {
    23  	return mapStringValuesToBytes(configMap.Data)
    24  }
    25  
    26  func mapStringValuesToBytes[K comparable](stringMap map[K]string) map[K][]byte {
    27  	byteMap := map[K][]byte{}
    28  	for key, value := range stringMap {
    29  		byteMap[key] = []byte(value)
    30  	}
    31  	return byteMap
    32  }
    33  
    34  func (configMap *ConfigMap) GetLabelsSet() labels.Set {
    35  	return labels.Set(configMap.GetLabels())
    36  }
    37  
    38  func (configMap *ConfigMap) GetFieldsSet() (fields.Set, error) {
    39  	return getFieldsSetFromConfigObject(configMap)
    40  }
    41  
    42  func (configMap *ConfigMap) Update(directory string, service string, fileHandler file.File, passthrough passthrough.Exec) error {
    43  	return updateConfigObject(configMap, directory, service, fileHandler, passthrough)
    44  }
    45  
    46  func (configMap *ConfigMap) UpdateFiles(directory string, fileHandler file.File) (bool, error) {
    47  	return updateConfigObjectFiles(configMap, directory, fileHandler)
    48  }
    49  
    50  func NewFromConfigMap(configMap corev1.ConfigMap) ConfigObject {
    51  	return &ConfigMap{configMap}
    52  }
    53  

View as plain text