flags

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CronConfig

type CronConfig struct {
	Start string `json:"start" yaml:"start"`
	End   string `json:"end" yaml:"end"`
}

type EmbeddedFlags

type EmbeddedFlags struct {
	FlagSet   string `json:"flag_set" yaml:"flag_set"`
	FlagUnset string `json:"flag_unset" yaml:"flag_unset"`
}

func (EmbeddedFlags) GenerateStartTime

func (f EmbeddedFlags) GenerateStartTime() time.Time

func (EmbeddedFlags) IsDefault

func (f EmbeddedFlags) IsDefault() bool

func (EmbeddedFlags) ShouldGenerate

func (f EmbeddedFlags) ShouldGenerate() bool

func (EmbeddedFlags) ValidateFlags

func (f EmbeddedFlags) ValidateFlags() error

type Flag

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

func NewFlag

func NewFlag(cfg FlagConfig) Flag

func (*Flag) Active

func (f *Flag) Active() bool

func (*Flag) CurrentDuration

func (f *Flag) CurrentDuration() time.Duration

func (*Flag) Disable

func (f *Flag) Disable()

func (*Flag) Enable

func (f *Flag) Enable()

func (*Flag) Name

func (f *Flag) Name() string

func (*Flag) Setup

func (f *Flag) Setup(logger *zap.Logger)

func (*Flag) SetupCron

func (f *Flag) SetupCron(logger *zap.Logger)

func (*Flag) Toggle

func (f *Flag) Toggle()

type FlagConfig

type FlagConfig struct {
	Name     string          `json:"name" yaml:"name"`
	Incident *IncidentConfig `json:"incident" yaml:"incident"`
	Cron     *CronConfig     `json:"cron" yaml:"cron"`
}

type FlagManager

type FlagManager struct {
	// contains filtered or unexported fields
}
var Manager *FlagManager

func NewFlagManager

func NewFlagManager() *FlagManager

func (*FlagManager) Clear

func (fm *FlagManager) Clear()

func (*FlagManager) FlagCount

func (fm *FlagManager) FlagCount() int

func (*FlagManager) GetFlag

func (fm *FlagManager) GetFlag(name string) *Flag

func (*FlagManager) GetFlags

func (fm *FlagManager) GetFlags() map[string]*Flag

func (*FlagManager) LoadFlags

func (fm *FlagManager) LoadFlags(configFlags []FlagConfig, logger *zap.Logger)

func (*FlagManager) ValidateFlags

func (fm *FlagManager) ValidateFlags() error

type IncidentConfig

type IncidentConfig struct {
	ParentFlag string        `json:"parentFlag" yaml:"parentFlag"`
	Start      Start         `json:"start" yaml:"start"`
	Duration   time.Duration `json:"duration" yaml:"duration"`
}

type Start

type Start []time.Duration

func (*Start) UnmarshalYAML

func (s *Start) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML is a custom unmarshaller that parses a comma separated string into a slice of durations

Jump to

Keyboard shortcuts

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