def maintenance_mode_handler(): # failed to route the request - this is a 404. Abort early. if not request.endpoint: return state = get_maintenance_state() if not state: return if is_bypass_maintenance_mode() and \ is_user_action_allowed('maintenance_mode_set'): return if state['status'] == MAINTENANCE_MODE_ACTIVATING: if not get_running_executions(): state = store_maintenance_state(status=MAINTENANCE_MODE_ACTIVATED, activated_at=datetime.utcnow()) else: # Removing v*/ from the endpoint index = request.endpoint.find('/') request_endpoint = request.endpoint[index + 1:] return _handle_activating_mode(state=state, request_endpoint=request_endpoint) if utils.check_allowed_endpoint(ALLOWED_MAINTENANCE_ENDPOINTS): return if state['status'] == MAINTENANCE_MODE_ACTIVATED: return _maintenance_mode_error()
def get(self, pagination=None): """List brokers from the database.""" brokers = get_storage_manager().list(models.RabbitMQBroker) if not is_user_action_allowed('broker_credentials'): for broker in brokers: broker.username = None broker.password = None return brokers
def get(self, pagination=None): """List brokers from the database.""" brokers = get_storage_manager().list(models.RabbitMQBroker) if not is_user_action_allowed('broker_credentials'): for broker in brokers: broker.username = None broker.password = None return brokers
def _validate_tenant_name(secret, tenant_map_dict, existing_tenants): tenant_name_exists = True tenant_name_authorized = True tenant_name = secret['tenant_name'] if tenant_map_dict and (tenant_name in tenant_map_dict): tenant_name = tenant_map_dict[tenant_name] if tenant_name not in existing_tenants: tenant_name_exists = False if tenant_name_exists and not authorization.is_user_action_allowed( 'secret_create', tenant_name): tenant_name_authorized = False return tenant_name_exists, tenant_name_authorized, tenant_name
def _validate_tenant_action(tenant_name, existing_tenants, secret_errors): """ Ensure the tenant exists and that the current user is authorized to perform the `secret_create` action """ if tenant_name not in existing_tenants: secret_errors['tenant_name'] = 'The tenant `{0}` was not' \ ' found'.format(str(tenant_name)) elif not is_user_action_allowed('secret_create', tenant_name): secret_errors['tenant_name'] =\ 'User `{0}` is not permitted to perform the action ' \ '`secrets_create` in tenant: ' \ '`{1}`'.format(current_user.username, str(tenant_name))