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.230.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.
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
¶
| 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). |