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.")