Documentation ¶
Index ¶
- Constants
- type ConnName
- type Instance
- func (i *Instance) Close()
- func (i *Instance) ConnectInfo(ctx context.Context, ipType string) (string, *tls.Config, error)
- func (i *Instance) ForceRefresh()
- func (i *Instance) InstanceEngineVersion(ctx context.Context) (string, error)
- func (i *Instance) String() string
- func (i *Instance) UpdateRefresh(cfg RefreshCfg)
- type RefreshCfg
Constants ¶
const ( // PublicIP is the value for public IP Cloud SQL instances. PublicIP = "PUBLIC" // PrivateIP is the value for private IP Cloud SQL instances. PrivateIP = "PRIVATE" // PSC is the value for private service connect Cloud SQL instances. PSC = "PSC" // AutoIP selects public IP if available and otherwise selects private // IP. AutoIP = "AutoIP" )
const ( // RefreshTimeout is the maximum amount of time to wait for a refresh // cycle to complete. This value should be greater than the // refreshInterval. RefreshTimeout = 60 * time.Second )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnName ¶ added in v1.2.3
type ConnName struct {
// contains filtered or unexported fields
}
ConnName represents the "instance connection name", in the format "project:region:name".
func ParseConnName ¶ added in v1.2.3
ParseConnName initializes a new ConnName struct.
type Instance ¶
type Instance struct { // OpenConns is the number of open connections to the instance. OpenConns uint64 ConnName RefreshCfg RefreshCfg // contains filtered or unexported fields }
Instance manages the information used to connect to the Cloud SQL instance by periodically calling the Cloud SQL Admin API. It automatically refreshes the required information approximately 4 minutes before the previous certificate expires (every ~56 minutes).
func NewInstance ¶
func NewInstance( cn ConnName, client *sqladmin.Service, key *rsa.PrivateKey, refreshTimeout time.Duration, ts oauth2.TokenSource, dialerID string, r RefreshCfg, ) *Instance
NewInstance initializes a new Instance given an instance connection name
func (*Instance) Close ¶
func (i *Instance) Close()
Close closes the instance; it stops the refresh cycle and prevents it from making additional calls to the Cloud SQL Admin API.
func (*Instance) ConnectInfo ¶
ConnectInfo returns an IP address specified by ipType (i.e., public or private) and a TLS config that can be used to connect to a Cloud SQL instance.
func (*Instance) ForceRefresh ¶
func (i *Instance) ForceRefresh()
ForceRefresh triggers an immediate refresh operation to be scheduled and used for future connection attempts. Until the refresh completes, the existing connection info will be available for use if valid.
func (*Instance) InstanceEngineVersion ¶
InstanceEngineVersion returns the engine type and version for the instance. The value corresponds to one of the following types for the instance: https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/SqlDatabaseVersion
func (*Instance) UpdateRefresh ¶ added in v0.4.0
func (i *Instance) UpdateRefresh(cfg RefreshCfg)
UpdateRefresh cancels all existing refresh attempts and schedules new attempts with the provided config.
type RefreshCfg ¶ added in v0.4.0
type RefreshCfg struct {
UseIAMAuthN bool
}
RefreshCfg is a collection of attributes that trigger new refresh operations.