diff --git a/providers/aws/connection/connection.go b/providers/aws/connection/connection.go index 03b8fc21a..c4caef50f 100644 --- a/providers/aws/connection/connection.go +++ b/providers/aws/connection/connection.go @@ -143,20 +143,20 @@ func parseOptsToFilters(opts map[string]string) DiscoveryFilters { d.Ec2DiscoveryFilters.Tags[strings.TrimPrefix(k, "ec2:tag:")] = v case strings.HasPrefix(k, "exclude:ec2:tag:"): d.Ec2DiscoveryFilters.ExcludeTags[strings.TrimPrefix(k, "exclude:ec2:tag:")] = v - case strings.HasPrefix(k, "ec2:regions"): + case k == "ec2:regions": d.Ec2DiscoveryFilters.Regions = append(d.Ec2DiscoveryFilters.Regions, strings.Split(v, ",")...) - case strings.HasPrefix(k, "exclude:ec2:regions"): + case k == "exclude:ec2:regions": d.Ec2DiscoveryFilters.ExcludeRegions = append(d.Ec2DiscoveryFilters.ExcludeRegions, strings.Split(v, ",")...) - case strings.HasPrefix(k, "all:regions"), strings.HasPrefix(k, "regions"): + case k == "all:regions", k == "regions": d.GeneralDiscoveryFilters.Regions = append(d.GeneralDiscoveryFilters.Regions, strings.Split(v, ",")...) - case strings.HasPrefix(k, "ec2:instance-ids"): + case k == "ec2:instance-ids": d.Ec2DiscoveryFilters.InstanceIds = append(d.Ec2DiscoveryFilters.InstanceIds, strings.Split(v, ",")...) - case strings.HasPrefix(k, "exclude:ec2:instance-ids"): + case k == "exclude:ec2:instance-ids": d.Ec2DiscoveryFilters.ExcludeInstanceIds = append(d.Ec2DiscoveryFilters.ExcludeInstanceIds, strings.Split(v, ",")...) case strings.HasPrefix(k, "all:tag:"): d.GeneralDiscoveryFilters.Tags[strings.TrimPrefix(k, "all:tag:")] = v - case strings.HasPrefix(k, "ecr:tag:"): - d.EcrDiscoveryFilters.Tags = append(d.EcrDiscoveryFilters.Tags, v) + case k == "ecr:tags": + d.EcrDiscoveryFilters.Tags = append(d.EcrDiscoveryFilters.Tags, strings.Split(v, ",")...) case k == "ecs:only-running-containers": parsed, err := strconv.ParseBool(v) if err == nil { diff --git a/providers/aws/connection/connection_test.go b/providers/aws/connection/connection_test.go index 82b9939c5..dc9561eb0 100644 --- a/providers/aws/connection/connection_test.go +++ b/providers/aws/connection/connection_test.go @@ -52,8 +52,7 @@ func TestParseOptsToFilters(t *testing.T) { "all:tag:key1": "val1", "all:tag:key2": "val2", // EcrDiscoveryFilters.Tags - "ecr:tag:tag1": "tag1", - "ecr:tag:tag2": "tag2", + "ecr:tags": "tag1,tag2", // EcsDiscoveryFilters "ecs:only-running-containers": "true", "ecs:discover-images": "T", diff --git a/providers/aws/provider/provider.go b/providers/aws/provider/provider.go index 4aea2bd34..497b0c5a5 100644 --- a/providers/aws/provider/provider.go +++ b/providers/aws/provider/provider.go @@ -93,7 +93,7 @@ func parseFlagsToFiltersOpts(m map[string]*llx.Primitive) map[string]string { "ec2:instance-ids", "exclude:ec2:instance-ids", "all:tag:", - "ecr:tag:", + "ecr:tags", "ecs:only-running-containers", "ecs:discover-instances", "ecs:discover-images",