def take_action(self, parsed_args):
        try:
            self.smgr_ip = self.smgr_port = None
            smgr_dict = self.app.get_smgr_config()

            if smgr_dict["smgr_ip"]:
                self.smgr_ip = smgr_dict["smgr_ip"]
            else:
                self.app.report_missing_config("smgr_ip")
            if smgr_dict["smgr_port"]:
                self.smgr_port = smgr_dict["smgr_port"]
            else:
                self.app.report_missing_config("smgr_port")
        except Exception as e:
            sys.exit("Exception: %s : Error getting smgr config" % e.message)

        rest_api_params = None
        rest_api_params = self.set_server_status(parsed_args)
        if rest_api_params:
            resp = smgrutils.send_REST_request(
                self.smgr_ip,
                self.smgr_port,
                obj="server_status",
                match_key=rest_api_params['match_key'],
                match_value=rest_api_params['match_value'])
            json_format = getattr(parsed_args, "json", False)
            if json_format:
                self.app.stdout.write(
                    str(smgrutils.print_rest_response(resp)) + "\n")
            else:
                table_format_output = smgrutils.convert_json_to_table(
                    obj="server", json_resp=resp)
                self.app.stdout.write("\n" + str(
                    smgrutils.print_rest_response(str(table_format_output))) +
                                      "\n")
    def take_action(self, parsed_args):
        try:
            self.smgr_ip = self.smgr_port = None
            smgr_dict = self.app.get_smgr_config()

            if smgr_dict["smgr_ip"]:
                self.smgr_ip = smgr_dict["smgr_ip"]
            else:
                self.app.report_missing_config("smgr_ip")
            if smgr_dict["smgr_port"]:
                self.smgr_port = smgr_dict["smgr_port"]
            else:
                self.app.report_missing_config("smgr_port")
        except Exception as e:
            sys.exit("Exception: %s : Error getting smgr config" % e.message)

        rest_api_params = None
        rest_api_params = self.set_server_status(parsed_args)
        if rest_api_params:
            resp = smgrutils.send_REST_request(self.smgr_ip, self.smgr_port, obj="server_status",
                                              match_key=rest_api_params['match_key'],
                                              match_value=rest_api_params['match_value'])
            json_format = getattr(parsed_args, "json", False)
            if json_format:
                self.app.stdout.write(str(smgrutils.print_rest_response(resp)) + "\n")
            else:
                table_format_output = smgrutils.convert_json_to_table(obj="server", json_resp=resp)
                self.app.stdout.write("\n" + str(smgrutils.print_rest_response(str(table_format_output))) + "\n")
    def take_action(self, parsed_args):
        detail = getattr(parsed_args, 'detail', None)
        rest_api_params = {}

        # end except
        if parsed_args.which == "server":
            rest_api_params = self.show_server(parsed_args)
        elif parsed_args.which == "image":
            rest_api_params = self.show_image(parsed_args)
        elif parsed_args.which == "cluster":
            rest_api_params = self.show_cluster(parsed_args)
        elif parsed_args.which == 'tag':
            rest_api_params = self.show_tag()
        elif parsed_args.which == 'all':
            rest_api_params = self.show_all()
        elif parsed_args.which == 'monitoring':
            rest_api_params = mon_querying_obj.show_mon_details(parsed_args)
        elif parsed_args.which == 'inventory':
            rest_api_params = inv_querying_obj.show_inv_details(parsed_args)
        elif parsed_args.which == "columns":
            rest_api_params = self.show_columns(parsed_args)

        try:
            self.smgr_ip = self.smgr_port = None
            smgr_dict = self.app.get_smgr_config()

            if smgr_dict["smgr_ip"]:
                self.smgr_ip = smgr_dict["smgr_ip"]
            else:
                self.app.report_missing_config("smgr_ip")
            if smgr_dict["smgr_port"]:
                self.smgr_port = smgr_dict["smgr_port"]
            else:
                self.app.report_missing_config("smgr_port")
        except Exception as e:
            sys.exit("Exception: %s : Error getting smgr config" % e.message)
        resp = smgrutils.send_REST_request(self.smgr_ip, self.smgr_port, rest_api_params=rest_api_params,
                                          detail=detail, method='GET')

        json_format = getattr(parsed_args, "json", False)

        detail = getattr(parsed_args, "detail", None)
        if detail:
            json_format = True

        if (parsed_args.which == 'monitoring' or parsed_args.which == 'inventory') and not rest_api_params["select"]:
            json_format = True
        elif parsed_args.which == 'all':
            json_format = True
        elif parsed_args.which == "columns":
            json_format = True

        if resp.startswith("Error"):
            self.app.stdout.write(resp + "\n")
        elif json_format:
            self.app.stdout.write(str(smgrutils.print_rest_response(resp)) + "\n")
        else:
            table_format_output = smgrutils.convert_json_to_table(parsed_args.which, resp, rest_api_params["select"])
            self.app.stdout.write(str(table_format_output) + "\n")
Esempio n. 4
0
    def take_action(self, parsed_args):
        detail = getattr(parsed_args, 'detail', None)
        rest_api_params = {}

        # end except
        if parsed_args.which == "server":
            rest_api_params = self.show_server(parsed_args)
        elif parsed_args.which == "image":
            rest_api_params = self.show_image(parsed_args)
        elif parsed_args.which == "cluster":
            rest_api_params = self.show_cluster(parsed_args)
        elif parsed_args.which == 'tag':
            rest_api_params = self.show_tag()
        elif parsed_args.which == 'all':
            rest_api_params = self.show_all()
        elif parsed_args.which == 'monitoring':
            rest_api_params = mon_querying_obj.show_mon_details(parsed_args)
        elif parsed_args.which == 'inventory':
            rest_api_params = inv_querying_obj.show_inv_details(parsed_args)
        elif parsed_args.which == "columns":
            rest_api_params = self.show_columns(parsed_args)

        try:
            self.smgr_ip = self.smgr_port = None
            smgr_dict = self.app.get_smgr_config()

            if smgr_dict["smgr_ip"]:
                self.smgr_ip = smgr_dict["smgr_ip"]
            else:
                self.app.report_missing_config("smgr_ip")
            if smgr_dict["smgr_port"]:
                self.smgr_port = smgr_dict["smgr_port"]
            else:
                self.app.report_missing_config("smgr_port")
        except Exception as e:
            sys.exit("Exception: %s : Error getting smgr config" % e.message)
        resp = smgrutils.send_REST_request(self.smgr_ip,
                                           self.smgr_port,
                                           rest_api_params=rest_api_params,
                                           detail=detail,
                                           method='GET')

        json_format = getattr(parsed_args, "json", False)

        detail = getattr(parsed_args, "detail", None)
        if detail:
            json_format = True

        if (parsed_args.which == 'monitoring' or parsed_args.which
                == 'inventory') and not rest_api_params["select"]:
            json_format = True
        elif parsed_args.which == 'all':
            json_format = True
        elif parsed_args.which == "columns":
            json_format = True

        if resp.startswith("Error"):
            self.app.stdout.write(resp + "\n")
        elif json_format:
            self.app.stdout.write(
                str(smgrutils.print_rest_response(resp)) + "\n")
        else:
            table_format_output = smgrutils.convert_json_to_table(
                parsed_args.which, resp, rest_api_params["select"])
            self.app.stdout.write(str(table_format_output) + "\n")