github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/python-legacy/lakefs_client/model/statement.py (about) 1 """ 2 lakeFS API 3 4 lakeFS HTTP API # noqa: E501 5 6 The version of the OpenAPI document: 1.0.0 7 Contact: services@treeverse.io 8 Generated by: https://openapi-generator.tech 9 """ 10 11 12 import re # noqa: F401 13 import sys # noqa: F401 14 15 from lakefs_client.model_utils import ( # noqa: F401 16 ApiTypeError, 17 ModelComposed, 18 ModelNormal, 19 ModelSimple, 20 cached_property, 21 change_keys_js_to_python, 22 convert_js_args_to_python_args, 23 date, 24 datetime, 25 file_type, 26 none_type, 27 validate_get_composed_info, 28 ) 29 from ..model_utils import OpenApiModel 30 from lakefs_client.exceptions import ApiAttributeError 31 32 33 34 class Statement(ModelNormal): 35 """NOTE: This class is auto generated by OpenAPI Generator. 36 Ref: https://openapi-generator.tech 37 38 Do not edit the class manually. 39 40 Attributes: 41 allowed_values (dict): The key is the tuple path to the attribute 42 and the for var_name this is (var_name,). The value is a dict 43 with a capitalized key describing the allowed value and an allowed 44 value. These dicts store the allowed enum values. 45 attribute_map (dict): The key is attribute name 46 and the value is json key in definition. 47 discriminator_value_class_map (dict): A dict to go from the discriminator 48 variable value to the discriminator class name. 49 validations (dict): The key is the tuple path to the attribute 50 and the for var_name this is (var_name,). The value is a dict 51 that stores validations for max_length, min_length, max_items, 52 min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 53 inclusive_minimum, and regex. 54 additional_properties_type (tuple): A tuple of classes accepted 55 as additional properties values. 56 """ 57 58 allowed_values = { 59 ('effect',): { 60 'ALLOW': "allow", 61 'DENY': "deny", 62 }, 63 } 64 65 validations = { 66 ('action',): { 67 'min_items': 1, 68 }, 69 } 70 71 @cached_property 72 def additional_properties_type(): 73 """ 74 This must be a method because a model may have properties that are 75 of type self, this must run after the class is loaded 76 """ 77 return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 78 79 _nullable = False 80 81 @cached_property 82 def openapi_types(): 83 """ 84 This must be a method because a model may have properties that are 85 of type self, this must run after the class is loaded 86 87 Returns 88 openapi_types (dict): The key is attribute name 89 and the value is attribute type. 90 """ 91 return { 92 'effect': (str,), # noqa: E501 93 'resource': (str,), # noqa: E501 94 'action': ([str],), # noqa: E501 95 } 96 97 @cached_property 98 def discriminator(): 99 return None 100 101 102 attribute_map = { 103 'effect': 'effect', # noqa: E501 104 'resource': 'resource', # noqa: E501 105 'action': 'action', # noqa: E501 106 } 107 108 read_only_vars = { 109 } 110 111 _composed_schemas = {} 112 113 @classmethod 114 @convert_js_args_to_python_args 115 def _from_openapi_data(cls, effect, resource, action, *args, **kwargs): # noqa: E501 116 """Statement - a model defined in OpenAPI 117 118 Args: 119 effect (str): 120 resource (str): 121 action ([str]): 122 123 Keyword Args: 124 _check_type (bool): if True, values for parameters in openapi_types 125 will be type checked and a TypeError will be 126 raised if the wrong type is input. 127 Defaults to True 128 _path_to_item (tuple/list): This is a list of keys or values to 129 drill down to the model in received_data 130 when deserializing a response 131 _spec_property_naming (bool): True if the variable names in the input data 132 are serialized names, as specified in the OpenAPI document. 133 False if the variable names in the input data 134 are pythonic names, e.g. snake case (default) 135 _configuration (Configuration): the instance to use when 136 deserializing a file_type parameter. 137 If passed, type conversion is attempted 138 If omitted no type conversion is done. 139 _visited_composed_classes (tuple): This stores a tuple of 140 classes that we have traveled through so that 141 if we see that class again we will not use its 142 discriminator again. 143 When traveling through a discriminator, the 144 composed schema that is 145 is traveled through is added to this set. 146 For example if Animal has a discriminator 147 petType and we pass in "Dog", and the class Dog 148 allOf includes Animal, we move through Animal 149 once using the discriminator, and pick Dog. 150 Then in Dog, we will make an instance of the 151 Animal class but this time we won't travel 152 through its discriminator because we passed in 153 _visited_composed_classes = (Animal,) 154 """ 155 156 _check_type = kwargs.pop('_check_type', True) 157 _spec_property_naming = kwargs.pop('_spec_property_naming', False) 158 _path_to_item = kwargs.pop('_path_to_item', ()) 159 _configuration = kwargs.pop('_configuration', None) 160 _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 161 162 self = super(OpenApiModel, cls).__new__(cls) 163 164 if args: 165 raise ApiTypeError( 166 "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 167 args, 168 self.__class__.__name__, 169 ), 170 path_to_item=_path_to_item, 171 valid_classes=(self.__class__,), 172 ) 173 174 self._data_store = {} 175 self._check_type = _check_type 176 self._spec_property_naming = _spec_property_naming 177 self._path_to_item = _path_to_item 178 self._configuration = _configuration 179 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 180 181 self.effect = effect 182 self.resource = resource 183 self.action = action 184 for var_name, var_value in kwargs.items(): 185 if var_name not in self.attribute_map and \ 186 self._configuration is not None and \ 187 self._configuration.discard_unknown_keys and \ 188 self.additional_properties_type is None: 189 # discard variable. 190 continue 191 setattr(self, var_name, var_value) 192 return self 193 194 required_properties = set([ 195 '_data_store', 196 '_check_type', 197 '_spec_property_naming', 198 '_path_to_item', 199 '_configuration', 200 '_visited_composed_classes', 201 ]) 202 203 @convert_js_args_to_python_args 204 def __init__(self, effect, resource, action, *args, **kwargs): # noqa: E501 205 """Statement - a model defined in OpenAPI 206 207 Args: 208 effect (str): 209 resource (str): 210 action ([str]): 211 212 Keyword Args: 213 _check_type (bool): if True, values for parameters in openapi_types 214 will be type checked and a TypeError will be 215 raised if the wrong type is input. 216 Defaults to True 217 _path_to_item (tuple/list): This is a list of keys or values to 218 drill down to the model in received_data 219 when deserializing a response 220 _spec_property_naming (bool): True if the variable names in the input data 221 are serialized names, as specified in the OpenAPI document. 222 False if the variable names in the input data 223 are pythonic names, e.g. snake case (default) 224 _configuration (Configuration): the instance to use when 225 deserializing a file_type parameter. 226 If passed, type conversion is attempted 227 If omitted no type conversion is done. 228 _visited_composed_classes (tuple): This stores a tuple of 229 classes that we have traveled through so that 230 if we see that class again we will not use its 231 discriminator again. 232 When traveling through a discriminator, the 233 composed schema that is 234 is traveled through is added to this set. 235 For example if Animal has a discriminator 236 petType and we pass in "Dog", and the class Dog 237 allOf includes Animal, we move through Animal 238 once using the discriminator, and pick Dog. 239 Then in Dog, we will make an instance of the 240 Animal class but this time we won't travel 241 through its discriminator because we passed in 242 _visited_composed_classes = (Animal,) 243 """ 244 245 _check_type = kwargs.pop('_check_type', True) 246 _spec_property_naming = kwargs.pop('_spec_property_naming', False) 247 _path_to_item = kwargs.pop('_path_to_item', ()) 248 _configuration = kwargs.pop('_configuration', None) 249 _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 250 251 if args: 252 raise ApiTypeError( 253 "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 254 args, 255 self.__class__.__name__, 256 ), 257 path_to_item=_path_to_item, 258 valid_classes=(self.__class__,), 259 ) 260 261 self._data_store = {} 262 self._check_type = _check_type 263 self._spec_property_naming = _spec_property_naming 264 self._path_to_item = _path_to_item 265 self._configuration = _configuration 266 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 267 268 self.effect = effect 269 self.resource = resource 270 self.action = action 271 for var_name, var_value in kwargs.items(): 272 if var_name not in self.attribute_map and \ 273 self._configuration is not None and \ 274 self._configuration.discard_unknown_keys and \ 275 self.additional_properties_type is None: 276 # discard variable. 277 continue 278 setattr(self, var_name, var_value) 279 if var_name in self.read_only_vars: 280 raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 281 f"class with read only attributes.")