flagutil

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsSecretFlag

func IsSecretFlag(s string) bool

IsSecretFlag returns true of s contains flag name with secret value, which shouldn't be exposed.

func ParseBytes

func ParseBytes(value string) (int64, error)

ParseBytes returns int64 in bytes of parsed string with unit suffix

func ParseJSONMap

func ParseJSONMap(s string) (map[string]string, error)

ParseJSONMap parses s, which must contain JSON map of {"k1":"v1",...,"kN":"vN"}

func RegisterSecretFlag

func RegisterSecretFlag(flagName string)

RegisterSecretFlag registers flagName as secret.

This function must be called before starting logging. It cannot be called from concurrent goroutines.

Secret flags aren't exported at `/metrics` page.

func Usage

func Usage(s string)

Usage prints s and optional description for all the flags if -h or -help flag is passed to the app.

func WriteFlags

func WriteFlags(w io.Writer)

WriteFlags writes all the explicitly set flags to w.

Types

type ArrayBool

type ArrayBool []bool

ArrayBool is a flag that holds an array of booleans values.

Has the same api as ArrayString.

func NewArrayBool

func NewArrayBool(name, description string) *ArrayBool

NewArrayBool returns new ArrayBool with the given name and description.

func (*ArrayBool) GetOptionalArg

func (a *ArrayBool) GetOptionalArg(argIdx int) bool

GetOptionalArg returns optional arg under the given argIdx.

func (*ArrayBool) IsBoolFlag

func (a *ArrayBool) IsBoolFlag() bool

IsBoolFlag implements flag.IsBoolFlag interface

func (*ArrayBool) Set

func (a *ArrayBool) Set(value string) error

Set implements flag.Value interface

func (*ArrayBool) String

func (a *ArrayBool) String() string

String implements flag.Value interface

type ArrayBytes

type ArrayBytes struct {
	// contains filtered or unexported fields
}

ArrayBytes is flag that holds an array of Bytes.

Has the same api as ArrayString.

func NewArrayBytes

func NewArrayBytes(name string, defaultValue int64, description string) *ArrayBytes

NewArrayBytes returns new ArrayBytes with the given name, defaultValue and description.

func (*ArrayBytes) GetOptionalArg

func (a *ArrayBytes) GetOptionalArg(argIdx int) int64

GetOptionalArg returns optional arg under the given argIdx, or default value

func (*ArrayBytes) Set

func (a *ArrayBytes) Set(value string) error

Set implemented flag.Value interface

func (*ArrayBytes) String

func (a *ArrayBytes) String() string

String implements flag.Value interface

type ArrayDuration

type ArrayDuration struct {
	// contains filtered or unexported fields
}

ArrayDuration is a flag that holds an array of time.Duration values.

Has the same api as ArrayString.

func NewArrayDuration

func NewArrayDuration(name string, defaultValue time.Duration, description string) *ArrayDuration

NewArrayDuration returns new ArrayDuration with the given name, defaultValue and description.

func (*ArrayDuration) GetOptionalArg

func (a *ArrayDuration) GetOptionalArg(argIdx int) time.Duration

GetOptionalArg returns optional arg under the given argIdx, or default value, if argIdx not found.

func (*ArrayDuration) Set

func (a *ArrayDuration) Set(value string) error

Set implements flag.Value interface

func (*ArrayDuration) String

func (a *ArrayDuration) String() string

String implements flag.Value interface

type ArrayInt

type ArrayInt struct {
	// contains filtered or unexported fields
}

ArrayInt is flag that holds an array of ints.

Has the same api as ArrayString.

func NewArrayInt

func NewArrayInt(name string, defaultValue int, description string) *ArrayInt

NewArrayInt returns new ArrayInt with the given name, defaultValue and description.

func (*ArrayInt) GetOptionalArg

func (a *ArrayInt) GetOptionalArg(argIdx int) int

GetOptionalArg returns optional arg under the given argIdx or default value.

func (*ArrayInt) Set

func (a *ArrayInt) Set(value string) error

Set implements flag.Value interface

func (*ArrayInt) String

func (a *ArrayInt) String() string

String implements flag.Value interface

func (*ArrayInt) Values

func (a *ArrayInt) Values() []int

Values returns all the values for a.

type ArrayString

type ArrayString []string

ArrayString is a flag that holds an array of strings.

It may be set either by specifying multiple flags with the given name passed to NewArray or by joining flag values by comma.

The following example sets equivalent flag array with two items (value1, value2):

-foo=value1 -foo=value2
-foo=value1,value2

Each flag value may contain commas inside single quotes, double quotes, [], () or {} braces. For example, -foo=[a,b,c] defines a single command-line flag with `[a,b,c]` value.

Flag values may be quoted. For instance, the following arg creates an array of ("a", "b,c") items:

-foo='a,"b,c"'

func NewArrayString

func NewArrayString(name, description string) *ArrayString

NewArrayString returns new ArrayString with the given name and description.

func (*ArrayString) GetOptionalArg

func (a *ArrayString) GetOptionalArg(argIdx int) string

GetOptionalArg returns optional arg under the given argIdx.

func (*ArrayString) Set

func (a *ArrayString) Set(value string) error

Set implements flag.Value interface

func (*ArrayString) String

func (a *ArrayString) String() string

String implements flag.Value interface

type Bytes

type Bytes struct {
	// N contains parsed value for the given flag.
	N int64
	// contains filtered or unexported fields
}

Bytes is a flag for holding size in bytes.

It supports the following optional suffixes for values: KB, MB, GB, TB, KiB, MiB, GiB, TiB.

func NewBytes

func NewBytes(name string, defaultValue int64, description string) *Bytes

NewBytes returns new `bytes` flag with the given name, defaultValue and description.

func (*Bytes) IntN

func (b *Bytes) IntN() int

IntN returns the stored value capped by int type.

func (*Bytes) Set

func (b *Bytes) Set(value string) error

Set implements flag.Value interface

func (*Bytes) String

func (b *Bytes) String() string

String implements flag.Value interface

type DictInt

type DictInt struct {
	// contains filtered or unexported fields
}

DictInt allows specifying a dictionary of named ints in the form `name1:value1,...,nameN:valueN`.

func NewDictInt

func NewDictInt(name string, defaultValue int, description string) *DictInt

NewDictInt creates DictInt with the given name, defaultValue and description.

func (*DictInt) Get

func (di *DictInt) Get(key string) int

Get returns value for the given key.

Default value is returned if key isn't found in di.

func (*DictInt) Set

func (di *DictInt) Set(value string) error

Set implements flag.Value interface

func (*DictInt) String

func (di *DictInt) String() string

String implements flag.Value interface

type Password

type Password struct {
	// contains filtered or unexported fields
}

Password is a flag holding a password.

If the flag value is file:///path/to/file or http://host/path , then its contents is automatically re-read from the given file or url

func NewPassword

func NewPassword(name, description string) *Password

NewPassword returns new `password` flag with the given name and description.

The password value is hidden when calling Password.String() for security reasons, since the returned value can be put in logs. Call Password.Get() for obtaining the real password value.

func (*Password) Get

func (p *Password) Get() string

Get returns the current p value.

It re-reads p value from the file:///path/to/file or http://host/path if they were passed to Password.Set.

func (*Password) Name

func (p *Password) Name() string

Name returns the name of p flag.

func (*Password) Set

func (p *Password) Set(value string) error

Set implements flag.Value interface.

func (*Password) String

func (p *Password) String() string

String implements flag.Value interface.

type RetentionDuration

type RetentionDuration struct {
	// contains filtered or unexported fields
}

RetentionDuration is a flag for holding duration for retention period.

func NewRetentionDuration

func NewRetentionDuration(name string, defaultValue string, description string) *RetentionDuration

NewRetentionDuration returns new `duration` flag with the given name, defaultValue and description.

DefaultValue is in months.

func (*RetentionDuration) Duration

func (d *RetentionDuration) Duration() time.Duration

Duration returns d as time.Duration

func (*RetentionDuration) Milliseconds

func (d *RetentionDuration) Milliseconds() int64

Milliseconds returns d in milliseconds

func (*RetentionDuration) Set

func (d *RetentionDuration) Set(value string) error

Set implements flag.Value interface It assumes that value without unit should be parsed as `month` duration. It returns an error if value has `m` unit.

func (*RetentionDuration) String

func (d *RetentionDuration) String() string

String implements flag.Value interface

Jump to

Keyboard shortcuts

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