credsutil

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2024 License: MPL-2.0 Imports: 6 Imported by: 19

Documentation

Index

Constants

View Source
const (
	NoneLength int = -1
)

Variables

This section is empty.

Functions

func GenerateUsername added in v0.2.0

func GenerateUsername(opts ...UsernameOpt) (string, error)

func RandomAlphaNumeric

func RandomAlphaNumeric(length int, prependA1a bool) (string, error)

RandomAlphaNumeric returns a random string of characters [A-Za-z0-9-] of the provided length. The string generated takes up to 4 characters of space that are predefined and prepended to ensure password character requirements. It also requires a min length of 10 characters.

Types

type CaseOp added in v0.2.0

type CaseOp int
const (
	KeepCase CaseOp = iota
	Uppercase
	Lowercase
)

func CaseOpString added in v0.13.0

func CaseOpString(s string) (CaseOp, error)

CaseOpString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func CaseOpValues added in v0.13.0

func CaseOpValues() []CaseOp

CaseOpValues returns all values of the enum

func (CaseOp) IsACaseOp added in v0.13.0

func (i CaseOp) IsACaseOp() bool

IsACaseOp returns "true" if the value is listed in the enum definition. "false" otherwise

func (CaseOp) String added in v0.13.0

func (i CaseOp) String() string

type CredentialsProducer

type CredentialsProducer interface {
	GenerateCredentials(context.Context) (string, error)
	GenerateUsername(dbplugin.UsernameConfig) (string, error)
	GeneratePassword() (string, error)
	GenerateExpiration(time.Time) (string, error)
}

CredentialsProducer can be used as an embedded interface in the Database definition. It implements the methods for generating user information for a particular database type and is used in all the builtin database types.

type SQLCredentialsProducer

type SQLCredentialsProducer struct {
	DisplayNameLen    int
	RoleNameLen       int
	UsernameLen       int
	Separator         string
	LowercaseUsername bool
}

SQLCredentialsProducer implements CredentialsProducer and provides a generic credentials producer for most sql database types.

func (*SQLCredentialsProducer) GenerateCredentials added in v0.1.12

func (scp *SQLCredentialsProducer) GenerateCredentials(ctx context.Context) (string, error)

func (*SQLCredentialsProducer) GenerateExpiration

func (scp *SQLCredentialsProducer) GenerateExpiration(ttl time.Time) (string, error)

func (*SQLCredentialsProducer) GeneratePassword

func (scp *SQLCredentialsProducer) GeneratePassword() (string, error)

func (*SQLCredentialsProducer) GenerateUsername

func (scp *SQLCredentialsProducer) GenerateUsername(config dbplugin.UsernameConfig) (string, error)

type UsernameOpt added in v0.2.0

type UsernameOpt func(*usernameBuilder)

func Case added in v0.2.0

func Case(c CaseOp) UsernameOpt

func DisplayName added in v0.2.0

func DisplayName(dispName string, maxLength int) UsernameOpt

func MaxLength added in v0.2.0

func MaxLength(maxLen int) UsernameOpt

func RoleName added in v0.2.0

func RoleName(roleName string, maxLength int) UsernameOpt

func Separator added in v0.2.0

func Separator(sep string) UsernameOpt

func ToLower added in v0.2.0

func ToLower() UsernameOpt

func ToUpper added in v0.2.0

func ToUpper() UsernameOpt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL