Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package dbplugin is a generated protocol buffer package.
It is generated from these files:
builtin/logical/database/dbplugin/database.proto
It has these top-level messages:
InitializeRequest CreateUserRequest RenewUserRequest RevokeUserRequest Statements UsernameConfig CreateUserResponse TypeResponse Empty
Index ¶
- Variables
 - func RegisterDatabaseServer(s *grpc.Server, srv DatabaseServer)
 - func Serve(db Database, tlsProvider func() (*tls.Config, error))
 - func ServeConfig(db Database, tlsProvider func() (*tls.Config, error)) *plugin.ServeConfig
 - type CreateUserRequest
 - func (*CreateUserRequest) Descriptor() ([]byte, []int)
 - func (m *CreateUserRequest) GetExpiration() *google_protobuf.Timestamp
 - func (m *CreateUserRequest) GetStatements() *Statements
 - func (m *CreateUserRequest) GetUsernameConfig() *UsernameConfig
 - func (*CreateUserRequest) ProtoMessage()
 - func (m *CreateUserRequest) Reset()
 - func (m *CreateUserRequest) String() string
 
- type CreateUserRequestRPC
 - type CreateUserResponse
 - type Database
 - type DatabaseClient
 - type DatabasePlugin
 - func (DatabasePlugin) Client(b *plugin.MuxBroker, c *rpc.Client) (interface{}, error)
 - func (DatabasePlugin) GRPCClient(doneCtx context.Context, _ *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)
 - func (d DatabasePlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error
 - func (d DatabasePlugin) Server(*plugin.MuxBroker) (interface{}, error)
 
- type DatabasePluginClient
 - type DatabaseServer
 - type Empty
 - type InitializeRequest
 - type InitializeRequestRPC
 - type RenewUserRequest
 - func (*RenewUserRequest) Descriptor() ([]byte, []int)
 - func (m *RenewUserRequest) GetExpiration() *google_protobuf.Timestamp
 - func (m *RenewUserRequest) GetStatements() *Statements
 - func (m *RenewUserRequest) GetUsername() string
 - func (*RenewUserRequest) ProtoMessage()
 - func (m *RenewUserRequest) Reset()
 - func (m *RenewUserRequest) String() string
 
- type RenewUserRequestRPC
 - type RevokeUserRequest
 - type RevokeUserRequestRPC
 - type Statements
 - func (*Statements) Descriptor() ([]byte, []int)
 - func (m *Statements) GetCreationStatements() string
 - func (m *Statements) GetRenewStatements() string
 - func (m *Statements) GetRevocationStatements() string
 - func (m *Statements) GetRollbackStatements() string
 - func (*Statements) ProtoMessage()
 - func (m *Statements) Reset()
 - func (m *Statements) String() string
 
- type TypeResponse
 - type UsernameConfig
 
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var (
	ErrPluginShutdown = errors.New("plugin shutdown")
)
    Functions ¶
func RegisterDatabaseServer ¶ added in v0.9.1
func RegisterDatabaseServer(s *grpc.Server, srv DatabaseServer)
Types ¶
type CreateUserRequest ¶
type CreateUserRequest struct {
	Statements     *Statements                `protobuf:"bytes,1,opt,name=statements" json:"statements,omitempty"`
	UsernameConfig *UsernameConfig            `protobuf:"bytes,2,opt,name=username_config,json=usernameConfig" json:"username_config,omitempty"`
	Expiration     *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=expiration" json:"expiration,omitempty"`
}
    func (*CreateUserRequest) Descriptor ¶ added in v0.9.1
func (*CreateUserRequest) Descriptor() ([]byte, []int)
func (*CreateUserRequest) GetExpiration ¶ added in v0.9.1
func (m *CreateUserRequest) GetExpiration() *google_protobuf.Timestamp
func (*CreateUserRequest) GetStatements ¶ added in v0.9.1
func (m *CreateUserRequest) GetStatements() *Statements
func (*CreateUserRequest) GetUsernameConfig ¶ added in v0.9.1
func (m *CreateUserRequest) GetUsernameConfig() *UsernameConfig
func (*CreateUserRequest) ProtoMessage ¶ added in v0.9.1
func (*CreateUserRequest) ProtoMessage()
func (*CreateUserRequest) Reset ¶ added in v0.9.1
func (m *CreateUserRequest) Reset()
func (*CreateUserRequest) String ¶ added in v0.9.1
func (m *CreateUserRequest) String() string
type CreateUserRequestRPC ¶ added in v0.9.1
type CreateUserRequestRPC struct {
	Statements     Statements
	UsernameConfig UsernameConfig
	Expiration     time.Time
}
    type CreateUserResponse ¶
type CreateUserResponse struct {
	Username string `protobuf:"bytes,1,opt,name=username" json:"username,omitempty"`
	Password string `protobuf:"bytes,2,opt,name=password" json:"password,omitempty"`
}
    func (*CreateUserResponse) Descriptor ¶ added in v0.9.1
func (*CreateUserResponse) Descriptor() ([]byte, []int)
func (*CreateUserResponse) GetPassword ¶ added in v0.9.1
func (m *CreateUserResponse) GetPassword() string
func (*CreateUserResponse) GetUsername ¶ added in v0.9.1
func (m *CreateUserResponse) GetUsername() string
func (*CreateUserResponse) ProtoMessage ¶ added in v0.9.1
func (*CreateUserResponse) ProtoMessage()
func (*CreateUserResponse) Reset ¶ added in v0.9.1
func (m *CreateUserResponse) Reset()
func (*CreateUserResponse) String ¶ added in v0.9.1
func (m *CreateUserResponse) String() string
type Database ¶
type Database interface {
	Type() (string, error)
	CreateUser(ctx context.Context, statements Statements, usernameConfig UsernameConfig, expiration time.Time) (username string, password string, err error)
	RenewUser(ctx context.Context, statements Statements, username string, expiration time.Time) error
	RevokeUser(ctx context.Context, statements Statements, username string) error
	Initialize(ctx context.Context, config map[string]interface{}, verifyConnection bool) error
	Close() error
}
    Database is the interface that all database objects must implement.
func PluginFactory ¶
func PluginFactory(ctx context.Context, pluginName string, sys pluginutil.LookRunnerUtil, logger log.Logger) (Database, error)
PluginFactory is used to build plugin database types. It wraps the database object in a logging and metrics middleware.
type DatabaseClient ¶ added in v0.9.1
type DatabaseClient interface {
	Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error)
	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error)
	RenewUser(ctx context.Context, in *RenewUserRequest, opts ...grpc.CallOption) (*Empty, error)
	RevokeUser(ctx context.Context, in *RevokeUserRequest, opts ...grpc.CallOption) (*Empty, error)
	Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*Empty, error)
	Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
}
    func NewDatabaseClient ¶ added in v0.9.1
func NewDatabaseClient(cc *grpc.ClientConn) DatabaseClient
type DatabasePlugin ¶
type DatabasePlugin struct {
	// contains filtered or unexported fields
}
    DatabasePlugin implements go-plugin's Plugin interface. It has methods for retrieving a server and a client instance of the plugin.
func (DatabasePlugin) Client ¶
func (DatabasePlugin) Client(b *plugin.MuxBroker, c *rpc.Client) (interface{}, error)
func (DatabasePlugin) GRPCClient ¶ added in v0.9.1
func (DatabasePlugin) GRPCClient(doneCtx context.Context, _ *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)
func (DatabasePlugin) GRPCServer ¶ added in v0.9.1
func (d DatabasePlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error
func (DatabasePlugin) Server ¶
func (d DatabasePlugin) Server(*plugin.MuxBroker) (interface{}, error)
type DatabasePluginClient ¶
DatabasePluginClient embeds a databasePluginRPCClient and wraps it's Close method to also call Kill() on the plugin.Client.
func (*DatabasePluginClient) Close ¶
func (dc *DatabasePluginClient) Close() error
This wraps the Close call and ensures we both close the database connection and kill the plugin.
type DatabaseServer ¶ added in v0.9.1
type DatabaseServer interface {
	Type(context.Context, *Empty) (*TypeResponse, error)
	CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error)
	RenewUser(context.Context, *RenewUserRequest) (*Empty, error)
	RevokeUser(context.Context, *RevokeUserRequest) (*Empty, error)
	Initialize(context.Context, *InitializeRequest) (*Empty, error)
	Close(context.Context, *Empty) (*Empty, error)
}
    type Empty ¶ added in v0.9.1
type Empty struct {
}
    func (*Empty) Descriptor ¶ added in v0.9.1
func (*Empty) ProtoMessage ¶ added in v0.9.1
func (*Empty) ProtoMessage()
type InitializeRequest ¶
type InitializeRequest struct {
	Config           []byte `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	VerifyConnection bool   `protobuf:"varint,2,opt,name=verify_connection,json=verifyConnection" json:"verify_connection,omitempty"`
}
    func (*InitializeRequest) Descriptor ¶ added in v0.9.1
func (*InitializeRequest) Descriptor() ([]byte, []int)
func (*InitializeRequest) GetConfig ¶ added in v0.9.1
func (m *InitializeRequest) GetConfig() []byte
func (*InitializeRequest) GetVerifyConnection ¶ added in v0.9.1
func (m *InitializeRequest) GetVerifyConnection() bool
func (*InitializeRequest) ProtoMessage ¶ added in v0.9.1
func (*InitializeRequest) ProtoMessage()
func (*InitializeRequest) Reset ¶ added in v0.9.1
func (m *InitializeRequest) Reset()
func (*InitializeRequest) String ¶ added in v0.9.1
func (m *InitializeRequest) String() string
type InitializeRequestRPC ¶ added in v0.9.1
type RenewUserRequest ¶
type RenewUserRequest struct {
	Statements *Statements                `protobuf:"bytes,1,opt,name=statements" json:"statements,omitempty"`
	Username   string                     `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
	Expiration *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=expiration" json:"expiration,omitempty"`
}
    func (*RenewUserRequest) Descriptor ¶ added in v0.9.1
func (*RenewUserRequest) Descriptor() ([]byte, []int)
func (*RenewUserRequest) GetExpiration ¶ added in v0.9.1
func (m *RenewUserRequest) GetExpiration() *google_protobuf.Timestamp
func (*RenewUserRequest) GetStatements ¶ added in v0.9.1
func (m *RenewUserRequest) GetStatements() *Statements
func (*RenewUserRequest) GetUsername ¶ added in v0.9.1
func (m *RenewUserRequest) GetUsername() string
func (*RenewUserRequest) ProtoMessage ¶ added in v0.9.1
func (*RenewUserRequest) ProtoMessage()
func (*RenewUserRequest) Reset ¶ added in v0.9.1
func (m *RenewUserRequest) Reset()
func (*RenewUserRequest) String ¶ added in v0.9.1
func (m *RenewUserRequest) String() string
type RenewUserRequestRPC ¶ added in v0.9.1
type RenewUserRequestRPC struct {
	Statements Statements
	Username   string
	Expiration time.Time
}
    type RevokeUserRequest ¶
type RevokeUserRequest struct {
	Statements *Statements `protobuf:"bytes,1,opt,name=statements" json:"statements,omitempty"`
	Username   string      `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
}
    func (*RevokeUserRequest) Descriptor ¶ added in v0.9.1
func (*RevokeUserRequest) Descriptor() ([]byte, []int)
func (*RevokeUserRequest) GetStatements ¶ added in v0.9.1
func (m *RevokeUserRequest) GetStatements() *Statements
func (*RevokeUserRequest) GetUsername ¶ added in v0.9.1
func (m *RevokeUserRequest) GetUsername() string
func (*RevokeUserRequest) ProtoMessage ¶ added in v0.9.1
func (*RevokeUserRequest) ProtoMessage()
func (*RevokeUserRequest) Reset ¶ added in v0.9.1
func (m *RevokeUserRequest) Reset()
func (*RevokeUserRequest) String ¶ added in v0.9.1
func (m *RevokeUserRequest) String() string
type RevokeUserRequestRPC ¶ added in v0.9.1
type RevokeUserRequestRPC struct {
	Statements Statements
	Username   string
}
    type Statements ¶
type Statements struct {
	CreationStatements   string `protobuf:"bytes,1,opt,name=creation_statements,json=creationStatements" json:"creation_statements,omitempty"`
	RevocationStatements string `protobuf:"bytes,2,opt,name=revocation_statements,json=revocationStatements" json:"revocation_statements,omitempty"`
	RollbackStatements   string `protobuf:"bytes,3,opt,name=rollback_statements,json=rollbackStatements" json:"rollback_statements,omitempty"`
	RenewStatements      string `protobuf:"bytes,4,opt,name=renew_statements,json=renewStatements" json:"renew_statements,omitempty"`
}
    func (*Statements) Descriptor ¶ added in v0.9.1
func (*Statements) Descriptor() ([]byte, []int)
func (*Statements) GetCreationStatements ¶ added in v0.9.1
func (m *Statements) GetCreationStatements() string
func (*Statements) GetRenewStatements ¶ added in v0.9.1
func (m *Statements) GetRenewStatements() string
func (*Statements) GetRevocationStatements ¶ added in v0.9.1
func (m *Statements) GetRevocationStatements() string
func (*Statements) GetRollbackStatements ¶ added in v0.9.1
func (m *Statements) GetRollbackStatements() string
func (*Statements) ProtoMessage ¶ added in v0.9.1
func (*Statements) ProtoMessage()
func (*Statements) Reset ¶ added in v0.9.1
func (m *Statements) Reset()
func (*Statements) String ¶ added in v0.9.1
func (m *Statements) String() string
type TypeResponse ¶ added in v0.9.1
type TypeResponse struct {
	Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
}
    func (*TypeResponse) Descriptor ¶ added in v0.9.1
func (*TypeResponse) Descriptor() ([]byte, []int)
func (*TypeResponse) GetType ¶ added in v0.9.1
func (m *TypeResponse) GetType() string
func (*TypeResponse) ProtoMessage ¶ added in v0.9.1
func (*TypeResponse) ProtoMessage()
func (*TypeResponse) Reset ¶ added in v0.9.1
func (m *TypeResponse) Reset()
func (*TypeResponse) String ¶ added in v0.9.1
func (m *TypeResponse) String() string
type UsernameConfig ¶ added in v0.7.3
type UsernameConfig struct {
	DisplayName string `protobuf:"bytes,1,opt,name=DisplayName" json:"DisplayName,omitempty"`
	RoleName    string `protobuf:"bytes,2,opt,name=RoleName" json:"RoleName,omitempty"`
}
    func (*UsernameConfig) Descriptor ¶ added in v0.9.1
func (*UsernameConfig) Descriptor() ([]byte, []int)
func (*UsernameConfig) GetDisplayName ¶ added in v0.9.1
func (m *UsernameConfig) GetDisplayName() string
func (*UsernameConfig) GetRoleName ¶ added in v0.9.1
func (m *UsernameConfig) GetRoleName() string
func (*UsernameConfig) ProtoMessage ¶ added in v0.9.1
func (*UsernameConfig) ProtoMessage()
func (*UsernameConfig) Reset ¶ added in v0.9.1
func (m *UsernameConfig) Reset()
func (*UsernameConfig) String ¶ added in v0.9.1
func (m *UsernameConfig) String() string
 Click to show internal directories. 
   Click to hide internal directories.