Documentation ¶
Overview ¶
Package cbtconfig encapsulates common code for reading configuration from .cbtrc and gcloud.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
Project, Instance string // required
Creds string // optional
AdminEndpoint string // optional
DataEndpoint string // optional
CertFile string // optional
TokenSource oauth2.TokenSource // derived
TLSCreds credentials.TransportCredentials // derived
}
Config represents a configuration.
func (*Config) CheckFlags ¶
func (c *Config) CheckFlags(required RequiredFlags) error
CheckFlags checks that the required config values are set.
func (*Config) RegisterFlags ¶
func (c *Config) RegisterFlags()
RegisterFlags registers a set of standard flags for this config. It should be called before flag.Parse.
func (*Config) SetFromGcloud ¶
SetFromGcloud retrieves and sets any missing config values from the gcloud configuration if possible possible
type GcloudCmdTokenSource ¶
type GcloudConfig ¶
type GcloudConfig struct { Configuration struct { Properties struct { Core struct { Project string `json:"project"` } `json:"core"` } `json:"properties"` } `json:"configuration"` Credential GcloudCredential `json:"credential"` }
func LoadGcloudConfig ¶
func LoadGcloudConfig(gcloudCmd string, gcloudCmdArgs []string) (*GcloudConfig, error)
LoadGcloudConfig retrieves the gcloud configuration values we need use via the 'config-helper' command
type GcloudCredential ¶
type GcloudCredential struct { AccessToken string `json:"access_token"` Expiry time.Time `json:"token_expiry"` }
func (*GcloudCredential) Token ¶
func (cred *GcloudCredential) Token() *oauth2.Token
type RequiredFlags ¶
type RequiredFlags uint
const ( ProjectRequired RequiredFlags = 1 << iota InstanceRequired )
const NoneRequired RequiredFlags = 0
const ProjectAndInstanceRequired RequiredFlags = ProjectRequired | InstanceRequired
Click to show internal directories.
Click to hide internal directories.