Documentation ¶
Index ¶
- Variables
- type ConnectionProducer
- type SQLConnectionProducer
- func (c *SQLConnectionProducer) Close() error
- func (c *SQLConnectionProducer) Connection(ctx context.Context) (interface{}, error)
- func (c *SQLConnectionProducer) Init(ctx context.Context, conf map[string]interface{}, verifyConnection bool) (map[string]interface{}, error)
- func (c *SQLConnectionProducer) Initialize(ctx context.Context, conf map[string]interface{}, verifyConnection bool) error
- func (c *SQLConnectionProducer) SecretValues() map[string]interface{}
- func (c *SQLConnectionProducer) SetCredentials(ctx context.Context, statements dbplugin.Statements, ...) (username, password string, err error)
Constants ¶
This section is empty.
Variables ¶
var ErrNotInitialized = errors.New("connection has not been initialized")
Functions ¶
This section is empty.
Types ¶
type ConnectionProducer ¶
type ConnectionProducer interface { Close() error Init(context.Context, map[string]interface{}, bool) (map[string]interface{}, error) Connection(context.Context) (interface{}, error) sync.Locker // DEPRECATED, will be removed in 0.12 Initialize(context.Context, map[string]interface{}, bool) error }
ConnectionProducer can be used as an embedded interface in the Database definition. It implements the methods dealing with individual database connections and is used in all the builtin database types.
type SQLConnectionProducer ¶
type SQLConnectionProducer struct { ConnectionURL string `json:"connection_url" mapstructure:"connection_url" structs:"connection_url"` MaxOpenConnections int `json:"max_open_connections" mapstructure:"max_open_connections" structs:"max_open_connections"` MaxIdleConnections int `json:"max_idle_connections" mapstructure:"max_idle_connections" structs:"max_idle_connections"` MaxConnectionLifetimeRaw interface{} `json:"max_connection_lifetime" mapstructure:"max_connection_lifetime" structs:"max_connection_lifetime"` Username string `json:"username" mapstructure:"username" structs:"username"` Password string `json:"password" mapstructure:"password" structs:"password"` DisableEscaping bool `json:"disable_escaping" mapstructure:"disable_escaping" structs:"disable_escaping"` Type string RawConfig map[string]interface{} Initialized bool sync.Mutex // contains filtered or unexported fields }
SQLConnectionProducer implements ConnectionProducer and provides a generic producer for most sql databases
func (*SQLConnectionProducer) Close ¶
func (c *SQLConnectionProducer) Close() error
Close attempts to close the connection
func (*SQLConnectionProducer) Connection ¶
func (c *SQLConnectionProducer) Connection(ctx context.Context) (interface{}, error)
func (*SQLConnectionProducer) Initialize ¶
func (*SQLConnectionProducer) SecretValues ¶
func (c *SQLConnectionProducer) SecretValues() map[string]interface{}
func (*SQLConnectionProducer) SetCredentials ¶
func (c *SQLConnectionProducer) SetCredentials(ctx context.Context, statements dbplugin.Statements, staticUser dbplugin.StaticUserConfig) (username, password string, err error)
SetCredentials uses provided information to set/create a user in the database. Unlike CreateUser, this method requires a username be provided and uses the name given, instead of generating a name. This is used for creating and setting the password of static accounts, as well as rolling back passwords in the database in the event an updated database fails to save in Vault's storage.