Documentation
¶
Overview ¶
Package gcpcfg holds the Google Cloud connection settings shared by state backends, encrypters, and Go libraries. Load resolves a Configuration into credentials and client settings.
Index ¶
- func DefaultScopes() []string
- type Configuration
- func (c *Configuration) ClientOptions(service string) ([]option.ClientOption, error)
- func (c Configuration) Defaults() []defaults.Default
- func (c *Configuration) Endpoint(service string) string
- func (c *Configuration) KMSEndpoint() string
- func (c *Configuration) ScopeValues() []string
- func (c *Configuration) StorageEndpoint() string
- func (c *Configuration) Timeout() (time.Duration, error)
- func (c *Configuration) Validate() error
- type ResolvedConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultScopes ¶
func DefaultScopes() []string
DefaultScopes returns the OAuth scopes used when a config does not set scopes explicitly.
Types ¶
type Configuration ¶
type Configuration struct {
Project *string
BillingProject *string
Region *string
Zone *string
CredentialsFile *string
ImpersonateServiceAccount *string
ImpersonateServiceAccountDelegates *[]string
Scopes *[]string
Endpoints *map[string]string
UserProjectOverride *bool
RequestReason *string
RequestTimeout *string
UniverseDomain *string
PreferRegionalEndpoints *bool
PreferGlobalEndpoints *bool
}
Configuration selects how a component reaches Google Cloud. Credentials come from Application Default Credentials, metadata credentials, or a credentials file path; inline tokens and private keys do not belong here.
func (*Configuration) ClientOptions ¶
func (c *Configuration) ClientOptions(service string) ([]option.ClientOption, error)
ClientOptions returns Google API client options for service.
func (Configuration) Defaults ¶
func (c Configuration) Defaults() []defaults.Default
Defaults declares schema defaults for source analysis.
func (*Configuration) Endpoint ¶
func (c *Configuration) Endpoint(service string) string
Endpoint returns the endpoint configured for service.
func (*Configuration) KMSEndpoint ¶
func (c *Configuration) KMSEndpoint() string
KMSEndpoint returns the Google Cloud KMS endpoint override.
func (*Configuration) ScopeValues ¶
func (c *Configuration) ScopeValues() []string
ScopeValues returns configured scopes, or the default scopes when absent.
func (*Configuration) StorageEndpoint ¶
func (c *Configuration) StorageEndpoint() string
StorageEndpoint returns the Google Cloud Storage endpoint override.
func (*Configuration) Timeout ¶
func (c *Configuration) Timeout() (time.Duration, error)
Timeout returns the request timeout duration.
func (*Configuration) Validate ¶
func (c *Configuration) Validate() error
Validate checks static configuration that can be rejected without network I/O.
type ResolvedConfig ¶
type ResolvedConfig struct {
Project string
BillingProject string
Region string
Zone string
Credentials *auth.Credentials
TokenSource oauth2.TokenSource
Scopes []string
Endpoints map[string]string
UserProjectOverride bool
RequestReason string
RequestTimeout time.Duration
UniverseDomain string
PreferRegionalEndpoints bool
PreferGlobalEndpoints bool
}
ResolvedConfig contains resolved Google Cloud client settings and credentials.
func Load ¶
func Load(ctx context.Context, c *Configuration) (ResolvedConfig, error)
Load builds a ResolvedConfig from c through Application Default Credentials and environment defaults. A nil c applies no explicit overrides.
func (*ResolvedConfig) ClientOptions ¶
func (c *ResolvedConfig) ClientOptions(service string) []option.ClientOption
ClientOptions returns Google API client options for service.