mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-27 09:21:14 -06:00
96194fbc0d
What will hopfully be the final version of the Backend interface. This combines the MultiState interface into Backend since it will be required to implement, and simplifies the interface because the Backend is no longer responsible for tracking the current state.
40 lines
858 B
Go
40 lines
858 B
Go
package backend
|
|
|
|
import (
|
|
"github.com/hashicorp/terraform/state"
|
|
"github.com/hashicorp/terraform/terraform"
|
|
)
|
|
|
|
// Nil is a no-op implementation of Backend.
|
|
//
|
|
// This is useful to embed within another struct to implement all of the
|
|
// backend interface for testing.
|
|
type Nil struct{}
|
|
|
|
func (Nil) Input(
|
|
ui terraform.UIInput,
|
|
c *terraform.ResourceConfig) (*terraform.ResourceConfig, error) {
|
|
return c, nil
|
|
}
|
|
|
|
func (Nil) Validate(*terraform.ResourceConfig) ([]string, []error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func (Nil) Configure(*terraform.ResourceConfig) error {
|
|
return nil
|
|
}
|
|
|
|
func (Nil) State(string) (state.State, error) {
|
|
// We have to return a non-nil state to adhere to the interface
|
|
return &state.InmemState{}, nil
|
|
}
|
|
|
|
func (Nil) DeleteState(string) error {
|
|
return nil
|
|
}
|
|
|
|
func (Nil) States() ([]string, error) {
|
|
return []string{DefaultStateName}, nil
|
|
}
|