HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/configuration/schemes/external_ssa.py
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

"""
This module contains validation scheme for SSA external tunables
"""

from schema import Schema, And, Optional, Use

tunables_schema = Schema({
    Optional('allowed_throttling_percentage',
             default=0): And(int, lambda n: 0 <= n <= 100,
                             error='the value of `allowed_throttling_percentage` option could not be negative or greater than 100%'),
    Optional('rules_version',
             default='0.1.1'): And(Use(lambda n: str(n)),
                                   error='the value of `rules_version` should be a string')
}, ignore_extra_keys=True)