26 lines
570 B
Go
26 lines
570 B
Go
package command
|
|
|
|
import (
|
|
"github.com/hashicorp/terraform/terraform"
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
// Config is a structure used to configure many commands with Terraform
|
|
// configurations.
|
|
type Config struct {
|
|
Hooks []terraform.Hook
|
|
Providers map[string]terraform.ResourceProviderFactory
|
|
Ui cli.Ui
|
|
}
|
|
|
|
func (c *Config) ContextOpts() *terraform.ContextOpts {
|
|
hooks := make([]terraform.Hook, len(c.Hooks)+1)
|
|
copy(hooks, c.Hooks)
|
|
hooks[len(c.Hooks)] = &UiHook{Ui: c.Ui}
|
|
|
|
return &terraform.ContextOpts{
|
|
Hooks: hooks,
|
|
Providers: c.Providers,
|
|
}
|
|
}
|