diff --git a/command/kv/del/kv_delete.go b/command/kv/del/kv_delete.go index 78e1967ee7..62fe49f7ca 100644 --- a/command/kv/del/kv_delete.go +++ b/command/kv/del/kv_delete.go @@ -78,7 +78,7 @@ func (c *cmd) Run(args []string) int { // ModifyIndex is required for CAS if c.cas && c.modifyIndex == 0 { - c.UI.Error("Must specify -modify-index with -cas!") + c.UI.Error("Cannot delete a key that does not exist. Provide a -modify-index greater than than 0.") return 1 } diff --git a/command/kv/put/kv_put.go b/command/kv/put/kv_put.go index 0f416273d1..55c73439dc 100644 --- a/command/kv/put/kv_put.go +++ b/command/kv/put/kv_put.go @@ -99,12 +99,6 @@ func (c *cmd) Run(args []string) int { return 1 } - // ModifyIndex is required for CAS - if c.cas && c.modifyIndex == 0 { - c.UI.Error("Must specify -modify-index with -cas!") - return 1 - } - // Create and test the HTTP client client, err := c.http.APIClient() if err != nil { @@ -127,6 +121,10 @@ func (c *cmd) Run(args []string) int { c.UI.Error(fmt.Sprintf("Error! Did not write to %s: %s", key, err)) return 1 } + if !ok && c.modifyIndex == 0 { + c.UI.Error(fmt.Sprintf("Error! Did not write to %s: CAS performed with index=0 and key already exists.", key)) + return 1 + } if !ok { c.UI.Error(fmt.Sprintf("Error! Did not write to %s: CAS failed", key)) return 1