diff options
Diffstat (limited to 'src/lib/Server/Admin/Bundle.py')
-rw-r--r-- | src/lib/Server/Admin/Bundle.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/Server/Admin/Bundle.py b/src/lib/Server/Admin/Bundle.py new file mode 100644 index 000000000..b9d26758a --- /dev/null +++ b/src/lib/Server/Admin/Bundle.py @@ -0,0 +1,33 @@ +import Bcfg2.Server.Admin +from Bcfg2.Server.Plugins.Metadata import MetadataConsistencyError + +class Bundle(Bcfg2.Server.Admin.MetadataCore): + __shorthelp__ = "Create or delete bundle entries" + __longhelp__ = (__shorthelp__ + "\n\nbcfg2-admin bundle add <bundle> " + "bcfg2-admin bundle del <bundle>") + __usage__ = ("bcfg2-admin bundle [options] [add|del] [group]") + + def __init__(self, configfile): + Bcfg2.Server.Admin.MetadataCore.__init__(self, configfile, + self.__usage__) + + def __call__(self, args): + Bcfg2.Server.Admin.MetadataCore.__call__(self, args) + if len(args) == 0: + self.errExit("No argument specified.\n" + "Please see bcfg2-admin bundle help for usage.") + if args[0] == 'add': + try: + self.metadata.add_bundle(args[1]) + except MetadataConsistencyError: + print "Error in adding bundle" + raise SystemExit(1) + elif args[0] in ['delete', 'remove', 'del', 'rm']: + try: + self.metadata.remove_bundle(args[1]) + except MetadataConsistencyError: + print "Error in deleting bundle" + raise SystemExit(1) + else: + print "No command specified" + raise SystemExit(1) |