mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-21 23:00:42 -08:00
79 lines
1.8 KiB
Go
79 lines
1.8 KiB
Go
package flag
|
|
|
|
var (
|
|
awsRegionFlag = Flag{
|
|
Name: "region",
|
|
ConfigName: "cloud.aws.region",
|
|
Value: "",
|
|
Usage: "AWS Region to scan",
|
|
}
|
|
awsEndpointFlag = Flag{
|
|
Name: "endpoint",
|
|
ConfigName: "cloud.aws.endpoint",
|
|
Value: "",
|
|
Usage: "AWS Endpoint override",
|
|
}
|
|
awsServiceFlag = Flag{
|
|
Name: "service",
|
|
ConfigName: "cloud.aws.service",
|
|
Value: []string{},
|
|
Usage: "Only scan AWS Service(s) specified with this flag. Can specify multiple services using --service A --service B etc.",
|
|
}
|
|
awsAccountFlag = Flag{
|
|
Name: "account",
|
|
ConfigName: "cloud.aws.account",
|
|
Value: "",
|
|
Usage: "The AWS account to scan. It's useful to specify this when reviewing cached results for multipel accounts.",
|
|
}
|
|
awsARNFlag = Flag{
|
|
Name: "arn",
|
|
ConfigName: "cloud.aws.arn",
|
|
Value: "",
|
|
Usage: "The AWS ARN to show results for. Useful to filter results once a scan is cached.",
|
|
}
|
|
)
|
|
|
|
type AWSFlagGroup struct {
|
|
Region *Flag
|
|
Endpoint *Flag
|
|
Services *Flag
|
|
Account *Flag
|
|
ARN *Flag
|
|
}
|
|
|
|
type AWSOptions struct {
|
|
Region string
|
|
Endpoint string
|
|
Services []string
|
|
Account string
|
|
ARN string
|
|
}
|
|
|
|
func NewAWSFlagGroup() *AWSFlagGroup {
|
|
return &AWSFlagGroup{
|
|
Region: &awsRegionFlag,
|
|
Endpoint: &awsEndpointFlag,
|
|
Services: &awsServiceFlag,
|
|
Account: &awsAccountFlag,
|
|
ARN: &awsARNFlag,
|
|
}
|
|
}
|
|
|
|
func (f *AWSFlagGroup) Name() string {
|
|
return "AWS"
|
|
}
|
|
|
|
func (f *AWSFlagGroup) Flags() []*Flag {
|
|
return []*Flag{f.Region, f.Endpoint, f.Services, f.Account, f.ARN}
|
|
}
|
|
|
|
func (f *AWSFlagGroup) ToOptions() AWSOptions {
|
|
return AWSOptions{
|
|
Region: getString(f.Region),
|
|
Endpoint: getString(f.Endpoint),
|
|
Services: getStringSlice(f.Services),
|
|
Account: getString(f.Account),
|
|
ARN: getString(f.ARN),
|
|
}
|
|
}
|