VERSION: Bump version number up to 4.0.4.
[samba.git] / source4 / scripting / python / samba / netcmd / main.py
1 # Unix SMB/CIFS implementation.
2 # Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2011
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 #
17
18 """The main samba-tool command implementation."""
19
20 from samba import getopt as options
21
22 from samba.netcmd import SuperCommand
23 from samba.netcmd.dbcheck import cmd_dbcheck
24 from samba.netcmd.delegation import cmd_delegation
25 from samba.netcmd.dns import cmd_dns
26 from samba.netcmd.domain import cmd_domain
27 from samba.netcmd.drs import cmd_drs
28 from samba.netcmd.dsacl import cmd_dsacl
29 from samba.netcmd.fsmo import cmd_fsmo
30 from samba.netcmd.gpo import cmd_gpo
31 from samba.netcmd.group import cmd_group
32 from samba.netcmd.ldapcmp import cmd_ldapcmp
33 from samba.netcmd.ntacl import cmd_ntacl
34 from samba.netcmd.rodc import cmd_rodc
35 from samba.netcmd.sites import cmd_sites
36 from samba.netcmd.spn import cmd_spn
37 from samba.netcmd.testparm import cmd_testparm
38 from samba.netcmd.time import cmd_time
39 from samba.netcmd.user import cmd_user
40 from samba.netcmd.vampire import cmd_vampire
41 from samba.netcmd.processes import cmd_processes
42
43
44 class cmd_sambatool(SuperCommand):
45     """Main samba administration tool."""
46
47     takes_optiongroups = {
48         "versionopts": options.VersionOptions,
49         }
50
51     subcommands = {}
52     subcommands["dbcheck"] =  cmd_dbcheck()
53     subcommands["delegation"] = cmd_delegation()
54     subcommands["dns"] = cmd_dns()
55     subcommands["domain"] = cmd_domain()
56     subcommands["drs"] = cmd_drs()
57     subcommands["dsacl"] = cmd_dsacl()
58     subcommands["fsmo"] = cmd_fsmo()
59     subcommands["gpo"] = cmd_gpo()
60     subcommands["group"] = cmd_group()
61     subcommands["ldapcmp"] = cmd_ldapcmp()
62     subcommands["ntacl"] = cmd_ntacl()
63     subcommands["rodc"] = cmd_rodc()
64     subcommands["sites"] = cmd_sites()
65     subcommands["spn"] = cmd_spn()
66     subcommands["testparm"] =  cmd_testparm()
67     subcommands["time"] = cmd_time()
68     subcommands["user"] = cmd_user()
69     subcommands["vampire"] = cmd_vampire()
70     subcommands["processes"] = cmd_processes()