@@ -56,13 +56,28 @@ def max_retry(self):
5656 """
5757 Return the maximum number of retry
5858 """
59+ if self ._max_retry > 15 :
60+ raise FgaValidationException (
61+ "RetryParams.max_retry exceeds maximum allowed limit of 15"
62+ )
63+
5964 return self ._max_retry
6065
6166 @max_retry .setter
6267 def max_retry (self , value ):
6368 """
6469 Update the maximum number of retry
6570 """
71+ if not isinstance (value , int ) or value < 0 :
72+ raise FgaValidationException (
73+ "RetryParams.max_retry must be an integer greater than or equal to 0"
74+ )
75+
76+ if value > 15 :
77+ raise FgaValidationException (
78+ "RetryParams.max_retry exceeds maximum allowed limit of 15"
79+ )
80+
6681 self ._max_retry = value
6782
6883 @property
@@ -77,6 +92,11 @@ def min_wait_in_ms(self, value):
7792 """
7893 Update the minimum wait (in ms) in between retry
7994 """
95+ if not isinstance (value , int ) or value < 0 :
96+ raise FgaValidationException (
97+ "RetryParams.min_wait_in_ms must be an integer greater than or equal to 0"
98+ )
99+
80100 self ._min_wait_in_ms = value
81101
82102
@@ -287,15 +307,6 @@ def __deepcopy__(self, memo):
287307 result .debug = self .debug
288308 return result
289309
290- def __setattr__ (self , name , value ):
291- object .__setattr__ (self , name , value )
292- if name == "disabled_client_side_validations" :
293- s = set (filter (None , value .split ("," )))
294- for v in s :
295- if v not in JSON_SCHEMA_VALIDATION_KEYWORDS :
296- raise ApiValueError (f"Invalid keyword: '{ v } ''" )
297- self ._disabled_client_side_validations = s
298-
299310 @classmethod
300311 def set_default (cls , default ):
301312 """Set default instance of configuration.
@@ -574,6 +585,11 @@ def api_scheme(self):
574585 @api_scheme .setter
575586 def api_scheme (self , value ):
576587 """Update connection scheme (https or http)."""
588+ if value is not None and value not in ["https" , "http" ]:
589+ raise FgaValidationException (
590+ f"api_scheme `{ value } ` must be either `http` or `https`"
591+ )
592+
577593 self ._scheme = value
578594
579595 @property
@@ -631,3 +647,20 @@ def retry_params(self, value):
631647 Update retry parameters
632648 """
633649 self ._retry_params = value
650+
651+ @property
652+ def disabled_client_side_validations (self ):
653+ """Return disable_client_side_validations."""
654+ return self ._disabled_client_side_validations
655+
656+ @disabled_client_side_validations .setter
657+ def disabled_client_side_validations (self , value ):
658+ """Update disable_client_side_validations."""
659+ self ._disabled_client_side_validations = {}
660+
661+ if isinstance (value , str ) and value :
662+ s = set (filter (None , value .split ("," )))
663+ for v in s :
664+ if v not in JSON_SCHEMA_VALIDATION_KEYWORDS :
665+ raise FgaValidationException (f"Invalid keyword: '{ v } ''" )
666+ self ._disabled_client_side_validations = s
0 commit comments