in azurelinuxagent/agent.py [0:0]
def main(args=None):
"""
Parse command line arguments, exit with usage() on error.
Invoke different methods according to different command
"""
if args is None:
args = []
if len(args) <= 0:
args = sys.argv[1:]
command, force, verbose, debug, conf_file_path, log_collector_full_mode, firewall_endpoint = parse_args(args)
if command == AgentCommands.Version:
version()
elif command == AgentCommands.Help:
print(usage())
elif command == AgentCommands.Start:
start(conf_file_path=conf_file_path)
else:
try:
agent = Agent(verbose, conf_file_path=conf_file_path)
if command == AgentCommands.DeprovisionUser:
agent.deprovision(force, deluser=True)
elif command == AgentCommands.Deprovision:
agent.deprovision(force, deluser=False)
elif command == AgentCommands.Provision:
agent.provision()
elif command == AgentCommands.RegisterService:
agent.register_service()
elif command == AgentCommands.Daemon:
agent.daemon()
elif command == AgentCommands.RunExthandlers:
agent.run_exthandlers(debug)
elif command == AgentCommands.ShowConfig:
agent.show_configuration()
elif command == AgentCommands.CollectLogs:
agent.collect_logs(log_collector_full_mode)
elif command == AgentCommands.SetupFirewall:
agent.setup_firewall(firewall_endpoint)
except Exception as e:
logger.error(u"Failed to run '{0}': {1}",
command,
textutil.format_exception(e))