github.com/jenkins-x/jx/v2@v2.1.155/pkg/cloud/gke/interface.go (about) 1 package gke 2 3 import "k8s.io/client-go/kubernetes" 4 5 // GClouder interface to define interactions with the gcloud command 6 //go:generate pegomock generate github.com/jenkins-x/jx/v2/pkg/cloud/gke GClouder -o mocks/gclouder.go 7 type GClouder interface { 8 CreateManagedZone(projectID string, domain string) error 9 CreateDNSZone(projectID string, domain string) (string, []string, error) 10 GetManagedZoneNameServers(projectID string, domain string) (string, []string, error) 11 ClusterZone(cluster string) (string, error) 12 BucketExists(projectID string, bucketName string) (bool, error) 13 CreateBucket(projectID string, bucketName string, location string) error 14 AddBucketLabel(bucketName string, label string) 15 FindBucket(bucketName string) bool 16 DeleteAllObjectsInBucket(bucketName string) error 17 DeleteBucket(bucketName string) error 18 FindServiceAccount(serviceAccount string, projectID string) bool 19 GetOrCreateServiceAccount(serviceAccount string, projectID string, clusterConfigDir string, roles []string) (string, error) 20 CreateServiceAccountKey(serviceAccount string, projectID string, keyPath string) error 21 GetServiceAccountKeys(serviceAccount string, projectID string) ([]string, error) 22 ListClusters(region string, projectID string) ([]Cluster, error) 23 LoadGkeCluster(region string, projectID string, clusterName string) (*Cluster, error) 24 UpdateGkeClusterLabels(region string, projectID string, clusterName string, labels []string) error 25 DeleteServiceAccountKey(serviceAccount string, projectID string, key string) error 26 CleanupServiceAccountKeys(serviceAccount string, projectID string) error 27 DeleteServiceAccount(serviceAccount string, projectID string, roles []string) error 28 GetEnabledApis(projectID string) ([]string, error) 29 EnableAPIs(projectID string, apis ...string) error 30 Login(serviceAccountKeyPath string, skipLogin bool) error 31 CheckPermission(perm string, projectID string) (bool, error) 32 CreateKmsKeyring(keyringName string, projectID string) error 33 IsKmsKeyringAvailable(keyringName string, projectID string) bool 34 CreateKmsKey(keyName string, keyringName string, projectID string) error 35 IsKmsKeyAvailable(keyName string, keyringName string, projectID string) bool 36 IsGCSWriteRoleEnabled(cluster string, zone string) (bool, error) 37 UserLabel() string 38 CreateGCPServiceAccount(kubeClient kubernetes.Interface, serviceName, serviceAbbreviation, namespace, clusterName, projectID string, serviceAccountRoles []string, serviceAccountSecretKey string) (string, error) 39 ConnectToCluster(projectID, zone, clusterName string) error 40 ConnectToRegionCluster(projectID, region, clusterName string) error 41 ConfigureBucketRoles(projectID string, serviceAccount string, bucketURL string, roles []string) error 42 GetProjectNumber(projectID string) (string, error) 43 }