def post(self, agent_id): username = self.get_current_user() customer_name = (get_user_property(username, UserKeys.CurrentCustomer)) uri = self.request.uri method = self.request.method try: reboot = self.arguments.get('reboot', None) shutdown = self.arguments.get('shutdown', None) apps_refresh = self.arguments.get('apps_refresh', None) operation = (StoreAgentOperations(username, customer_name, uri, method)) if reboot: granted, status_code = (verify_permission_for_user( username, Permissions.REBOOT)) if granted: results = (operation.reboot([agent_id])) else: results = (return_results_for_permissions( username, granted, status_code, Permissions.REBOOT, uri, method)) elif shutdown: granted, status_code = (verify_permission_for_user( username, Permissions.SHUTDOWN)) if granted: results = (operation.shutdown([agent_id])) else: results = (return_results_for_permissions( username, granted, status_code, Permissions.SHUTDOWN, uri, method)) elif apps_refresh: operation = (StorePatchingOperation(username, customer_name, uri, method)) results = (operation.apps_refresh([agent_id])) else: results = (GenericResults(username, uri, method).incorrect_arguments()) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(username, uri, method).something_broke(agent_id, '', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self, username): active_user = self.get_current_user() uri = self.request.uri method = self.request.method count = 0 user_data = {} try: granted, status_code = (verify_permission_for_user( active_user, Permissions.ADMINISTRATOR)) if not username or username == active_user: user_data = get_user_properties(active_user) elif username and granted: user_data = get_user_properties(username) elif username and not granted: results = (return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method)) if user_data: count = 1 results = (GenericResults(active_user, uri, method).information_retrieved( user_data, count)) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(active_user, uri, method).something_broke( active_user, 'User', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method active_customer = (get_user_property(active_user, UserKeys.CurrentCustomer)) customer_context = self.get_argument(ApiArguments.CUSTOMER_CONTEXT, None) all_customers = self.get_argument(ApiArguments.ALL_CUSTOMERS, None) user_name = self.get_argument(ApiArguments.USER_NAME, None) count = 0 user_data = [] try: granted, status_code = (verify_permission_for_user( active_user, Permissions.ADMINISTRATOR)) if granted and not customer_context and not all_customers and not user_name: user_data = get_properties_for_all_users(active_customer) elif granted and customer_context and not all_customers and not user_name: user_data = get_properties_for_all_users(customer_context) elif granted and all_customers and not customer_context and not user_name: user_data = get_properties_for_all_users() elif granted and user_name and not customer_context and not all_customers: user_data = get_properties_for_user(user_name) if user_data: user_data = [user_data] else: user_data = [] elif customer_context and not granted or all_customers and not granted: results = (return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method)) count = len(user_data) results = (GenericResults(active_user, uri, method).information_retrieved( user_data, count)) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(active_user, uri, method).something_broke( active_user, 'User', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method active_customer = (get_user_property(active_user, UserKeys.CurrentCustomer)) customer_context = self.get_argument('customer_context', None) group_id = self.get_argument('group_id', None) all_customers = self.get_argument('all_customers', None) count = 0 group_data = {} try: granted, status_code = (verify_permission_for_user( active_user, Permissions.ADMINISTRATOR, customer_context)) if granted and not customer_context and not all_customers and not group_id: group_data = get_properties_for_all_groups(active_customer) elif granted and customer_context and not all_customers and not group_id: group_data = get_properties_for_all_groups(customer_context) elif granted and all_customers and not customer_context and not group_id: group_data = get_properties_for_all_groups() elif granted and group_id and not customer_context and not all_customers: group_data = get_group_properties(group_id) if group_data: group_data = [group_data] else: group_data = [] elif customer_context and not granted or all_customers and not granted: results = (return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method)) count = len(group_data) results = (GenericResults(active_user, uri, method).information_retrieved( group_data, count)) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(active_user, uri, method).something_broke( active_user, 'Group', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method all_customers = None customer_context = self.get_argument('customer_context', None) count = 0 customer_data = {} if not customer_context and active_user == DefaultUsers.ADMIN: all_customers = True try: if customer_context: granted, status_code = (verify_permission_for_user( active_user, Permissions.ADMINISTRATOR, customer_context)) else: granted, status_code = (verify_permission_for_user( active_user, Permissions.ADMINISTRATOR)) if granted and not all_customers and not customer_context: customer_data = get_properties_for_all_customers(active_user) elif granted and all_customers and not customer_context: customer_data = get_properties_for_all_customers() elif granted and customer_context and not all_customers: customer_data = get_properties_for_customer(customer_context) elif not granted: results = (return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method)) if customer_data: count = len(customer_data) results = (GenericResults(active_user, uri, method).information_retrieved( customer_data, count)) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(active_user, uri, method).something_broke( active_user, 'Customers', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self, username): active_user = self.get_current_user() uri = self.request.uri method = self.request.method count = 0 user_data = {} try: granted, status_code = ( verify_permission_for_user( active_user, Permissions.ADMINISTRATOR ) ) if not username or username == active_user: user_data = get_user_properties(active_user) elif username and granted: user_data = get_user_properties(username) elif username and not granted: results = ( return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method ) ) if user_data: count = 1 results = ( GenericResults( active_user, uri, method ).information_retrieved(user_data, count) ) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = ( GenericResults( active_user, uri, method ).something_broke(active_user, 'User', e) ) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method active_customer = get_user_property(active_user, UserKeys.CurrentCustomer) customer_context = self.get_argument("customer_context", None) group_id = self.get_argument("group_id", None) all_customers = self.get_argument("all_customers", None) count = 0 group_data = {} try: granted, status_code = verify_permission_for_user(active_user, Permissions.ADMINISTRATOR, customer_context) if granted and not customer_context and not all_customers and not group_id: group_data = get_properties_for_all_groups(active_customer) elif granted and customer_context and not all_customers and not group_id: group_data = get_properties_for_all_groups(customer_context) elif granted and all_customers and not customer_context and not group_id: group_data = get_properties_for_all_groups() elif granted and group_id and not customer_context and not all_customers: group_data = get_group_properties(group_id) if group_data: group_data = [group_data] else: group_data = [] elif customer_context and not granted or all_customers and not granted: results = return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method ) count = len(group_data) results = GenericResults(active_user, uri, method).information_retrieved(group_data, count) self.set_status(results["http_status"]) self.set_header("Content-Type", "application/json") self.write(json.dumps(results, indent=4)) except Exception as e: results = GenericResults(active_user, uri, method).something_broke(active_user, "Group", e) logger.exception(e) self.set_status(results["http_status"]) self.set_header("Content-Type", "application/json") self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method active_customer = ( get_user_property(active_user, UserKeys.CurrentCustomer) ) customer_context = self.get_argument(ApiArguments.CUSTOMER_CONTEXT, None) all_customers = self.get_argument(ApiArguments.ALL_CUSTOMERS, None) user_name = self.get_argument(ApiArguments.USER_NAME, None) count = 0 user_data = [] try: granted, status_code = ( verify_permission_for_user( active_user, Permissions.ADMINISTRATOR ) ) if granted and not customer_context and not all_customers and not user_name: user_data = get_properties_for_all_users(active_customer) elif granted and customer_context and not all_customers and not user_name: user_data = get_properties_for_all_users(customer_context) elif granted and all_customers and not customer_context and not user_name: user_data = get_properties_for_all_users() elif granted and user_name and not customer_context and not all_customers: user_data = get_properties_for_user(user_name) if user_data: user_data = [user_data] else: user_data = [] elif customer_context and not granted or all_customers and not granted: results = ( return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method ) ) count = len(user_data) results = ( GenericResults( active_user, uri, method ).information_retrieved(user_data, count) ) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = ( GenericResults( active_user, uri, method ).something_broke(active_user, 'User', e) ) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def get(self): active_user = self.get_current_user() uri = self.request.uri method = self.request.method all_customers = None customer_context = self.get_argument('customer_context', None) count = 0 customer_data = {} if not customer_context and active_user == DefaultUsers.ADMIN: all_customers = True try: if customer_context: granted, status_code = ( verify_permission_for_user( active_user, Permissions.ADMINISTRATOR, customer_context ) ) else: granted, status_code = ( verify_permission_for_user( active_user, Permissions.ADMINISTRATOR ) ) if granted and not all_customers and not customer_context: customer_data = get_properties_for_all_customers(active_user) elif granted and all_customers and not customer_context: customer_data = get_properties_for_all_customers() elif granted and customer_context and not all_customers: customer_data = get_properties_for_customer(customer_context) elif not granted: results = ( return_results_for_permissions( active_user, granted, status_code, Permissions.ADMINISTRATOR, uri, method ) ) if customer_data: count = len(customer_data) results = ( GenericResults( active_user, uri, method ).information_retrieved(customer_data, count) ) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = ( GenericResults( active_user, uri, method ).something_broke(active_user, 'Customers', e) ) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def post(self, agent_id): username = self.get_current_user() customer_name = ( get_user_property(username, UserKeys.CurrentCustomer) ) uri = self.request.uri method = self.request.method try: reboot = self.arguments.get('reboot', None) shutdown = self.arguments.get('shutdown', None) apps_refresh = self.arguments.get('apps_refresh', None) operation = ( StoreAgentOperations( username, customer_name, uri, method ) ) if reboot: granted, status_code = ( verify_permission_for_user( username, Permissions.REBOOT ) ) if granted: results = ( operation.reboot([agent_id]) ) else: results = ( return_results_for_permissions( username, granted, status_code, Permissions.REBOOT, uri, method ) ) elif shutdown: granted, status_code = ( verify_permission_for_user( username, Permissions.SHUTDOWN ) ) if granted: results = ( operation.shutdown([agent_id]) ) else: results = ( return_results_for_permissions( username, granted, status_code, Permissions.SHUTDOWN, uri, method ) ) elif apps_refresh: operation = ( StorePatchingOperation( username, customer_name, uri, method ) ) results = ( operation.apps_refresh([agent_id]) ) else: results = ( GenericResults( username, uri, method ).incorrect_arguments() ) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = ( GenericResults( username, uri, method ).something_broke(agent_id, '', e) ) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))