github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/helm/parser/option.go (about)

     1  package parser
     2  
     3  import "github.com/khulnasoft-lab/defsec/pkg/scanners/options"
     4  
     5  type ConfigurableHelmParser interface {
     6  	options.ConfigurableParser
     7  	SetValuesFile(...string)
     8  	SetValues(...string)
     9  	SetFileValues(...string)
    10  	SetStringValues(...string)
    11  	SetAPIVersions(...string)
    12  }
    13  
    14  func OptionWithValuesFile(paths ...string) options.ParserOption {
    15  	return func(p options.ConfigurableParser) {
    16  		if helmParser, ok := p.(ConfigurableHelmParser); ok {
    17  			helmParser.SetValuesFile(paths...)
    18  		}
    19  	}
    20  }
    21  
    22  func OptionWithValues(values ...string) options.ParserOption {
    23  	return func(p options.ConfigurableParser) {
    24  		if helmParser, ok := p.(ConfigurableHelmParser); ok {
    25  			helmParser.SetValues(values...)
    26  		}
    27  	}
    28  }
    29  
    30  func OptionWithFileValues(values ...string) options.ParserOption {
    31  	return func(p options.ConfigurableParser) {
    32  		if helmParser, ok := p.(ConfigurableHelmParser); ok {
    33  			helmParser.SetValues(values...)
    34  		}
    35  	}
    36  }
    37  
    38  func OptionWithStringValues(values ...string) options.ParserOption {
    39  	return func(p options.ConfigurableParser) {
    40  		if helmParser, ok := p.(ConfigurableHelmParser); ok {
    41  			helmParser.SetValues(values...)
    42  		}
    43  	}
    44  }
    45  
    46  func OptionWithAPIVersions(values ...string) options.ParserOption {
    47  	return func(p options.ConfigurableParser) {
    48  		if helmParser, ok := p.(ConfigurableHelmParser); ok {
    49  			helmParser.SetAPIVersions(values...)
    50  		}
    51  	}
    52  }