Documentation
¶
Index ¶
- type MockTerraformProvider
- func (m *MockTerraformProvider) BackendConfigComplete() bool
- func (m *MockTerraformProvider) CacheOutputs(componentID string) error
- func (m *MockTerraformProvider) ClearCache()
- func (m *MockTerraformProvider) FindRelativeProjectPath(directory ...string) (string, error)
- func (m *MockTerraformProvider) FormatArgsForEnv(args []string) string
- func (m *MockTerraformProvider) GenerateBackendOverride(directory string) error
- func (m *MockTerraformProvider) GenerateTerraformArgs(componentID string, interactive bool) (*TerraformArgs, error)
- func (m *MockTerraformProvider) GetEnvVars(componentID string, interactive bool) (map[string]string, []string, *TerraformArgs, error)
- func (m *MockTerraformProvider) GetStatePath(componentID string) (string, error)
- func (m *MockTerraformProvider) GetTFDataDir(componentID string) (string, error)
- func (m *MockTerraformProvider) GetTerraformComponent(componentID string) *blueprintv1alpha1.TerraformComponent
- func (m *MockTerraformProvider) GetTerraformComponents() []blueprintv1alpha1.TerraformComponent
- func (m *MockTerraformProvider) GetTerraformOutputs(componentID string) (map[string]any, error)
- func (m *MockTerraformProvider) IsInTerraformProject() bool
- func (m *MockTerraformProvider) SetConfigScope(scope map[string]any)
- func (m *MockTerraformProvider) SetTerraformComponents(components []blueprintv1alpha1.TerraformComponent)
- func (m *MockTerraformProvider) TerraformScopedEnvKeys() ([]string, error)
- type Shims
- type TerraformArgs
- type TerraformProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockTerraformProvider ¶
type MockTerraformProvider struct {
FindRelativeProjectPathFunc func(directory ...string) (string, error)
IsInTerraformProjectFunc func() bool
GenerateBackendOverrideFunc func(directory string) error
GenerateTerraformArgsFunc func(componentID string, interactive bool) (*TerraformArgs, error)
GetTerraformComponentFunc func(componentID string) *blueprintv1alpha1.TerraformComponent
GetTerraformComponentsFunc func() []blueprintv1alpha1.TerraformComponent
SetTerraformComponentsFunc func(components []blueprintv1alpha1.TerraformComponent)
SetConfigScopeFunc func(scope map[string]any)
GetTerraformOutputsFunc func(componentID string) (map[string]any, error)
CacheOutputsFunc func(componentID string) error
GetTFDataDirFunc func(componentID string) (string, error)
GetStatePathFunc func(componentID string) (string, error)
BackendConfigCompleteFunc func() bool
GetEnvVarsFunc func(componentID string, interactive bool) (map[string]string, []string, *TerraformArgs, error)
FormatArgsForEnvFunc func(args []string) string
ClearCacheFunc func()
TerraformScopedEnvKeysFunc func() ([]string, error)
}
MockTerraformProvider is a mock implementation of TerraformProvider for testing.
func (*MockTerraformProvider) BackendConfigComplete ¶
func (m *MockTerraformProvider) BackendConfigComplete() bool
BackendConfigComplete implements TerraformProvider. Default is true so most tests exercise the probe path; tests for the no-config short-circuit set BackendConfigCompleteFunc explicitly to return false.
func (*MockTerraformProvider) CacheOutputs ¶
func (m *MockTerraformProvider) CacheOutputs(componentID string) error
CacheOutputs implements TerraformProvider.
func (*MockTerraformProvider) ClearCache ¶
func (m *MockTerraformProvider) ClearCache()
ClearCache implements TerraformProvider.
func (*MockTerraformProvider) FindRelativeProjectPath ¶
func (m *MockTerraformProvider) FindRelativeProjectPath(directory ...string) (string, error)
FindRelativeProjectPath implements TerraformProvider.
func (*MockTerraformProvider) FormatArgsForEnv ¶
func (m *MockTerraformProvider) FormatArgsForEnv(args []string) string
FormatArgsForEnv implements TerraformProvider.
func (*MockTerraformProvider) GenerateBackendOverride ¶
func (m *MockTerraformProvider) GenerateBackendOverride(directory string) error
GenerateBackendOverride implements TerraformProvider.
func (*MockTerraformProvider) GenerateTerraformArgs ¶
func (m *MockTerraformProvider) GenerateTerraformArgs(componentID string, interactive bool) (*TerraformArgs, error)
GenerateTerraformArgs implements TerraformProvider.
func (*MockTerraformProvider) GetEnvVars ¶
func (m *MockTerraformProvider) GetEnvVars(componentID string, interactive bool) (map[string]string, []string, *TerraformArgs, error)
GetEnvVars implements TerraformProvider.
func (*MockTerraformProvider) GetStatePath ¶
func (m *MockTerraformProvider) GetStatePath(componentID string) (string, error)
GetStatePath implements TerraformProvider.
func (*MockTerraformProvider) GetTFDataDir ¶
func (m *MockTerraformProvider) GetTFDataDir(componentID string) (string, error)
GetTFDataDir implements TerraformProvider.
func (*MockTerraformProvider) GetTerraformComponent ¶
func (m *MockTerraformProvider) GetTerraformComponent(componentID string) *blueprintv1alpha1.TerraformComponent
GetTerraformComponent implements TerraformProvider.
func (*MockTerraformProvider) GetTerraformComponents ¶
func (m *MockTerraformProvider) GetTerraformComponents() []blueprintv1alpha1.TerraformComponent
GetTerraformComponents implements TerraformProvider.
func (*MockTerraformProvider) GetTerraformOutputs ¶
func (m *MockTerraformProvider) GetTerraformOutputs(componentID string) (map[string]any, error)
GetTerraformOutputs implements TerraformProvider.
func (*MockTerraformProvider) IsInTerraformProject ¶
func (m *MockTerraformProvider) IsInTerraformProject() bool
IsInTerraformProject implements TerraformProvider.
func (*MockTerraformProvider) SetConfigScope ¶
func (m *MockTerraformProvider) SetConfigScope(scope map[string]any)
SetConfigScope implements TerraformProvider.
func (*MockTerraformProvider) SetTerraformComponents ¶
func (m *MockTerraformProvider) SetTerraformComponents(components []blueprintv1alpha1.TerraformComponent)
SetTerraformComponents implements TerraformProvider.
func (*MockTerraformProvider) TerraformScopedEnvKeys ¶
func (m *MockTerraformProvider) TerraformScopedEnvKeys() ([]string, error)
TerraformScopedEnvKeys implements TerraformProvider.
type Shims ¶
type Shims struct {
ReadFile func(string) ([]byte, error)
JsonUnmarshal func([]byte, any) error
JsonMarshal func(any) ([]byte, error)
Getenv func(string) string
Setenv func(string, string) error
Unsetenv func(string) error
Stat func(string) (os.FileInfo, error)
Remove func(string) error
WriteFile func(string, []byte, os.FileMode) error
Getwd func() (string, error)
YamlUnmarshal func([]byte, any) error
YamlMarshal func(any) ([]byte, error)
Glob func(string) ([]string, error)
HclParseConfig func([]byte, string, hcl.Pos) (*hclwrite.File, hcl.Diagnostics)
Goos func() string
Sleep func(time.Duration)
LookupEnv func(string) (string, bool)
}
Shims provides mockable wrappers around system and runtime functions
type TerraformArgs ¶
type TerraformArgs struct {
TFDataDir string
InitArgs []string
PlanArgs []string
ApplyArgs []string
RefreshArgs []string
ImportArgs []string
DestroyArgs []string
PlanDestroyArgs []string
BackendConfig string
}
TerraformArgs contains all the CLI arguments needed for terraform operations. It does not include environment variable formatting - that is handled by the env printer.
type TerraformProvider ¶
type TerraformProvider interface {
FindRelativeProjectPath(directory ...string) (string, error)
IsInTerraformProject() bool
GenerateBackendOverride(directory string) error
GenerateTerraformArgs(componentID string, interactive bool) (*TerraformArgs, error)
GetTerraformComponent(componentID string) *blueprintv1alpha1.TerraformComponent
GetTerraformComponents() []blueprintv1alpha1.TerraformComponent
SetTerraformComponents(components []blueprintv1alpha1.TerraformComponent)
SetConfigScope(scope map[string]any)
GetTerraformOutputs(componentID string) (map[string]any, error)
CacheOutputs(componentID string) error
GetTFDataDir(componentID string) (string, error)
GetStatePath(componentID string) (string, error)
BackendConfigComplete() bool
GetEnvVars(componentID string, interactive bool) (map[string]string, []string, *TerraformArgs, error)
FormatArgsForEnv(args []string) string
ClearCache()
TerraformScopedEnvKeys() ([]string, error)
}
TerraformProvider defines the interface for Terraform operations
func NewTerraformProvider ¶
func NewTerraformProvider( configHandler config.ConfigHandler, shell shell.Shell, toolsManager tools.ToolsManager, evaluator evaluator.ExpressionEvaluator, ) TerraformProvider
NewTerraformProvider creates a new TerraformProvider instance and registers its helper functions with the evaluator. Panics if configHandler, shell, toolsManager, or evaluator are nil.