Browse Source

feat(README): add directory tutorial

Brandon Philips 12 years ago
parent
commit
d816db07e3
1 changed files with 43 additions and 4 deletions
  1. 43 4
      README.md

+ 43 - 4
README.md

@@ -317,6 +317,7 @@ curl -X POST http://127.0.0.1:4001/v2/keys/queue -d value=Job2
 
 
 [lockmod]: #lock
 [lockmod]: #lock
 
 
+
 ### Using a directory TTL
 ### Using a directory TTL
 
 
 Like keys, directories in etcd can be set to expire after a specified number of seconds.
 Like keys, directories in etcd can be set to expire after a specified number of seconds.
@@ -446,6 +447,27 @@ The response should be
 
 
 We successfully changed the value from "one" to "two" since we gave the correct previous value.
 We successfully changed the value from "one" to "two" since we gave the correct previous value.
 
 
+### Creating Directories
+
+In most cases directories for a key are automatically created.
+But, there are cases where you will want to create a directory or remove one.
+
+Creating a directory is just like a key only you cannot provide a value and must add the `dir=true` parameter.
+
+```sh
+curl -L http://127.0.0.1:4001/v2/keys/dir -XPUT -d dir=true
+```
+```json
+{
+    "action": "set",
+    "node": {
+        "createdIndex": 30,
+        "dir": true,
+        "key": "/dir",
+        "modifiedIndex": 30
+    }
+}
+```
 
 
 ### Listing a directory
 ### Listing a directory
 
 
@@ -533,14 +555,31 @@ curl -L http://127.0.0.1:4001/v2/keys/?recursive=true
 ```
 ```
 
 
 
 
-### Deleting a directory
+### Deleting a Directory
 
 
 Now let's try to delete the directory `/foo_dir`.
 Now let's try to delete the directory `/foo_dir`.
 
 
-To delete a directory, we must add `recursive=true`.
+You can remove an empty directory using the `DELETE` verb and the `dir=true` parameter.
 
 
 ```sh
 ```sh
-curl -L http://127.0.0.1:4001/v2/keys/foo_dir?recursive=true -XDELETE
+curl -L -X DELETE 'http://127.0.0.1:4001/v2/keys/dir?dir=true'
+```
+```json
+{
+    "action": "delete",
+    "node": {
+        "createdIndex": 30,
+        "dir": true,
+        "key": "/dir",
+        "modifiedIndex": 31
+    }
+}
+```
+
+To delete a directory that holds keys, you must add `recursive=true`.
+
+```sh
+curl -L http://127.0.0.1:4001/v2/keys/dir?recursive=true -XDELETE
 ```
 ```
 
 
 ```json
 ```json
@@ -549,7 +588,7 @@ curl -L http://127.0.0.1:4001/v2/keys/foo_dir?recursive=true -XDELETE
     "node": {
     "node": {
         "createdIndex": 10,
         "createdIndex": 10,
         "dir": true,
         "dir": true,
-        "key": "/foo_dir",
+        "key": "/dir",
         "modifiedIndex": 11
         "modifiedIndex": 11
     }
     }
 }
 }