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  }