func matchTags()

in pkg/fake/utils.go [162:185]


func matchTags(tags []ec2types.Tag, filter ec2types.Filter) bool {
	if strings.HasPrefix(*filter.Name, "tag:") {
		_, tagKey, _ := strings.Cut(*filter.Name, ":")
		for _, val := range filter.Values {
			for _, tag := range tags {
				if tagKey == *tag.Key && (val == "*" || val == *tag.Value) {
					return true
				}
			}
		}
	} else if strings.HasPrefix(*filter.Name, "tag-key") {
		for _, v := range filter.Values {
			if v == "*" {
				return true
			}
			for _, t := range tags {
				if lo.FromPtr(t.Key) == v {
					return true
				}
			}
		}
	}
	return false
}