Update developer-oriented documentation
[kamaki] / docs / man / kamaki.rst
1 :orphan:
2
3 kamaki tool manual page
4 =======================
5
6 Synopsis
7 --------
8
9 **kamaki** [*group*] [*command*] [...] [*options*] [*arguments*]
10 **kamaki-shell** [*group*] [*command*] [...] [*arguments*]
11
12
13 Description
14 -----------
15
16 :program:`kamaki` is a simple, yet intuitive, command-line tool for managing 
17 clouds. It can be used in three forms: as an interactive shell
18 (`kamaki-shell`), as a command line tool (`kamaki`) or as a clients API for
19 other applications (`kamaki.clients`).
20
21 To run `kamaki` as an interactive shell, type
22
23     kamaki-shell
24
25 To run `kamaki` as tool type
26
27     kamaki <group> <command> [...] [options]
28
29 The kamaki clients API can be imported in python applications as
30 `kamaki.clients`
31
32
33 List of available command groups:
34
35 user
36     Astakos/Identity API commands
37
38 project
39     Astakos project API commands
40
41 membership
42     Astakos project membership API commands
43
44 quota
45     Astakos/Account API commands for quotas
46
47 resource
48     Astakos/Account API commands for resources
49
50 file
51     Pithos+/Storage object level API commands
52
53 container
54     Pithos+/Storage container level API commands
55
56 group
57     Pithos+/Storage user groups
58
59 sharer
60     Pithos+/Storage sharer accounts
61
62 server
63     Cyclades/Compute API server commands
64
65 flavor
66     Cyclades/Compute API flavor commands
67
68 image
69     Cyclades/Plankton API image commands
70
71 imagecompute
72     Cyclades/Compute API image commands
73
74 network
75     Networking API network commands
76
77 subnet
78     Networking API network commands
79
80 ip
81     Networking API floatingip commands
82
83 port
84     Networking API network Commands
85
86 config
87     Kamaki option and cloud configuration
88
89 history
90     Kamaki command history
91
92
93 Hidden command groups
94 ---------------------
95
96 service
97     Astakos API service commands
98
99 endpoint
100     Astakos API endpoints commands
101
102 commission
103     Astakos API commission commands
104
105
106 Options
107 -------
108
109 .. code-block:: console
110
111     --help, -h              Show help message and exit.
112     -v                      Use verbose output.
113     -d                      Use debug output.
114     -o KEY=VAL              Override a config value (can be repeated)
115     --cloud CLOUD           Choose a cloud to connect to
116
117
118 Commands
119 --------
120
121 user
122 ****
123
124 * authenticate  Authenticate a user, show user information
125 * info          Get info for (current) session user
126 * uuid2name     Get user name(s) from uuid(s)
127 * authenticate  Authenticate a user and get all authentication information
128 * list          List (cached) session users
129 * add           Authenticate a user by token and add to kamaki session (cache)
130 * name2uuid     Get user uuid(s) from name(s)
131 * select        Select a user from the (cached) list as the current session user
132 * delete        Delete a user (token) from the (cached) list of session users
133
134 project
135 *******
136
137 * info          Get details for a project
138 * unsuspend     Resume a suspended project (special privileges needed)
139 * suspend       Suspend a project (special privileges needed)
140 * list          List all projects
141 * create        Apply for a new project
142 * modify        Modify a project
143 * terminate     Terminate a project (special privileges needed)
144 * application   Application management commands
145 * membership    Project membership management commands
146 * reinstate     Reinstate a terminated project (special privileges needed)
147
148 membership
149 **********
150
151 * info      Details on a membership
152 * enroll    Enroll somebody to a project you manage
153 * join      Join a project
154 * list      List all memberships
155 * accept    Accept a membership for a project you manage
156 * leave     Leave a project you have membership to
157 * remove    Remove a membership for a project you manage
158 * reject    Reject a membership for a project you manage
159 * cancel    Cancel your (probably pending) membership to a project
160
161 quota
162 *****
163
164 * list          Get user quotas
165 * info          Get quota for a service (cyclades, pithos, astakos)
166
167 resource
168 ********
169
170 * list          List user resources
171
172 file
173 ****
174
175 * info      Get information/details about a file
176 * truncate  Truncate remote file up to size
177 * mkdir     Create a directory ( create --content-type='applcation/directory' )
178 * create    Create an empty file
179 * move      Move objects, even between different accounts or containers
180 * list      List all objects in a container or a directory object
181 * upload    Upload a file
182 * cat       Fetch remote file contents
183 * modify    Modify the attributes of a file or directory object
184 * append    Append local file to (existing) remote object
185 * download  Download a remove file or directory object to local file system
186 * copy      Copy objects, even between different accounts or containers
187 * overwrite Overwrite part of a remote file
188 * delete    Delete a file or directory object
189
190 container
191 *********
192
193 * info      Get information about a container
194 * modify    Modify the properties of a container
195 * create    Create a new container
196 * list      List all containers, or their contents
197 * empty     Empty a container
198 * delete    Delete a container
199
200 group
201 *****
202
203 * create    Create a group of users
204 * list      List all groups and group members
205 * delete    Delete a user group
206
207 sharer
208 ******
209
210 * info      Details on a Pithos+ sharer account (default: current account)
211 * list      List accounts who share file objects with current user
212
213 server
214 ******
215
216 * info      Detailed information on a Virtual Machine
217 * modify    Modify attributes of a virtual server
218 * create    Create a server (aka Virtual Machine)
219 * list      List virtual servers accessible by user
220 * reboot    Reboot a virtual server
221 * start     Start an existing virtual server
222 * shutdown  Shutdown an active virtual server
223 * delete    Delete a virtual server
224 * console   Create a VMC console and show connection information
225 * wait      Wait for server to finish [BUILD, STOPPED, REBOOT, ACTIVE]
226
227 flavor
228 ******
229
230 * list       list flavors
231 * info       get flavor details
232
233 image
234 *****
235
236 * info          Get image metadata
237 * list          List images accessible by user
238 * register      (Re)Register an image file to an Image service
239 * modify        Add / update metadata and properties for an image
240 * unregister    Unregister an image (does not delete the image file)
241
242 imagecompute
243 ************
244
245 * info      Get detailed information on an image
246 * list      List images
247 * modify    Modify image properties (metadata)
248 * delete    Delete an image (WARNING: image file is also removed)
249
250 network
251 *******
252
253 * info: Get details about a network
254 * disconnect: Disconnect a network from a device
255 * modify: Modify network attributes
256 * create: Create a new network
257 * list: List networks
258 * connect: Connect a network with a device (server or router)
259 * delete: Delete a network
260
261 subnet
262 ******
263
264 * info      Get details about a subnet
265 * list      List subnets
266 * create    Create a new subnet
267 * modify    Modify the attributes of a subnet
268
269 ip
270 **
271
272 * info      Details for an IP
273 * list      List reserved floating IPs
274 * attach    Attach a floating IP to a server
275 * pools     List pools of floating IPs
276 * release   Release a floating IP
277 * detach    Detach a floating IP from a server
278 * reserve   Reserve a floating IP
279
280 port
281 ****
282
283 * info      Get details about a port
284 * list      List all ports
285 * create    Create a new port (== connect server to network)
286 * modify    Modify the attributes of a port
287 * delete    Delete a port (== disconnect server from network)
288 * wait      Wait for port to finish [ACTIVE, DOWN, BUILD, ERROR]
289
290 config
291 ******
292
293 * list       list configuration options
294 * get        get a configuration option
295 * set        set a configuration option
296 * del        delete a configuration option
297
298 history
299 *******
300
301 Command user history, as stored in ~/.kamaki.history
302
303 * show      show intersession history
304 * clean     clean up history
305 * run       run/show previously executed command(s)
306
307
308 livetest (hidden)
309 *****************
310
311 * all         test all clients
312 * args        test how arguments are treated by kamaki
313 * astakos     test Astakos client
314 * cyclades    test Cyclades client
315 * error       Create an error message with optional message
316 * image       test Image client
317 * pithos      test Pithos client
318 * prints      user-test print methods for lists and dicts
319
320 service (hidden)
321 ****************
322
323 * list          List available services
324 * uuid2username Get service username(s) from uuid(s)
325 * quotas        Get service quotas
326 * username2uuid Get service uuid(s) from username(s)
327
328 endpoint (hidden)
329 *****************
330
331 * list      Get endpoints service endpoints
332
333 commission (hidden)
334 *******************
335
336 * info      Get commission info (special privileges required)
337 * resolve   Resolve multiple commissions (special privileges required)
338 * accept    Accept a pending commission  (special privileges required)
339 * reject    Reject a pending commission (special privileges required)
340 * issue     Issue commissions as a json string (special privileges required)
341 * pending   List pending commissions (special privileges required)
342
343
344 Author
345 ------
346
347 Synnefo development team <synnefo-devel@googlegroups.com>.
348