github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/flag/repo.go (about) 1 package flag 2 3 var ( 4 FetchBranchFlag = Flag{ 5 Name: "branch", 6 ConfigName: "repository.branch", 7 Default: "", 8 Usage: "pass the branch name to be scanned", 9 } 10 FetchCommitFlag = Flag{ 11 Name: "commit", 12 ConfigName: "repository.commit", 13 Default: "", 14 Usage: "pass the commit hash to be scanned", 15 } 16 FetchTagFlag = Flag{ 17 Name: "tag", 18 ConfigName: "repository.tag", 19 Default: "", 20 Usage: "pass the tag name to be scanned", 21 } 22 ) 23 24 type RepoFlagGroup struct { 25 Branch *Flag 26 Commit *Flag 27 Tag *Flag 28 } 29 30 type RepoOptions struct { 31 RepoBranch string 32 RepoCommit string 33 RepoTag string 34 } 35 36 func NewRepoFlagGroup() *RepoFlagGroup { 37 return &RepoFlagGroup{ 38 Branch: &FetchBranchFlag, 39 Commit: &FetchCommitFlag, 40 Tag: &FetchTagFlag, 41 } 42 } 43 44 func (f *RepoFlagGroup) Name() string { 45 return "Repository" 46 } 47 48 func (f *RepoFlagGroup) Flags() []*Flag { 49 return []*Flag{f.Branch, f.Commit, f.Tag} 50 } 51 52 func (f *RepoFlagGroup) ToOptions() RepoOptions { 53 return RepoOptions{ 54 RepoBranch: getString(f.Branch), 55 RepoCommit: getString(f.Commit), 56 RepoTag: getString(f.Tag), 57 } 58 }