From a79d620f03f661127a80cc26d4472adc8e8c030e Mon Sep 17 00:00:00 2001 From: James Bardin Date: Tue, 20 Mar 2018 17:19:15 -0400 Subject: [PATCH] remove legacy remote state code --- backend/legacy/backend.go | 75 ---------------------------------- backend/legacy/backend_test.go | 50 ----------------------- 2 files changed, 125 deletions(-) delete mode 100644 backend/legacy/backend.go delete mode 100644 backend/legacy/backend_test.go diff --git a/backend/legacy/backend.go b/backend/legacy/backend.go deleted file mode 100644 index a8b0cad9f..000000000 --- a/backend/legacy/backend.go +++ /dev/null @@ -1,75 +0,0 @@ -package legacy - -import ( - "fmt" - - "github.com/hashicorp/terraform/backend" - "github.com/hashicorp/terraform/state" - "github.com/hashicorp/terraform/state/remote" - "github.com/hashicorp/terraform/terraform" - "github.com/mitchellh/mapstructure" -) - -// Backend is an implementation of backend.Backend for legacy remote state -// clients. -type Backend struct { - // Type is the type of remote state client to support - Type string - - // client is set after Configure is called and client is initialized. - client remote.Client -} - -func (b *Backend) Input( - ui terraform.UIInput, c *terraform.ResourceConfig) (*terraform.ResourceConfig, error) { - // Return the config as-is, legacy doesn't support input - return c, nil -} - -func (b *Backend) Validate(*terraform.ResourceConfig) ([]string, []error) { - // No validation was supported for old clients - return nil, nil -} - -func (b *Backend) Configure(c *terraform.ResourceConfig) error { - // Legacy remote state was only map[string]string config - var conf map[string]string - if err := mapstructure.Decode(c.Raw, &conf); err != nil { - return fmt.Errorf( - "Failed to decode %q configuration: %s\n\n"+ - "This backend expects all configuration keys and values to be\n"+ - "strings. Please verify your configuration and try again.", - b.Type, err) - } - - client, err := remote.NewClient(b.Type, conf) - if err != nil { - return fmt.Errorf( - "Failed to configure remote backend %q: %s", - b.Type, err) - } - - // Set our client - b.client = client - return nil -} - -func (b *Backend) State(name string) (state.State, error) { - if name != backend.DefaultStateName { - return nil, backend.ErrNamedStatesNotSupported - } - - if b.client == nil { - panic("State called with nil remote state client") - } - - return &remote.State{Client: b.client}, nil -} - -func (b *Backend) States() ([]string, error) { - return nil, backend.ErrNamedStatesNotSupported -} - -func (b *Backend) DeleteState(string) error { - return backend.ErrNamedStatesNotSupported -} diff --git a/backend/legacy/backend_test.go b/backend/legacy/backend_test.go deleted file mode 100644 index 9eeb3a0c7..000000000 --- a/backend/legacy/backend_test.go +++ /dev/null @@ -1,50 +0,0 @@ -package legacy - -import ( - "io/ioutil" - "os" - "path/filepath" - "testing" - - "github.com/hashicorp/terraform/backend" - "github.com/hashicorp/terraform/config" - "github.com/hashicorp/terraform/state" - "github.com/hashicorp/terraform/terraform" -) - -func TestBackend_impl(t *testing.T) { - var _ backend.Backend = new(Backend) -} - -func TestBackend(t *testing.T) { - t.Skip() - td, err := ioutil.TempDir("", "tf") - if err != nil { - t.Fatalf("err: %s", err) - } - defer os.RemoveAll(td) - - b := &Backend{Type: "local"} - conf := terraform.NewResourceConfig(config.TestRawConfig(t, map[string]interface{}{ - "path": filepath.Join(td, "data"), - })) - - // Config - if err := b.Configure(conf); err != nil { - t.Fatalf("err: %s", err) - } - - // Grab state - s, err := b.State(backend.DefaultStateName) - if err != nil { - t.Fatalf("err: %s", err) - } - if s == nil { - t.Fatalf("state is nil") - } - - // Test it - s.WriteState(state.TestStateInitial()) - s.PersistState() - state.TestState(t, s) -}