def __create(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError( logger.error( "args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if args.service != 'default' and 'default' not in agency.rules: logger.warning( 'There is no default rules defined. Please fill out the default configuration file.' ) rule = Rules.create() agency.create_rule(rule) logger.warning( 'The default rule has been created if you still wish to create {0} please ' 'rerun the command.'.format(args.service)) elif args.service in agency.rules: logger.error( '{0} has already been created. If you wish to edit the rules for {0} please run:' ' customs rules {1} edit {0}'.format(args.service, agency.host)) else: rule = Rules.create(args.service) agency.create_rule(rule) exit_code = 0 if exit_code != 0: exit(exit_code)
def start(self, args, **extra_args): """Deploy a docker container to a specific container ship (host) :param args: :type args: """ if not isinstance(args, argparse.Namespace): raise TypeError( logger.error( "args should of an instance of argparse.Namespace")) docker_host = '{0}:{1}'.format(args.host, args.docker_port) agency_host = '{0}:{1}'.format(args.host, args.agency_port) customs = Agent( { 'host': agency_host, 'tls_path': args.agency_tls, 'token': args.token, 'verify': args.agency_verify }, args.reconcile, { 'host': docker_host, 'tls_path': args.docker_tls, 'verify': args.docker_verify }) customs.start() exit_code = 0 if exit_code != 0: exit(exit_code)
def __init__(self, sub_parser): logger.setup_logging('cli') if not isinstance(sub_parser, argparse._SubParsersAction): raise TypeError(logger.error("parser should of an instance of argparse._SubParsersAction")) # Set up rules commands. self._parser = sub_parser.add_parser('catalog') super(CatalogCommand, self).__init__() self._add_sub_commands()
def __default(self, args, **extra_args): """ Rules """ if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if agency.rules: for rule in agency.rules: logger.info(rule) else: logger.error('There are no rules defined. Please create a default run the following command:' '\"customs rules {0} create default\"'.format(agency_host)) exit_code = 0 if exit_code != 0: exit(exit_code)
def __init__(self, sub_parser): logger.setup_logging('cli') if not isinstance(sub_parser, argparse._SubParsersAction): raise TypeError(logger.error("parser should of an instance of argparse._SubParsersAction")) # Set up deploy parser and pass deploy function to defaults. self._parser = sub_parser.add_parser('agent') super(AgentCommand, self).__init__() self._build_arguments() self._parser.set_defaults(func=self.start)
def __edit(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if args.service in agency.rules: rule = agency.get_rule(args.service) rule.edit() agency.update_rule(rule) else: logger.error( 'Was unable to find rules for service: {0}. Please run: ' '\"customs rules {1} create {0}\"'.format(args.service, agency.host) ) exit_code = 0 if exit_code != 0: exit(exit_code)
def __default(self, args, **extra_args): """ Rules """ if not isinstance(args, argparse.Namespace): raise TypeError( logger.error( "args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if agency.rules: for rule in agency.rules: logger.info(rule) else: logger.error( 'There are no rules defined. Please create a default run the following command:' '\"customs rules {0} create default\"'.format(agency_host)) exit_code = 0 if exit_code != 0: exit(exit_code)
def __init__(self, sub_parser): logger.setup_logging('cli') if not isinstance(sub_parser, argparse._SubParsersAction): raise TypeError( logger.error( "parser should of an instance of argparse._SubParsersAction" )) # Set up deploy parser and pass deploy function to defaults. self._parser = sub_parser.add_parser('agent') super(AgentCommand, self).__init__() self._build_arguments() self._parser.set_defaults(func=self.start)
def __init__(self, sub_parser): logger.setup_logging('cli') if not isinstance(sub_parser, argparse._SubParsersAction): raise TypeError( logger.error( "parser should of an instance of argparse._SubParsersAction" )) # Set up rules commands. self._parser = sub_parser.add_parser('rules') super(RulesCommand, self).__init__() self._parser.set_defaults(func=self.__default) self.__add_sub_commands()
def __edit(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError( logger.error( "args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if args.service in agency.rules: rule = agency.get_rule(args.service) rule.edit() agency.update_rule(rule) else: logger.error( 'Was unable to find rules for service: {0}. Please run: ' '\"customs rules {1} create {0}\"'.format( args.service, agency.host)) exit_code = 0 if exit_code != 0: exit(exit_code)
def __create(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) if args.service != 'default' and 'default' not in agency.rules: logger.warning('There is no default rules defined. Please fill out the default configuration file.') rule = Rules.create() agency.create_rule(rule) logger.warning('The default rule has been created if you still wish to create {0} please ' 'rerun the command.'.format(args.service)) elif args.service in agency.rules: logger.error('{0} has already been created. If you wish to edit the rules for {0} please run:' ' customs rules {1} edit {0}'.format(args.service, agency.host)) else: rule = Rules.create(args.service) agency.create_rule(rule) exit_code = 0 if exit_code != 0: exit(exit_code)
def _list(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) for services in agency.catalog.services(): if isinstance(services, dict): for service, tags in services.items(): logger.info(service) else: logger.info(services) exit_code = 0 if exit_code != 0: exit(exit_code)
def _list(self, args, **extra_args): if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) agency_host = '{0}:{1}'.format(args.host, args.agency_port) agency = Agency(host=agency_host, token=args.token) data_centers = agency.catalog.datacenters() if isinstance(data_centers, list): for data_center in agency.catalog.datacenters(): logger.info(data_center) else: logger.info(data_centers) exit_code = 0 if exit_code != 0: exit(exit_code)
def start(self, args, **extra_args): """Deploy a docker container to a specific container ship (host) :param args: :type args: """ if not isinstance(args, argparse.Namespace): raise TypeError(logger.error("args should of an instance of argparse.Namespace")) docker_host = '{0}:{1}'.format(args.host, args.docker_port) agency_host = '{0}:{1}'.format(args.host, args.agency_port) customs = Agent( {'host': agency_host, 'tls_path': args.agency_tls, 'token': args.token, 'verify': args.agency_verify}, args.reconcile, {'host': docker_host, 'tls_path': args.docker_tls, 'verify': args.docker_verify} ) customs.start() exit_code = 0 if exit_code != 0: exit(exit_code)