]> andersk Git - moira.git/blame - clients/moira/menus.c
Add sponsor_type/sponsor_id column to users table, and client support for manipulatin...
[moira.git] / clients / moira / menus.c
CommitLineData
c441a31a 1/* $Id$
7ac48069 2 *
3 * This is the file menus.c for the Moira Client, which allows users
59ec8dae 4 * to quickly and easily maintain most parts of the Moira database.
0a2c64cb 5 * It Contains: All menu definitions.
5eaef520 6 *
08345b74 7 * Created: 4/11/88
8 * By: Chris D. Peterson
9 *
7ac48069 10 * Copyright (C) 1988-1998 by the Massachusetts Institute of Technology.
11 * For copying and distribution information, please see the file
12 * <mit-copyright.h>.
08345b74 13 */
14
600b459e 15#include <stdio.h>
16
17#include "mit-copyright.h"
7ac48069 18#include <moira.h>
0a2c64cb 19#include "defs.h"
20#include "f_defs.h"
461c03b6 21#include "globals.h"
08345b74 22
7ac48069 23#include <stdio.h>
24
25RCSID("$Header$");
e532b848 26
0a2c64cb 27/* ------------------------- Second Tier Menus ------------------------- */
28
5eaef520 29/*
0a2c64cb 30 * Cluster Data Menu
08345b74 31 */
32
0a2c64cb 33Menu cluster_data_menu = {
34 NULLFUNC,
35 NULLFUNC,
36 "Cluster Data Menu",
461c03b6 37 4,
08345b74 38 {
0a2c64cb 39 { ShowClusterData, NULLMENU, 3, {
40 {"show", "Show Data on a given Cluster"},
41 {"clus", "Cluster's Name: "},
42 {"label", "Label Identifing the data: "},
08345b74 43 } },
0a2c64cb 44 { AddClusterData, NULLMENU, 4, {
45 {"add", "Add Data to a given Cluster"},
46 {"clus", "Cluster Name: "},
47 {"label", "Label Identifing the data: "},
48 {"data", "The data to be added: "},
08345b74 49 } },
b356ed19 50 { RemoveClusterData, NULLMENU, 3, {
9580b30a 51 {"delete", "Remove Data from a given Cluster"},
0a2c64cb 52 {"clus", "Cluster's Name: "},
53 {"label", "Label Identifing the data: "},
5eaef520 54 } },
0a2c64cb 55 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
08345b74 56 }
57};
58
0a2c64cb 59/*
60 * List Information Menu
61 */
62
63Menu list_info_menu = {
5eaef520 64 NULLFUNC,
65 NULLFUNC,
66 "List Information Menu",
67 3,
68 {
69 SIMPLEFUNC("member",
70 "Show all lists to which a given member belongs",
71 ListByMember),
72 SIMPLEFUNC("admin",
73 "Show all items which a given member can administer",
74 ListByAdministrator),
75 SIMPLEFUNC("public", "Show all public mailing lists",
76 ListAllPublicMailLists),
77 }
0a2c64cb 78};
79
17bbb3bc 80/*
81 * List Member Tags Menu
82 */
83
84Menu list_tags_menu = {
85 NULL,
86 NULL,
87 "List Member Tags Menu",
88 2,
89 {
90 SIMPLEFUNC("change", "Change the tag on a list member", TagMember),
91 SIMPLEFUNC("show", "Show all list members with tags", ListMembersWithTags),
92 }
93};
94
0a2c64cb 95/*
96 * List Member Menu
97 */
98
99Menu list_member_menu = {
5eaef520 100 ListmaintMemberMenuEntry,
101 ListmaintMemberMenuExit,
102 NULL,
17bbb3bc 103 8,
5eaef520 104 {
105 SIMPLEFUNC("add", "Add a member to this list", AddMember),
106 SIMPLEFUNC("remove", "Remove a member from this list", DeleteMember),
107 SIMPLEFUNC("all", "Show the members of this list", ListAllMembers),
108 SIMPLEFUNC("user", "Show the members of type USER", ListUserMembers),
109 SIMPLEFUNC("list", "Show the members of type LIST", ListListMembers),
110 SIMPLEFUNC("string", "Show the members of type STRING",
111 ListStringMembers),
17bbb3bc 112 SUBMENU("tags", "List Member Tags Menu", &list_tags_menu),
5eaef520 113 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
114 }
08345b74 115};
116
117/*
0a2c64cb 118 * Machine To Cluster Mappings Menu
08345b74 119 */
120
0a2c64cb 121Menu mappings_menu = {
08345b74 122 NULLFUNC,
123 NULLFUNC,
0a2c64cb 124 "Machine To Cluster Mappings Menu",
125 4,
08345b74 126 {
461c03b6 127 { MachineToClusterMap, NULLMENU, 3, {
85ca828a 128 {"map", "Show Machine to cluster mapping"},
129 {"name", "Machine's Name: "},
130 {"cluster", "Cluster's Name: "},
461c03b6 131 } },
08345b74 132 { AddMachineToCluster, NULLMENU, 3, {
5eaef520 133 {"addcluster", "Add machine to a cluster"},
134 {"name", "Machine's Name: "},
85ca828a 135 {"cluster", "Cluster's Name: "},
08345b74 136 } },
85ca828a 137 { RemoveMachineFromCluster, NULLMENU, 3, {
138 {"remcluster", "Remove machines from clusters"},
5eaef520 139 {"name", "Machine's Name: "},
85ca828a 140 {"cluster", "Cluster's Name: "},
08345b74 141 } },
0a2c64cb 142 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
08345b74 143 }
144};
145
9cd2d193 146/*
147 * Machine to Container Mappings Menu
148 */
149
150Menu cmappings_menu = {
151 NULLFUNC,
152 NULLFUNC,
153 "Machine to Container Mappings Menu",
154 5,
155 {
156 { MachineToContainerMap, NULLMENU, 2, {
157 {"map", "Show Machine to container mapping"},
158 {"name", "Machine's Name: "}
159 } },
160 { AddMachineToContainer, NULLMENU, 3, {
161 {"addcontainer", "Add machine to a container"},
162 {"name", "Machine's Name: "},
163 {"container", "Container's Name: "},
164 } },
165 { RemoveMachineFromContainer, NULLMENU, 3, {
166 {"remcontainer", "Remove machine from a container"},
167 {"name", "Machine's Name: "},
168 {"container", "Container's Name: "},
169 } },
170 { GetMachinesOfContainer, NULLMENU, 2, {
171 {"machofcont", "Show all machines in a container"},
172 {"name", "Container's Name: "},
173 } },
174 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
175 }
176};
177
5eaef520 178/*
0a2c64cb 179 * Post Office Box Menu
180 */
181
182Menu pobox_menu = {
08345b74 183 NULLFUNC,
184 NULLFUNC,
0a2c64cb 185 "Post Office Box Menu",
450849e9 186 5,
0a2c64cb 187 {
188 {GetUserPOBox, NULLMENU, 2, {
189 {"show", "Show a user's post office box"},
190 {"login name", "login name: "}
191 } },
192 {SetUserPOBox, NULLMENU, 2, {
193 {"set", "Set (Add or Change) a user's post office box"},
194 {"login name", "login name: "}
195 } },
450849e9 196 {SplitUserPOBox, NULLMENU, 2, {
197 {"split", "Split a user's post office box"},
198 {"login name", "login name: "}
199 } },
0a2c64cb 200 {RemoveUserPOBox, NULLMENU, 2, {
201 {"remove", "Remove a user's post office box"},
202 {"login name", "login name: "}
203 } },
204 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
205 }
206};
5eaef520 207
0a2c64cb 208/*
209 * Quota Menu
210 */
5eaef520 211
0a2c64cb 212Menu quota_menu = {
213 NULLFUNC,
214 NULLFUNC,
215 "Quota Menu",
9550857c 216 8,
0a2c64cb 217 {
218 SIMPLEFUNC("shdef", "Show default user quota (in KB)", ShowDefaultQuota),
219 {ChangeDefaultQuota, NULLMENU, 2, {
220 {"chdef", "Change default user quota"},
221 {"quota", "New quota (in KB): "}
222 } },
9550857c 223 SIMPLEFUNC("getquota", "Show a quota on a filesystem",
224 GetQuota),
225 SIMPLEFUNC("getfsquotas", "Show all quotas on a filesystem",
226 GetQuotaByFilesys),
227 SIMPLEFUNC("addquota", "Add a new disk quota on a filesystem",
228 AddQuota),
229 SIMPLEFUNC("upquota", "Change a quota on a filesystem",
230 UpdateQuota),
231 SIMPLEFUNC("delquota", "Delete a quota on a filesystem",
232 DeleteQuota),
0a2c64cb 233 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
5eaef520 234 }
0a2c64cb 235};
236
6ef64e43 237Menu fsgroup_menu = {
5eaef520 238 NULLFUNC,
239 NULLFUNC,
240 "Filesystem Group Menu",
241 6,
242 {
243 { GetFS, NULLMENU, 2, {
244 {"get", "Get individual or group filesystem information"},
245 {"name", "Name of Filesystem: "}
246 } },
247 { AddFSToGroup, NULLMENU, 3, {
248 {"add", "Add a new filesystem to an FS group"},
249 {"group", "FS Group name: "},
250 {"filsys", "Filesystem name: "}
251 } },
252 { RemoveFSFromGroup, NULLMENU, 3, {
253 {"remove", "Remove a filesystem from an FS group"},
254 {"group", "FS Group name: "},
255 {"filsys", "Filesystem name: "}
256 } },
257 { ChangeFSGroupOrder, NULLMENU, 2, {
258 {"order", "Change the order of filesystems in a group"},
259 {"group", "FS Group name: "}
260 } },
261 SIMPLEFUNC("help", "Info on Filesystem Groups", FSGroupHelp),
262 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
263 }
6ef64e43 264};
265
e532b848 266Menu service_menu = {
5eaef520 267 NULLFUNC,
268 NULLFUNC,
269 "DCM Service Menu",
270 6,
271 {
272 { showserv, NULLMENU, 2, {
273 { "showserv", "Show service information" },
274 { "service name", "Name of service: " },
275 } },
276 { addserv, NULLMENU, 2, {
277 { "addserv", "Add a new service" },
278 { "service name", "Name of service: " },
279 } },
280 { updateserv, NULLMENU, 2, {
281 { "updateserv", "Update service information" },
282 { "service name", "Name of service: " },
283 } },
284 { resetsrverr, NULLMENU, 2, {
285 { "resetsrverr", "Reset service error" },
286 { "service name", "Name of service: " },
287 } },
288 { resetsrvc, NULLMENU, 2, {
289 { "resetsrvc", "Reset service state" },
290 { "service name", "Name of service: " },
291 } },
292 { delserv, NULLMENU, 2, {
293 { "delserv", "Delete service info" },
294 { "service name", "Name of service: " },
295 } },
296 }
e532b848 297};
298
299Menu host_menu = {
5eaef520 300 NULLFUNC,
301 NULLFUNC,
302 "DCM Host Menu",
303 7,
304 {
305 { showhost, NULLMENU, 3, {
306 { "showhost", "Show service/host tuple information" },
307 { "service name", "Name of service: " },
308 { "host name", "Name of machine: " },
309 } },
310 { addhost, NULLMENU, 3, {
311 { "addhost", "Add a new service/host tuple" },
312 { "service name", "Name of service: " },
313 { "host name", "Name of machine: " },
314 } },
315 { updatehost, NULLMENU, 3, {
316 { "updatehost", "Update a service/host tuple" },
317 { "service name", "Name of service: " },
318 { "host name", "Name of machine: " },
319 } },
320 { resethosterr, NULLMENU, 3, {
321 { "resethosterr", "Reset service/host error" },
322 { "service name", "Name of service: " },
323 { "host name", "Name of machine: " },
324 } },
325 { resethost, NULLMENU, 3, {
326 { "resethost", "Reset service/host state" },
327 { "service name", "Name of service: " },
328 { "host name", "Name of machine: " },
329 } },
330 { sethostor, NULLMENU, 3, {
331 { "override", "Set service/host override" },
332 { "service name", "Name of service: " },
333 { "host name", "Name of machine: " },
334 } },
335 { delhost, NULLMENU, 3, {
336 { "delhost", "Delete service/host tuple" },
337 { "service name", "Name of service: " },
338 { "host name", "Name of machine: " },
339 } },
340 }
e532b848 341};
342
41c81c11 343/* User Reservations Menu */
344Menu reservations_menu = {
345 NULLFUNC,
346 NULLFUNC,
347 "User Reservations Menu",
348 4,
349 {
350 { GetUserReservations, NULLMENU, 2, {
351 { "get", "Get User Reservations" },
352 { "login name", "User login name: " },
353 } },
354 { AddUserReservation, NULLMENU, 3, {
355 { "add", "Add User Reservation" },
356 { "login name", "User login name: " },
357 { "reservation", "Reservation: " },
358 } },
359 { DelUserReservation, NULLMENU, 3, {
360 { "delete", "Delete User Reservation" },
361 { "login name", "User login name: " },
362 { "reservation", "Reservation: " },
363 } },
364 { GetUserByReservation, NULLMENU, 2, {
365 { "getres", "Get Users by Reservation" },
366 { "reservation", "Reservation: " },
367 } },
368 }
369};
370
0a2c64cb 371/* ------------------------- First Tier Menus ------------------------- */
372
5eaef520 373/*
0a2c64cb 374 * Cluster Menu
375 */
376
377Menu cluster_menu = {
378 NULLFUNC,
379 NULLFUNC,
380 "Cluster Menu",
85ca828a 381 7,
08345b74 382 {
383 { ShowClusterInfo, NULLMENU, 2, {
85ca828a 384 {"show", "Get cluster information"},
08345b74 385 {"name", "Cluster's Name: "}
386 } },
08345b74 387 { AddCluster, NULLMENU, 2, {
85ca828a 388 {"add", "Add a new cluster"},
5eaef520 389 {"name", "Cluster's Name: "},
08345b74 390 } },
391 { UpdateCluster, NULLMENU, 2, {
85ca828a 392 {"update", "Update cluster information"},
5eaef520 393 {"name", "Cluster's Name: "},
08345b74 394 } },
08345b74 395 { DeleteCluster, NULLMENU, 2, {
85ca828a 396 {"delete", "Delete this cluster"},
08345b74 397 {"name", "Cluster's Name: "}
398 } },
5eaef520 399 SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu),
400 SUBMENU("c_data", "Cluster Data Menu", &cluster_data_menu),
0a2c64cb 401 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
08345b74 402 }
403};
404
5eaef520 405/*
0a2c64cb 406 * Filesystem Menu
407 */
408
409Menu filesys_menu = {
5eaef520 410 NULLFUNC,
411 NULLFUNC,
0a2c64cb 412 "Filesystem Menu",
48dc73fa 413 10,
08345b74 414 {
0a2c64cb 415 { GetFS, NULLMENU, 2, {
416 {"get", "Get Filesystem Name Information"},
417 {"name", "Name of Filesystem: "}
08345b74 418 } },
48dc73fa 419 { GetFSM, NULLMENU, 2, {
420 {"getmach", "Get Filesystems by Machine"},
421 {"name", "Name of Server: "}
422 } },
0a2c64cb 423 { AddFS, NULLMENU, 2, {
424 {"add", "Add New Filesystem to Database"},
425 {"name", "name: "},
08345b74 426 } },
0a2c64cb 427 { ChangeFS, NULLMENU, 2, {
428 {"change", "Update Filesystem Information"},
429 {"name", "name: "},
430 } },
431 { DeleteFS, NULLMENU, 2, {
432 {"delete", "Delete Filesystem"},
433 {"name", "Filesystem Name: "}
434 } },
6ef64e43 435 SUBMENU("fsgroups", "File System Groups Menu", &fsgroup_menu),
0a2c64cb 436 { GetFSAlias, NULLMENU, 2, {
437 {"check", "Check An Association"},
1d4e1e0f 438 {"name", "Alias name: "}
0a2c64cb 439 } },
440 { CreateFSAlias, NULLMENU, 2, {
441 {"alias", "Associate with a Filesystem"},
1d4e1e0f 442 {"name", "Alias name: "},
0a2c64cb 443 } },
444 { DeleteFSAlias, NULLMENU, 2, {
445 {"unalias", "Disassociate from a Filesystem"},
1d4e1e0f 446 {"name", "Alias name: "},
08345b74 447 } },
5eaef520 448 SUBMENU("quotas", "Quota Menu", &quota_menu),
6ef64e43 449/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
450/* SIMPLEFUNC("help", "Help ..", AttachHelp) */
08345b74 451 }
452};
453
ad7e0e04 454Menu subnet_menu = {
455 NULLFUNC,
456 NULLFUNC,
62eb195e 457 "Network Menu",
ad7e0e04 458 5,
459 {
460 { ShowSubnetInfo, NULLMENU, 2, {
5eaef520 461 {"show", "Get network information"},
462 {"name", "Network's Name: "}
ad7e0e04 463 } },
464 { AddSubnet, NULLMENU, 2, {
5eaef520 465 {"add", "Add a new network"},
466 {"name", "Network's Name: "},
ad7e0e04 467 } },
468 { UpdateSubnet, NULLMENU, 2, {
5eaef520 469 {"update", "Update network information"},
470 {"name", "Network's Name: "},
ad7e0e04 471 } },
472 { DeleteSubnet, NULLMENU, 2, {
5eaef520 473 {"delete", "Delete this network"},
474 {"name", "Network's Name: "}
ad7e0e04 475 } },
476 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
477 }
478};
479
480Menu cname_menu = {
481 NULLFUNC,
482 NULLFUNC,
483 "Host Alias Menu",
484 4,
485 {
486 { ShowCname, NULLMENU, 3, {
5eaef520 487 {"show", "Get host alias information"},
488 {"alias", "Alias Name (Cname): "},
489 {"host", "Canonical Host Name: "}
ad7e0e04 490 } },
491 { AddCname, NULLMENU, 3, {
5eaef520 492 {"add", "Add a new host alias"},
493 {"alias", "Alias Name (Cname): "},
494 {"host", "Canonical Host Name: "}
ad7e0e04 495 } },
496 { DeleteCname, NULLMENU, 3, {
5eaef520 497 {"delete", "Delete this alias"},
498 {"alias", "Alias Name (Cname): "},
499 {"host", "Canonical Host Name: "}
ad7e0e04 500 } },
501 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
502 }
503};
504
08345b74 505/*
0a2c64cb 506 * Machine Menu
08345b74 507 */
508
0a2c64cb 509Menu machine_menu = {
08345b74 510 NULLFUNC,
511 NULLFUNC,
0a2c64cb 512 "Machine Menu",
4f6b1a05 513 9,
08345b74 514 {
0a2c64cb 515 { ShowMachineInfo, NULLMENU, 2, {
5eaef520 516 {"show", "Get machine information"},
517 {"name", "Machine's Name: "}
0a2c64cb 518 } },
e5710f27 519 { ShowMachineQuery, NULLMENU, 5, {
5eaef520 520 {"query", "Lookup machines"},
521 {"name", "Machine Name (or leave empty to match any): "},
522 {"address", "Address in dotted notation (or leave empty to match any): "},
523 {"location", "Location (or leave empty to match any): "},
524 {"network", "Network (or leave empty to match any): "}
ad7e0e04 525 } },
7399b4b2 526 SIMPLEFUNC("owner", "Lookup machines by owner", MachineByOwner),
4f6b1a05 527 SIMPLEFUNC("acctnumber", "Lookup machines by account number",
528 MachineByAcctNumber),
0a2c64cb 529 { AddMachine, NULLMENU, 2, {
5eaef520 530 {"add", "Add a new machine"},
531 {"network", "Network assignment: "},
0a2c64cb 532 } },
533 { UpdateMachine, NULLMENU, 2, {
5eaef520 534 {"update", "Update machine information"},
535 {"name", "Machine's Name: "},
0a2c64cb 536 } },
537 { DeleteMachine, NULLMENU, 2, {
5eaef520 538 {"delete", "Delete this machine"},
539 {"name", "Machine's Name: "}
0a2c64cb 540 } },
5eaef520 541 SUBMENU("cnames", "Alias names for machines", &cname_menu),
542 SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu),
08345b74 543 }
544};
545
08345b74 546/*
0a2c64cb 547 * List Menu
08345b74 548 */
549
0a2c64cb 550Menu list_menu = {
5eaef520 551 NULLFUNC,
552 NULLFUNC,
553 "List Menu",
554 9,
555 {
556 { ShowListInfo, NULLMENU, 2, {
557 {"show", "Display information about a list"},
558 {"list name", "Name of list: "}
559 } },
560 { NULLFUNC, &list_member_menu, 2, {
561 {"add", "Create new List"},
562 {"list name", "Name of list: "}
563 } },
564 { UpdateList, NULLMENU, 2, {
565 {"update", "Update characteristics of a list"},
566 {"list name", "Name of list: "}
567 } },
568 { DeleteList, NULLMENU, 2, {
569 {"delete", "Delete a List"},
570 {"list name", "Name of list: "}
571 } },
572 SIMPLEFUNC("query_remove",
573 "Interactively remove an item from all lists",
574 InterRemoveItemFromLists),
575 { NULLFUNC, &list_member_menu, 2, {
576 {"members", "Member Menu - Change/Show Members of a List."},
577 {"list name", "Name of list: "}
578 } },
579 SUBMENU("list_info", "List Info Menu",
580 &list_info_menu),
581 SUBMENU("quotas", "Quota Menu", &quota_menu),
6ef64e43 582/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
5eaef520 583 SIMPLEFUNC("help", "Print Help", ListHelp)
584 }
08345b74 585};
586
587/*
0a2c64cb 588 * NFS Physical Menu
08345b74 589 */
590
0a2c64cb 591Menu nfsphys_menu = {
08345b74 592 NULLFUNC,
593 NULLFUNC,
0a2c64cb 594 "NFS Physical Menu",
595 6,
08345b74 596 {
075fe5bb 597 { ShowNFSService, NULLMENU, 2, {
85ca828a 598 { "show", "Show an NFS server" },
08345b74 599 { "machine", "Machine Name: "},
08345b74 600 } },
075fe5bb 601 { AddNFSService, NULLMENU, 2, {
08345b74 602 { "add", "Add NFS server" },
603 { "machine", "Machine Name: "},
08345b74 604 } },
075fe5bb 605 { UpdateNFSService, NULLMENU, 2, {
08345b74 606 { "update", "Update NFS server"},
607 { "machine", "Machine Name: "},
08345b74 608 } },
075fe5bb 609 { DeleteNFSService, NULLMENU, 2, {
08345b74 610 { "delete", "Delete NFS server"},
611 {"machine", "Machine Name: "},
08345b74 612 } },
5eaef520 613 SUBMENU("quotas", "Quota Menu", &quota_menu),
08345b74 614 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
461c03b6 615/* SIMPLEFUNC("help", "Help", NFSHelp), */
08345b74 616 }
617};
618
a6c2a13a 619Menu krbmap_menu = {
5eaef520 620 NULLFUNC,
621 NULLFUNC,
622 "User Kerberos Mapping Menu",
623 3,
624 {
625 { GetKrbmap, NULLMENU, 3, {
626 { "show", "Show Kerberos Mappings" },
627 { "user", "User login name: " },
628 { "principal", "Principal: " },
629 } },
630 { AddKrbmap, NULLMENU, 3, {
631 { "add", "Add Kerberos Mapping" },
632 { "user", "User login name: " },
633 { "principal", "Principal (this is case sensitive): " },
634 } },
635 { DeleteKrbmap, NULLMENU, 3, {
636 { "delete", "Delete Kerberos Mapping" },
637 { "user", "User login name: " },
638 { "principal", "Principal: " },
639 } },
640 }
a6c2a13a 641};
642
08345b74 643/*
0a2c64cb 644 * User Menu
08345b74 645 */
646
0a2c64cb 647Menu user_menu = {
075fe5bb 648 NULLFUNC,
649 NULLFUNC,
0a2c64cb 650 "User Menu",
41c81c11 651 12,
08345b74 652 {
653 {ShowUserByLogin, NULLMENU, 2, {
654 {"login", "Show user information by login name"},
655 {"login name", "Desired login name: "}
656 } },
657 {ShowUserByName, NULLMENU, 3, {
075fe5bb 658 {"name", "Show user information by name"},
08345b74 659 {"first", "First name: "},
660 {"last", "Last name: "}
661 } },
662 {ShowUserByClass, NULLMENU, 2, {
5eaef520 663 {"class", "Show names of users in a given class"},
664 {"login name", "Desired class: "}
665 } },
81701699 666 {ShowUserById, NULLMENU, 2, {
5eaef520 667 {"id", "Show user information by ID number"},
668 {"ID number", "ID number: "}
81701699 669 } },
7902e669 670 SIMPLEFUNC("sponsor", "Lookup users by sponsor", UserBySponsor),
075fe5bb 671 {UpdateUser, NULLMENU, 2, {
08345b74 672 {"modify", "Change all user fields"},
673 {"login", "Login name: "}
674 } },
5eaef520 675 SIMPLEFUNC("adduser", "Add a new user to the database",
075fe5bb 676 AddNewUser),
677 SIMPLEFUNC("register", "Register a user", RegisterUser),
a444fefe 678 {DeactivateUser, NULLMENU, 2, {
679 {"deactivate", "Deactivate user"},
680 {"login", "Login name: "},
681 } },
08345b74 682 {DeleteUser, NULLMENU, 2, {
a444fefe 683 {"expunge", "Expunge user"},
08345b74 684 {"login", "Login name: "}
685 } },
0a2c64cb 686 SUBMENU("pobox", "Post Office Box Menu", &pobox_menu),
a6c2a13a 687 SUBMENU("krbmap", "User Kerberos Mappings", &krbmap_menu),
41c81c11 688 SUBMENU("reservations", "User Reservations Menu", &reservations_menu),
08345b74 689 }
690};
691
e532b848 692Menu dcm_menu = {
5eaef520 693 NULLFUNC,
694 NULLFUNC,
695 "DCM Menu",
696 6,
697 {
698 SIMPLEFUNC("enable", "Enable/disable DCM", EnableDcm),
699 SUBMENU("service", "DCM Service Menu", &service_menu),
700 SUBMENU("host", "DCM Host Menu", &host_menu),
701 SIMPLEFUNC("active", "Display entries currently being updated",
702 InProgress),
703 SIMPLEFUNC("failed", "Display entries with errors to be reset", DcmFailed),
704 SIMPLEFUNC("dcm", "Invoke a DCM update now", Dcm),
e532b848 705 }
706};
707
59c53d7f 708Menu printserver_menu = {
709 NULLFUNC,
710 NULLFUNC,
711 "Print Server Menu",
712 4,
713 {
714 { GetPrintSrv, NULLMENU, 2, {
715 {"get", "Get Print Server Information"},
716 {"name", "Name of server: "}
717 } },
718 { AddPrintSrv, NULLMENU, 2, {
719 {"add", "Add a New Print Server"},
720 {"name", "Name of server: "}
721 } },
722 { ChangePrintSrv, NULLMENU, 2, {
723 {"change", "Modify a Print Server"},
724 {"name", "Name of server: "}
725 } },
726 { DelPrintSrv, NULLMENU, 2, {
727 {"delete", "Delete a Print Server"},
728 {"name", "Name of server: "}
729 } }
730 }
731};
732
5eaef520 733/*
28064364 734 * Printer Menu
e532b848 735 */
736
737Menu printer_menu = {
5eaef520 738 NULLFUNC,
739 NULLFUNC,
e532b848 740 "Printer Menu",
59c53d7f 741 11,
e532b848 742 {
28064364 743 { GetPrn, NULLMENU, 2, {
744 {"get", "Get Printer Information"},
e532b848 745 {"name", "Name of Printer: "}
746 } },
28064364 747 { GetPrnByHostname, NULLMENU, 2, {
748 {"hostname", "Look up Printer Information by Printer Hostname"},
749 {"name", "Hostname of Printer: "}
e532b848 750 } },
28064364 751 { GetPrnByEthernet, NULLMENU, 2, {
752 {"ether", "Look up Printer Information by Ethernet address"},
753 {"hwaddr", "Ethernet address of Printer: "}
a6c2a13a 754 } },
28064364 755 { GetPrnByRM, NULLMENU, 2, {
756 {"rm", "Look up Printer Information by Print Spooler"},
757 {"name", "Hostname of spooler: "}
a6c2a13a 758 } },
28064364 759 { GetPrnByLocation, NULLMENU, 2, {
760 {"loc", "Look up Printer Information by Location"},
761 {"location", "Location: "}
a6c2a13a 762 } },
28064364 763 { GetPrnByContact, NULLMENU, 2, {
764 {"contact", "Look up Printer Information by Contact Info"},
765 {"contact", "Contact: "}
a6c2a13a 766 } },
28064364 767 { AddPrn, NULLMENU, 2, {
768 {"add", "Add New Printer to Database"},
769 {"name", "name: "},
a6c2a13a 770 } },
28064364 771 { ChngPrn, NULLMENU, 2, {
772 {"change", "Update Printer Information"},
773 {"name", "name: "},
a6c2a13a 774 } },
28064364 775 { DeletePrn, NULLMENU, 2, {
776 {"delete", "Delete Printer"},
777 {"name", "Printer Name: "}
a6c2a13a 778 } },
28064364 779 { UpdateHWAddr, NULLMENU, 2, {
780 {"hwaddr", "Update Printer Hardware Address"},
781 {"name", "Printer hostname: "}
59c53d7f 782 } },
783 SUBMENU("server", "Print Servers Menu", &printserver_menu),
a6c2a13a 784 }
785};
786
a137231c 787/*
788 * Zephyr Menu
789 */
790
791Menu zephyr_menu = {
5eaef520 792 NULLFUNC,
793 NULLFUNC,
794 "Zephyr Menu",
795 5,
796 {
797 { GetZephyr, NULLMENU, 2, {
798 {"get", "Get Zephyr Class Information"},
799 {"name", "Name of class: "}
800 } },
801 { AddZephyr, NULLMENU, 2, {
802 {"add", "Add New Zephyr class restrictions"},
803 {"name", "Class name: "},
804 } },
805 { ChngZephyr, NULLMENU, 2, {
806 {"change", "Update Zephyr class restrictions"},
807 {"name", "Class name: "},
808 } },
809 { DeleteZephyr, NULLMENU, 2, {
810 {"delete", "Delete Zephyr class restriction"},
811 {"name", "Class Name: "}
812 } },
813 { NULLFUNC, &list_member_menu, 2, {
814 {"members", "Member Menu - Change/Show Members of a List."},
815 {"list name", "Name of list: "}
816 } },
817 }
a137231c 818};
819
17bbb3bc 820/*
821 * ACL Menu
822 */
823
824Menu acl_menu = {
825 NULLFUNC,
826 NULLFUNC,
827 "Generic ACL Menu",
828 3,
829 {
830 { GetACL, NULLMENU, 3, {
831 {"get", "Get ACL Information"},
832 {"host", "Machine: "},
833 {"target", "Target file: "}
834 } },
835 { AddACL, NULLMENU, 3, {
836 {"add", "Add New ACL"},
837 {"host", "Machine: "},
838 {"target", "Target file: "}
839 } },
840 { DeleteACL, NULLMENU, 3, {
841 {"delete", "Delete ACL"},
842 {"host", "Machine: "},
843 {"target", "Target file: "}
844 } },
845 }
846};
a6c2a13a 847
9cd2d193 848/*
849 * Container Menu
850 */
851
852Menu container_menu = {
853 NULLFUNC,
854 NULLFUNC,
855 "Container Menu",
86ad14f9 856 8,
9cd2d193 857 {
858 { ShowContainerInfo, NULLMENU, 2, {
859 {"show", "Get container information"},
860 {"name", "Container's Name: "}
861 } },
862 { AddContainer, NULLMENU, 2, {
863 {"add", "Add a new container"},
864 {"name", "Container's Name: "}
865 } },
866 { UpdateContainer, NULLMENU, 2, {
867 {"update", "Update container information"},
868 {"name", "Container's Name: "}
869 } },
870 { DeleteContainer, NULLMENU, 2, {
871 {"delete", "Delete this container"},
872 {"name", "Container's Name: "}
873 } },
874 { GetSubContainers, NULLMENU, 2, {
875 {"subcont", "Get subcontainers of container"},
876 {"name", "Container's Name: "}
877 } },
86ad14f9 878 SIMPLEFUNC("toplevel", "Get all top level containers", GetTopLevelCont),
9cd2d193 879 SUBMENU("mappings", "Machine to Container Mappings Menu", &cmappings_menu),
880 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
881 }
882};
883
a5204f48 884/*
885 * Miscellaneous Menu
886 */
887
888Menu misc_menu = {
5eaef520 889 NULLFUNC,
890 NULLFUNC,
891 "Miscellaneous Menu",
892 4,
893 {
894 SIMPLEFUNC("statistics", "Show database statistics", TableStats),
895 SIMPLEFUNC("clients", "Show active Moira clients", ShowClients),
896 { ShowValue, NULLMENU, 2, {
897 {"getval", "Show a database variable value"},
898 {"name", "variable name: "},
899 } },
900 { ShowAlias, NULLMENU, 3, {
901 {"getalias", "Show an alias relation"},
902 {"name", "Alias name: "},
903 {"type", "Alias type: "},
904 } },
905 }
a5204f48 906};
907
908
0a2c64cb 909/* ------------------------- Root Menu ------------------------- */
910
5eaef520 911/*
8defc06b 912 * Moira top menu
08345b74 913 */
914
8defc06b 915Menu moira_top_menu = {
08345b74 916 NULLFUNC,
917 NULLFUNC,
95cd286e 918 "Moira Database Manipulation",
9cd2d193 919 13,
08345b74 920 {
5eaef520 921 SUBMENU("cluster", "Cluster Menu", &cluster_menu),
922 SUBMENU("filesys", "Filesystem Menu", &filesys_menu),
923 SUBMENU("list", "Lists and Group Menu", &list_menu),
924 SUBMENU("machine", "Machine Menu", &machine_menu),
62eb195e 925 SUBMENU("network", "Network Menu", &subnet_menu),
5eaef520 926 SUBMENU("nfs", "NFS Physical Menu", &nfsphys_menu),
28064364 927 SUBMENU("printer", "Printer Menu", &printer_menu),
5eaef520 928 SUBMENU("user", "User Menu", &user_menu),
a137231c 929 SUBMENU("zephyr", "Zephyr ACLS Menu", &zephyr_menu),
a5204f48 930 SUBMENU("dcm", "DCM Menu", &dcm_menu),
17bbb3bc 931 SUBMENU("acl", "Generic ACL Menu", &acl_menu),
9cd2d193 932 SUBMENU("container", "Container Menu", &container_menu),
a5204f48 933 SUBMENU("misc", "Miscellaneous Menu", &misc_menu)
08345b74 934 }
5eaef520 935};
This page took 0.247911 seconds and 5 git commands to generate.