...

Package util

import "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/util"
Overview
Index

Overview ▾

Package util contains utility functions for use throughout the Cloud SQL Auth proxy.

func GcloudTokenSource

func GcloudTokenSource(ctx context.Context) (oauth2.TokenSource, error)

func SplitName

func SplitName(instance string) (project, region, name string)

SplitName splits a fully qualified instance into its project, region, and instance name components. While we make the transition to regionalized metadata, the region is optional.

Examples:

   "proj:region:my-db" -> ("proj", "region", "my-db")
		"google.com:project:region:instance" -> ("google.com:project", "region", "instance")
		"google.com:missing:part" -> ("google.com:missing", "", "part")

type GcloudConfigData

GcloudConfigData represents the data returned by `gcloud config config-helper`.

type GcloudConfigData struct {
    Configuration struct {
        Properties struct {
            Core struct {
                Project string
                Account string
            }
        }
    }
    Credential struct {
        AccessToken string    `json:"access_token"`
        TokenExpiry time.Time `json:"token_expiry"`
    }
}

func GcloudConfig

func GcloudConfig() (*GcloudConfigData, error)

GcloudConfig returns a GcloudConfigData object or an error of type *GcloudError.

type GcloudError

type GcloudError struct {
    GcloudError error
    Status      GcloudStatusCode
}

func (*GcloudError) Error

func (e *GcloudError) Error() string

type GcloudStatusCode

type GcloudStatusCode int
const (
    GcloudOk GcloudStatusCode = iota
    GcloudNotFound
    // generic execution failure error not specified above.
    GcloudExecErr
)