| package main | |
| import ( | |
| "io" | |
| "log" | |
| "os" | |
| "github.com/hashicorp/terraform/internal/states/statemgr" | |
| ) | |
| // Attempt to open and lock a terraform state file. | |
| // Lock failure exits with 0 and writes "lock failed" to stderr. | |
| func main() { | |
| if len(os.Args) != 2 { | |
| log.Fatal(os.Args[0], "statefile") | |
| } | |
| s := statemgr.NewFilesystem(os.Args[1]) | |
| info := statemgr.NewLockInfo() | |
| info.Operation = "test" | |
| info.Info = "state locker" | |
| _, err := s.Lock(info) | |
| if err != nil { | |
| io.WriteString(os.Stderr, "lock failed") | |
| } | |
| } |