Documentation ¶
Overview ¶
Package qaengine contains the types used for the question answering part of the CLI.
Index ¶
- Constants
- type Cache
- type CacheSpec
- type Problem
- func NewConfirmProblem(desc string, context []string, def bool) (p Problem, err error)
- func NewInputProblem(desc string, context []string, def string) (p Problem, err error)
- func NewMultiSelectProblem(desc string, context []string, def []string, opts []string) (p Problem, err error)
- func NewMultilineInputProblem(desc string, context []string, def string) (p Problem, err error)
- func NewPasswordProblem(desc string, context []string) (p Problem, err error)
- func NewSelectProblem(desc string, context []string, def string, opts []string) (p Problem, err error)
- type SolutionForm
- type SolutionFormType
Constants ¶
const QACacheKind types.Kind = "QACache"
QACacheKind defines kind of cfcontainerizers
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct { types.TypeMeta `yaml:",inline"` types.ObjectMeta `yaml:"metadata,omitempty"` Spec CacheSpec `yaml:"spec,omitempty"` }
Cache stores the answers for reuse
func (*Cache) AddProblemSolutionToCache ¶
AddProblemSolutionToCache adds a problem to solution cache
func (*Cache) GetSolution ¶
GetSolution reads a solution for the problem
type CacheSpec ¶
type CacheSpec struct { // Problems stores the list of problems with resolutions Problems []Problem `yaml:"solutions"` // contains filtered or unexported fields }
CacheSpec stores the cache data
type Problem ¶
type Problem struct { ID int `yaml:"-" json:"id"` Desc string `yaml:"description" json:"description"` Context []string `yaml:"context,omitempty" json:"context,omitempty"` Solution SolutionForm `yaml:"solution" json:"solution,omitempty"` Resolved bool `yaml:"resolved,omitempty" json:"resolved,omitempty"` }
Problem defines the QA problem
func NewConfirmProblem ¶
NewConfirmProblem creates a new instance of confirm problem
func NewInputProblem ¶
NewInputProblem creates a new instance of input problem
func NewMultiSelectProblem ¶
func NewMultiSelectProblem(desc string, context []string, def []string, opts []string) (p Problem, err error)
NewMultiSelectProblem creates a new instance of multiselect problem
func NewMultilineInputProblem ¶
NewMultilineInputProblem creates a new instance of multiline input problem
func NewPasswordProblem ¶
NewPasswordProblem creates a new instance of password problem
func NewSelectProblem ¶
func NewSelectProblem(desc string, context []string, def string, opts []string) (p Problem, err error)
NewSelectProblem creates a new instance of select problem
func (*Problem) GetBoolAnswer ¶
GetBoolAnswer returns a bool as answer if the solution type supports it
func (*Problem) GetSliceAnswer ¶
GetSliceAnswer returns a slice as answer if the solution type supports it
func (*Problem) GetStringAnswer ¶
GetStringAnswer returns a string as answer if the solution type supports it
type SolutionForm ¶
type SolutionForm struct { Type SolutionFormType `yaml:"type" json:"type"` Default []string `yaml:"default,omitempty" json:"default,omitempty"` Options []string `yaml:"options,omitempty" json:"options,omitempty"` Answer []string `yaml:"answer" json:"answer"` }
SolutionForm defines the solution
type SolutionFormType ¶
type SolutionFormType string
SolutionFormType is the type that defines different types of solutions possible
const ( // SelectSolutionFormType defines a single select solution type SelectSolutionFormType SolutionFormType = "Select" // MultiSelectSolutionFormType defines a multi-select solution type MultiSelectSolutionFormType SolutionFormType = "MultiSelect" // InputSolutionFormType allows single line user input InputSolutionFormType SolutionFormType = "Input" // MultilineSolutionFormType allows multiple user input MultilineSolutionFormType SolutionFormType = "MultiLine" // PasswordSolutionFormType allows password entry PasswordSolutionFormType SolutionFormType = "Password" // ConfirmSolutionFormType allows yes/no answers ConfirmSolutionFormType SolutionFormType = "Confirm" )