 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package internal supports the options and transport packages.
Package internal supports the options and transport packages.
Index ¶
- Constants
- func AuthCreds(ctx context.Context, settings *DialSettings) (*auth.Credentials, error)
- func Creds(ctx context.Context, ds *DialSettings) (*google.Credentials, error)
- func GetGRPCTransportConfigAndEndpoint(settings *DialSettings) (credentials.TransportCredentials, string, error)
- func GetHTTPTransportConfigAndEndpoint(settings *DialSettings) (cert.Source, func(context.Context, string, string) (net.Conn, error), string, ...)
- func GetOAuth2Configuration(ctx context.Context, settings *DialSettings) (string, *http.Client, error)
- func GetQuotaProject(creds *google.Credentials, clientOpt string) string
- func GetS2AAddress() string
- func GetUniverseDomain(creds *google.Credentials) (string, error)
- type ConnPool
- type DialSettings
- func (ds *DialSettings) GetAudience() string
- func (ds *DialSettings) GetDefaultUniverseDomain() string
- func (ds *DialSettings) GetScopes() []string
- func (ds *DialSettings) GetUniverseDomain() string
- func (ds *DialSettings) HasCustomAudience() bool
- func (ds *DialSettings) IsNewAuthLibraryEnabled() bool
- func (ds *DialSettings) IsUniverseDomainGDU() bool
- func (ds *DialSettings) Validate() error
 
Constants ¶
const Version = "0.254.0"
    Version is the current tagged release of the library.
Variables ¶
This section is empty.
Functions ¶
func AuthCreds ¶ added in v0.210.0
func AuthCreds(ctx context.Context, settings *DialSettings) (*auth.Credentials, error)
AuthCreds returns cloud.google.com/go/auth.Credentials based on credentials options provided via [option.ClientOption], including legacy oauth2/google options. If there are no applicable options, then it returns the result of cloud.google.com/go/auth/credentials.DetectDefault. Note: If NoAuth is true, when google.golang.org/api/option.WithoutAuthentication is passed, then no authentication will be performed and this function will return nil, nil.
func Creds ¶
func Creds(ctx context.Context, ds *DialSettings) (*google.Credentials, error)
Creds returns credential information obtained from DialSettings, or if none, then it returns default credential information.
func GetGRPCTransportConfigAndEndpoint ¶ added in v0.117.0
func GetGRPCTransportConfigAndEndpoint(settings *DialSettings) (credentials.TransportCredentials, string, error)
GetGRPCTransportConfigAndEndpoint returns an instance of credentials.TransportCredentials, and the corresponding endpoint to use for GRPC client.
func GetHTTPTransportConfigAndEndpoint ¶ added in v0.117.0
func GetHTTPTransportConfigAndEndpoint(settings *DialSettings) (cert.Source, func(context.Context, string, string) (net.Conn, error), string, error)
GetHTTPTransportConfigAndEndpoint returns a client certificate source, a function for dialing MTLS with S2A, and the endpoint to use for HTTP client.
func GetOAuth2Configuration ¶ added in v0.184.0
func GetOAuth2Configuration(ctx context.Context, settings *DialSettings) (string, *http.Client, error)
GetOAuth2Configuration determines configurations for the OAuth2 transport, which is separate from the API transport. The OAuth2 transport and endpoint will be configured for mTLS if applicable.
func GetQuotaProject ¶ added in v0.113.0
func GetQuotaProject(creds *google.Credentials, clientOpt string) string
GetQuotaProject retrieves quota project with precedence being: client option, environment variable, creds file.
func GetS2AAddress ¶ added in v0.117.0
func GetS2AAddress() string
GetS2AAddress returns the S2A address to be reached via plaintext connection.
func GetUniverseDomain ¶ added in v0.162.0
func GetUniverseDomain(creds *google.Credentials) (string, error)
GetUniverseDomain returns the default service domain for a given Cloud universe, from google.Credentials. This wrapper function should be removed to close https://github.com/googleapis/google-api-go-client/issues/2399.
Types ¶
type ConnPool ¶ added in v0.17.0
type ConnPool interface {
	// Conn returns a ClientConn from the pool.
	//
	// Conns aren't returned to the pool.
	Conn() *grpc.ClientConn
	// Num returns the number of connections in the pool.
	//
	// It will always return the same value.
	Num() int
	// Close closes every ClientConn in the pool.
	//
	// The error returned by Close may be a single error or multiple errors.
	Close() error
	// ConnPool implements grpc.ClientConnInterface to enable it to be used directly with generated proto stubs.
	grpc.ClientConnInterface
}
    ConnPool is a pool of grpc.ClientConns.
type DialSettings ¶
type DialSettings struct {
	Endpoint                      string
	DefaultEndpoint               string
	DefaultEndpointTemplate       string
	DefaultMTLSEndpoint           string
	Scopes                        []string
	DefaultScopes                 []string
	EnableJwtWithScope            bool
	TokenSource                   oauth2.TokenSource
	Credentials                   *google.Credentials
	CredentialsFile               string // if set, Token Source is ignored.
	CredentialsJSON               []byte
	InternalCredentials           *google.Credentials
	UserAgent                     string
	APIKey                        string
	Audiences                     []string
	DefaultAudience               string
	HTTPClient                    *http.Client
	GRPCDialOpts                  []grpc.DialOption
	GRPCConn                      *grpc.ClientConn
	GRPCConnPool                  ConnPool
	GRPCConnPoolSize              int
	NoAuth                        bool
	TelemetryDisabled             bool
	ClientCertSource              func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
	CustomClaims                  map[string]interface{}
	SkipValidation                bool
	ImpersonationConfig           *impersonate.Config
	EnableDirectPath              bool
	EnableDirectPathXds           bool
	AllowNonDefaultServiceAccount bool
	DefaultUniverseDomain         string
	UniverseDomain                string
	AllowHardBoundTokens          []string
	Logger                        *slog.Logger
	// Google API system parameters. For more information please read:
	// https://cloud.google.com/apis/docs/system-parameters
	QuotaProject  string
	RequestReason string
	// New Auth library Options
	AuthCredentials      *auth.Credentials
	EnableNewAuthLibrary bool
	// TODO(b/372244283): Remove after b/358175516 has been fixed
	EnableAsyncRefreshDryRun func()
}
    DialSettings holds information needed to establish a connection with a Google API service.
func (*DialSettings) GetAudience ¶ added in v0.49.0
func (ds *DialSettings) GetAudience() string
GetAudience returns the user-provided audience, if set, or else falls back to the default audience.
func (*DialSettings) GetDefaultUniverseDomain ¶ added in v0.158.0
func (ds *DialSettings) GetDefaultUniverseDomain() string
GetDefaultUniverseDomain returns the Google default universe domain ("googleapis.com").
func (*DialSettings) GetScopes ¶ added in v0.36.0
func (ds *DialSettings) GetScopes() []string
GetScopes returns the user-provided scopes, if set, or else falls back to the default scopes.
func (*DialSettings) GetUniverseDomain ¶ added in v0.158.0
func (ds *DialSettings) GetUniverseDomain() string
GetUniverseDomain returns the default service domain for a given Cloud universe, with the following precedence:
1. A non-empty option.WithUniverseDomain. 2. A non-empty environment variable GOOGLE_CLOUD_UNIVERSE_DOMAIN. 3. The default value "googleapis.com".
func (*DialSettings) HasCustomAudience ¶ added in v0.49.0
func (ds *DialSettings) HasCustomAudience() bool
HasCustomAudience returns true if a custom audience is provided by users.
func (*DialSettings) IsNewAuthLibraryEnabled ¶ added in v0.142.0
func (ds *DialSettings) IsNewAuthLibraryEnabled() bool
IsNewAuthLibraryEnabled returns true if the new auth library should be used.
func (*DialSettings) IsUniverseDomainGDU ¶ added in v0.158.0
func (ds *DialSettings) IsUniverseDomainGDU() bool
IsUniverseDomainGDU returns true if the universe domain is the default Google universe ("googleapis.com").
func (*DialSettings) Validate ¶
func (ds *DialSettings) Validate() error
Validate reports an error if ds is invalid.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package cert contains certificate tools for Google API clients. | Package cert contains certificate tools for Google API clients. | 
| examples
       | |
| 
          
            fake
            
            
          
           Package fake demonstrates how to use concrete services and fake the interactions with them in tests. | Package fake demonstrates how to use concrete services and fake the interactions with them in tests. | 
| 
          
            mock
            
            
          
           Package mock demonstrates how to use interfaces to mock interactions with service in tests. | Package mock demonstrates how to use interfaces to mock interactions with service in tests. | 
| Package gensupport is an internal implementation detail used by code generated by the google-api-go-generator tool. | Package gensupport is an internal implementation detail used by code generated by the google-api-go-generator tool. | 
| Package impersonate is used to impersonate Google Credentials. | Package impersonate is used to impersonate Google Credentials. | 
| kokoro
       | |
| 
          
            discogen
            module
            
          
          
         | |
| third_party
       | |
| 
          
            uritemplates
            
            
          
           Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570). | Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570). |