Coverage for src/bin/bindctl/command_sets : 38%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
# Copyright (C) 2012 Internet Systems Consortium. # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SYSTEMS CONSORTIUM # DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL # INTERNET SYSTEMS CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING # FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# This file provides a built-in set of 'execute' commands, for common # functions, such as adding an initial auth server. # By calling the function prepare_execute_commands, the # commands in the command_sets map are added to the virtual # component called 'execute'. This is done in bindctl_main.
# The name of the 'virtual' command set execution module in bindctl
# This is a map of command names to lists # Each element in the set should itself be a dict containing: # 'description': A string with a description of the command set # 'commands': A list of bindctl commands 'init_authoritative_server': { 'description': 'Configure and run a basic Authoritative server, with default '+ 'SQLite3 backend, and xfrin and xfrout functionality', 'commands': [ '!echo adding Authoritative server component', 'config add /Boss/components b10-auth', 'config set /Boss/components/b10-auth/kind needed', 'config set /Boss/components/b10-auth/special auth', '!echo adding Xfrin component', 'config add /Boss/components b10-xfrin', 'config set /Boss/components/b10-xfrin/address Xfrin', 'config set /Boss/components/b10-xfrin/kind dispensable', '!echo adding Xfrout component', 'config add /Boss/components b10-xfrout', 'config set /Boss/components/b10-xfrout/address Xfrout', 'config set /Boss/components/b10-xfrout/kind dispensable', '!echo adding Zone Manager component', 'config add /Boss/components b10-zonemgr', 'config set /Boss/components/b10-zonemgr/address Zonemgr', 'config set /Boss/components/b10-zonemgr/kind dispensable', '!echo Components added. Please enter "config commit" to', '!echo finalize initial setup and run the components.' ] } }
return name in command_sets
return command_sets[name]['commands']
return command_sets[name]['description']
# For each """This function is called by bindctl_main, and sets up the commands defined here for use in bindctl.""" # common parameter param_show = ParamInfo(name="show", type="string", optional=True, desc="Show the list of commands without executing them")
# The command module module = ModuleInfo(name=EXECUTE_MODULE_NAME, desc="Execute a given set of commands")
# Command to execute a file cmd = CommandInfo(name="file", desc="Read commands from file") param = ParamInfo(name="filename", type="string", optional=False, desc="File to read the set of commands from.") cmd.add_param(param) cmd.add_param(param_show) module.add_command(cmd)
# and loop through all command sets defined above for name in command_sets: cmd = CommandInfo(name=name, desc=get_description(name)) cmd.add_param(param_show) module.add_command(cmd)
tool.add_module_info(module)
|