Example #1
0
    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))
Example #2
0
    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))
Example #3
0
    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))
Example #4
0
    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))
Example #5
0
    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))
Example #6
0
    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))
Example #7
0
    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))
Example #8
0
    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))
Example #9
0
    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))
Example #10
0
    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))