github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/common/configmap.go (about) 1 package common 2 3 import ( 4 "context" 5 6 corev1 "k8s.io/api/core/v1" 7 k8sErrors "k8s.io/apimachinery/pkg/api/errors" 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 ) 10 11 // Create and return a configmap by cm name and namespace from the cluster 12 func (s *SuiteController) CreateConfigMap(cm *corev1.ConfigMap, namespace string) (*corev1.ConfigMap, error) { 13 return s.KubeInterface().CoreV1().ConfigMaps(namespace).Create(context.Background(), cm, metav1.CreateOptions{}) 14 } 15 16 // Update and return a configmap by configmap cm name and namespace from the cluster 17 func (s *SuiteController) UpdateConfigMap(cm *corev1.ConfigMap, namespace string) (*corev1.ConfigMap, error) { 18 return s.KubeInterface().CoreV1().ConfigMaps(namespace).Update(context.Background(), cm, metav1.UpdateOptions{}) 19 } 20 21 // Get a configmap by name and namespace from the cluster 22 func (s *SuiteController) GetConfigMap(name, namespace string) (*corev1.ConfigMap, error) { 23 return s.KubeInterface().CoreV1().ConfigMaps(namespace).Get(context.Background(), name, metav1.GetOptions{}) 24 } 25 26 // DeleteConfigMaps delete a ConfigMap. Optionally, it can avoid returning an error if the resource did not exist: 27 // - specify 'false' if it's likely the ConfigMap has already been deleted (for example, because the Namespace was deleted) 28 func (s *SuiteController) DeleteConfigMap(name, namespace string, returnErrorOnNotFound bool) error { 29 err := s.KubeInterface().CoreV1().ConfigMaps(namespace).Delete(context.Background(), name, metav1.DeleteOptions{}) 30 if err != nil && k8sErrors.IsNotFound(err) && !returnErrorOnNotFound { 31 err = nil // Ignore not found errors, if requested 32 } 33 return err 34 }