github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/tekton/persistent_volume_claims.go (about) 1 package tekton 2 3 import ( 4 "context" 5 6 corev1 "k8s.io/api/core/v1" 7 "k8s.io/apimachinery/pkg/api/resource" 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 ) 10 11 // CreatePVCInAccessMode creates a PVC with mode as passed in arguments. 12 func (t *TektonController) CreatePVCInAccessMode(name, namespace string, accessMode corev1.PersistentVolumeAccessMode) (*corev1.PersistentVolumeClaim, error) { 13 pvc := &corev1.PersistentVolumeClaim{ 14 ObjectMeta: metav1.ObjectMeta{ 15 Name: name, 16 Namespace: namespace, 17 }, 18 Spec: corev1.PersistentVolumeClaimSpec{ 19 AccessModes: []corev1.PersistentVolumeAccessMode{ 20 accessMode, 21 }, 22 Resources: corev1.ResourceRequirements{ 23 Requests: corev1.ResourceList{ 24 corev1.ResourceStorage: resource.MustParse("1Gi"), 25 }, 26 }, 27 }, 28 } 29 30 createdPVC, err := t.KubeInterface().CoreV1().PersistentVolumeClaims(namespace).Create(context.Background(), pvc, metav1.CreateOptions{}) 31 if err != nil { 32 return nil, err 33 } 34 return createdPVC, err 35 } 36 37 func (t *TektonController) DeletePVC(name, namespace string) error { 38 return t.KubeInterface().CoreV1().PersistentVolumeClaims(namespace).Delete(context.Background(), name, metav1.DeleteOptions{}) 39 } 40 41 func (t *TektonController) GetPVC(name, namespace string) (*corev1.PersistentVolumeClaim, error) { 42 return t.KubeInterface().CoreV1().PersistentVolumeClaims(namespace).Get(context.Background(), name, metav1.GetOptions{}) 43 }