diff --git a/state/remote/state.go b/state/remote/state.go index 5137744ec..c0abca40e 100644 --- a/state/remote/state.go +++ b/state/remote/state.go @@ -13,7 +13,7 @@ import ( type State struct { Client Client - state *terraform.State + state, readState *terraform.State } // StateReader impl. @@ -43,11 +43,14 @@ func (s *State) RefreshState() error { } s.state = state + s.readState = state return nil } // StatePersister impl. func (s *State) PersistState() error { + s.state.IncrementSerialMaybe(s.readState) + var buf bytes.Buffer if err := terraform.WriteState(s.state, &buf); err != nil { return err diff --git a/state/remote/state_test.go b/state/remote/state_test.go index 08b51439b..487891667 100644 --- a/state/remote/state_test.go +++ b/state/remote/state_test.go @@ -7,8 +7,11 @@ import ( ) func TestState(t *testing.T) { - s := &State{Client: new(InmemClient)} - s.WriteState(state.TestStateInitial()) + s := &State{ + Client: new(InmemClient), + state: state.TestStateInitial(), + readState: state.TestStateInitial(), + } if err := s.PersistState(); err != nil { t.Fatalf("err: %s", err) }