-
Notifications
You must be signed in to change notification settings - Fork 9
/
options.go
40 lines (34 loc) · 1.15 KB
/
options.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright The Cloud Custodian Authors.
// SPDX-License-Identifier: Apache-2.0
package converter
type TerraformConverterOptions interface {
SetDebug()
SetStopOnHCLError()
SetAllowDownloads(allowed bool)
SetTFVarsPaths(paths ...string)
}
type TerraformConverterOption func(t TerraformConverterOptions)
// WithDebug specifies an io.Writer for debug logs - if not set, they are discarded
func WithDebug() TerraformConverterOption {
return func(t TerraformConverterOptions) {
t.SetDebug()
}
}
// WithStopOnHCLError sets the underlying defsec parser to error and stop on HCL parsing errors.
func WithStopOnHCLError() TerraformConverterOption {
return func(t TerraformConverterOptions) {
t.SetStopOnHCLError()
}
}
// WithStopOnHCLError sets the underlying defsec parser to error and stop on HCL parsing errors.
func WithAllowDownloads(allowed bool) TerraformConverterOption {
return func(t TerraformConverterOptions) {
t.SetAllowDownloads(allowed)
}
}
// WithTFVarsPaths sets a variables file for hcl interpolation.
func WithTFVarsPaths(paths ...string) TerraformConverterOption {
return func(t TerraformConverterOptions) {
t.SetTFVarsPaths(paths...)
}
}