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  }