Files
trivy/pkg/flag/repo.go
Teppei Fukuda aca11b95d0 refactor: add allowed values for CLI flags (#4800)
* refactor: rename Value to Default

* refactor: support allowed values for CLI flags

* docs: auto-generate

* test: fix

* test: add tests for flags
2023-07-17 13:13:23 +00:00

59 lines
1.1 KiB
Go

package flag
var (
FetchBranchFlag = Flag{
Name: "branch",
ConfigName: "repository.branch",
Default: "",
Usage: "pass the branch name to be scanned",
}
FetchCommitFlag = Flag{
Name: "commit",
ConfigName: "repository.commit",
Default: "",
Usage: "pass the commit hash to be scanned",
}
FetchTagFlag = Flag{
Name: "tag",
ConfigName: "repository.tag",
Default: "",
Usage: "pass the tag name to be scanned",
}
)
type RepoFlagGroup struct {
Branch *Flag
Commit *Flag
Tag *Flag
}
type RepoOptions struct {
RepoBranch string
RepoCommit string
RepoTag string
}
func NewRepoFlagGroup() *RepoFlagGroup {
return &RepoFlagGroup{
Branch: &FetchBranchFlag,
Commit: &FetchCommitFlag,
Tag: &FetchTagFlag,
}
}
func (f *RepoFlagGroup) Name() string {
return "Repository"
}
func (f *RepoFlagGroup) Flags() []*Flag {
return []*Flag{f.Branch, f.Commit, f.Tag}
}
func (f *RepoFlagGroup) ToOptions() RepoOptions {
return RepoOptions{
RepoBranch: getString(f.Branch),
RepoCommit: getString(f.Commit),
RepoTag: getString(f.Tag),
}
}