github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/state/lock.go (about)

     1  package state
     2  
     3  import (
     4  	"github.com/hashicorp/terraform/terraform"
     5  )
     6  
     7  // LockDisabled implements State and Locker but disables state locking.
     8  // If State doesn't support locking, this is a no-op. This is useful for
     9  // easily disabling locking of an existing state or for tests.
    10  type LockDisabled struct {
    11  	// We can't embed State directly since Go dislikes that a field is
    12  	// State and State interface has a method State
    13  	Inner State
    14  }
    15  
    16  func (s *LockDisabled) State() *terraform.State {
    17  	return s.Inner.State()
    18  }
    19  
    20  func (s *LockDisabled) WriteState(v *terraform.State) error {
    21  	return s.Inner.WriteState(v)
    22  }
    23  
    24  func (s *LockDisabled) RefreshState() error {
    25  	return s.Inner.RefreshState()
    26  }
    27  
    28  func (s *LockDisabled) PersistState() error {
    29  	return s.Inner.PersistState()
    30  }
    31  
    32  func (s *LockDisabled) Lock(info *LockInfo) (string, error) {
    33  	return "", nil
    34  }
    35  
    36  func (s *LockDisabled) Unlock(id string) error {
    37  	return nil
    38  }