// Clones the given map and returns a new map with the given key and value added. // Returns the given map, if labelKey is empty. func CloneAndAddLabel(labels map[string]string, labelKey, labelValue string) map[string]string { … } // CloneAndRemoveLabel clones the given map and returns a new map with the given key removed. // Returns the given map, if labelKey is empty. func CloneAndRemoveLabel(labels map[string]string, labelKey string) map[string]string { … } // AddLabel returns a map with the given key and value added to the given map. func AddLabel(labels map[string]string, labelKey, labelValue string) map[string]string { … } // Clones the given selector and returns a new selector with the given key and value added. // Returns the given selector, if labelKey is empty. func CloneSelectorAndAddLabel(selector *metav1.LabelSelector, labelKey, labelValue string) *metav1.LabelSelector { … } // AddLabelToSelector returns a selector with the given key and value added to the given selector's MatchLabels. func AddLabelToSelector(selector *metav1.LabelSelector, labelKey, labelValue string) *metav1.LabelSelector { … } // SelectorHasLabel checks if the given selector contains the given label key in its MatchLabels func SelectorHasLabel(selector *metav1.LabelSelector, labelKey string) bool { … }