e rdZddlZddlmZddlmZmZmZmZm Z m Z ddl m Z edee dd ed eed d d edeeddd edeeddd edeeddd edeeddd edeed d!d" ed#eed$d%d& ed'ed(ed)eed*d+d, i Zedee d-d. ed/e e ded0eed1eiZd2ed3efd4Zd5ed3efd6ZdS)7zF This module contains validation schema for config file loaded values N) Namespace)SchemaAndOptionalUse SchemaErrorOr)SSAErrorcommandc |dvS)N)z set-configz get-configzget-ssa-statusz get-reportz enable-ssaz disable-ssazget-statcs P/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/ssa_utils/validations.pyrs!(4#4zInvalid command)errordomains_numberc t|SNintns rrr #a&&rc|dkSNrrrs rrrs a1frz.number of domains should be a positive integer urls_numberc t|Srrrs rrrs s1vvrc|dkSrrrs rrrs 1q5rz+number of URLs should be a positive integerrequests_durationc t|Srfloatrs rrrs U1XXrc|dkS)Nrrs rrr s Srz#request duration should be positiverequest_numberc t|Srrrs rrr"rrc|dkSrrrs rrr#s a!erz/number of requests should be a positive integertimec t|Srrrs rrr%s Arc"d|cxkodkncS)Nr rrs rrr&sALLLLbLLLLrz8time should be a positive integer between 1 and 12, or 0 correlationc*|Sr capitalizess rrr(sq||~~rc |dvSN)OnOffrr3s rrr(s !}J\rz*bad correlation value, should be On or Offcorrelation_coefficientc t|Srr$rs rrr*s 588rc"d|cxkodkncS)Nr'g?rrs rrr+ssQ~~~~#~~~~rz?correlation coefficient could not be negative or greater than 1 ignore_listc t|Sr)strr3s rrr-s 3q66rsummary_notification_enabledc*|Srr1r3s rrr/sallnnrc |dvSr6rr3s rrr/s m1Crz+bad notification value, should be On or Offc |dvS)N)enabledisablestatusrrs rrr5s !'F"FrzInvalid autotracing commanduserall list_disableddatareturnc t|}|d}|d=||fS#t$r$}tdt |d}~wwxYw)zs Validate given data. Return: tuple with 2 elements: command string and list of the validated options r zInvalid configuration: N)cmdline_schemavalidaterr r>)rIdcmdes rrMrM=so ;  # #D ) ) l iLAv ;;;9Q99:::;s(+ AAA input_argsc  tdit|S#t$r8}t t jddt|id}~wwxYw)z Validate given input with schema Input arguments expected in s dict form :param input_args: dict with input data resultzInput validation error: Nr)rautotracing_cmdline_schemarMr SystemExitjsondumpsr>)rQrPs rvalidate_autotracingrXKs  MM6?? KKMMM     9Q99%       s#& A(3A##A()__doc__rVargparserschemarrrrrr internal.exceptionsr r>rLboolrTdicttuplerMrXrrrr`su >>>>>>>>>>>>>>>>****** ss344+ ,,,  H CC(8(8$9$9$4$4*Z!\!\!\ H]SS%5%5!6!6!0'TVVV H !!33ss+=+='>'>'8'8-R$T$T$T H CC(8(8$9$9$3O*[!]!]!] HVcc##..//00 Z\\\ H]SS%=%=!>!>@\@\'SUUU H &''SS1C1C-D-D-E-E3t*v*v*v H]SS!1!122 H +,,cc  $ $%%'C'C;/=/=/=7B$V ss3FF6888 HVbbdmm HUOOT H_t % ;4 ;E ; ; ; ;  T  i       r