github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/python-legacy/lakefs_client/model/merge.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 Merge(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      }
    60  
    61      validations = {
    62      }
    63  
    64      @cached_property
    65      def additional_properties_type():
    66          """
    67          This must be a method because a model may have properties that are
    68          of type self, this must run after the class is loaded
    69          """
    70          return (bool, date, datetime, dict, float, int, list, str, none_type,)  # noqa: E501
    71  
    72      _nullable = False
    73  
    74      @cached_property
    75      def openapi_types():
    76          """
    77          This must be a method because a model may have properties that are
    78          of type self, this must run after the class is loaded
    79  
    80          Returns
    81              openapi_types (dict): The key is attribute name
    82                  and the value is attribute type.
    83          """
    84          return {
    85              'message': (str,),  # noqa: E501
    86              'metadata': ({str: (str,)},),  # noqa: E501
    87              'strategy': (str,),  # noqa: E501
    88              'force': (bool,),  # noqa: E501
    89          }
    90  
    91      @cached_property
    92      def discriminator():
    93          return None
    94  
    95  
    96      attribute_map = {
    97          'message': 'message',  # noqa: E501
    98          'metadata': 'metadata',  # noqa: E501
    99          'strategy': 'strategy',  # noqa: E501
   100          'force': 'force',  # noqa: E501
   101      }
   102  
   103      read_only_vars = {
   104      }
   105  
   106      _composed_schemas = {}
   107  
   108      @classmethod
   109      @convert_js_args_to_python_args
   110      def _from_openapi_data(cls, *args, **kwargs):  # noqa: E501
   111          """Merge - a model defined in OpenAPI
   112  
   113          Keyword Args:
   114              _check_type (bool): if True, values for parameters in openapi_types
   115                                  will be type checked and a TypeError will be
   116                                  raised if the wrong type is input.
   117                                  Defaults to True
   118              _path_to_item (tuple/list): This is a list of keys or values to
   119                                  drill down to the model in received_data
   120                                  when deserializing a response
   121              _spec_property_naming (bool): True if the variable names in the input data
   122                                  are serialized names, as specified in the OpenAPI document.
   123                                  False if the variable names in the input data
   124                                  are pythonic names, e.g. snake case (default)
   125              _configuration (Configuration): the instance to use when
   126                                  deserializing a file_type parameter.
   127                                  If passed, type conversion is attempted
   128                                  If omitted no type conversion is done.
   129              _visited_composed_classes (tuple): This stores a tuple of
   130                                  classes that we have traveled through so that
   131                                  if we see that class again we will not use its
   132                                  discriminator again.
   133                                  When traveling through a discriminator, the
   134                                  composed schema that is
   135                                  is traveled through is added to this set.
   136                                  For example if Animal has a discriminator
   137                                  petType and we pass in "Dog", and the class Dog
   138                                  allOf includes Animal, we move through Animal
   139                                  once using the discriminator, and pick Dog.
   140                                  Then in Dog, we will make an instance of the
   141                                  Animal class but this time we won't travel
   142                                  through its discriminator because we passed in
   143                                  _visited_composed_classes = (Animal,)
   144              message (str): [optional]  # noqa: E501
   145              metadata ({str: (str,)}): [optional]  # noqa: E501
   146              strategy (str): In case of a merge conflict, this option will force the merge process to automatically favor changes from the dest branch ('dest-wins') or from the source branch('source-wins'). In case no selection is made, the merge process will fail in case of a conflict. [optional]  # noqa: E501
   147              force (bool): [optional] if omitted the server will use the default value of False  # noqa: E501
   148          """
   149  
   150          _check_type = kwargs.pop('_check_type', True)
   151          _spec_property_naming = kwargs.pop('_spec_property_naming', False)
   152          _path_to_item = kwargs.pop('_path_to_item', ())
   153          _configuration = kwargs.pop('_configuration', None)
   154          _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
   155  
   156          self = super(OpenApiModel, cls).__new__(cls)
   157  
   158          if args:
   159              raise ApiTypeError(
   160                  "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
   161                      args,
   162                      self.__class__.__name__,
   163                  ),
   164                  path_to_item=_path_to_item,
   165                  valid_classes=(self.__class__,),
   166              )
   167  
   168          self._data_store = {}
   169          self._check_type = _check_type
   170          self._spec_property_naming = _spec_property_naming
   171          self._path_to_item = _path_to_item
   172          self._configuration = _configuration
   173          self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
   174  
   175          for var_name, var_value in kwargs.items():
   176              if var_name not in self.attribute_map and \
   177                          self._configuration is not None and \
   178                          self._configuration.discard_unknown_keys and \
   179                          self.additional_properties_type is None:
   180                  # discard variable.
   181                  continue
   182              setattr(self, var_name, var_value)
   183          return self
   184  
   185      required_properties = set([
   186          '_data_store',
   187          '_check_type',
   188          '_spec_property_naming',
   189          '_path_to_item',
   190          '_configuration',
   191          '_visited_composed_classes',
   192      ])
   193  
   194      @convert_js_args_to_python_args
   195      def __init__(self, *args, **kwargs):  # noqa: E501
   196          """Merge - a model defined in OpenAPI
   197  
   198          Keyword Args:
   199              _check_type (bool): if True, values for parameters in openapi_types
   200                                  will be type checked and a TypeError will be
   201                                  raised if the wrong type is input.
   202                                  Defaults to True
   203              _path_to_item (tuple/list): This is a list of keys or values to
   204                                  drill down to the model in received_data
   205                                  when deserializing a response
   206              _spec_property_naming (bool): True if the variable names in the input data
   207                                  are serialized names, as specified in the OpenAPI document.
   208                                  False if the variable names in the input data
   209                                  are pythonic names, e.g. snake case (default)
   210              _configuration (Configuration): the instance to use when
   211                                  deserializing a file_type parameter.
   212                                  If passed, type conversion is attempted
   213                                  If omitted no type conversion is done.
   214              _visited_composed_classes (tuple): This stores a tuple of
   215                                  classes that we have traveled through so that
   216                                  if we see that class again we will not use its
   217                                  discriminator again.
   218                                  When traveling through a discriminator, the
   219                                  composed schema that is
   220                                  is traveled through is added to this set.
   221                                  For example if Animal has a discriminator
   222                                  petType and we pass in "Dog", and the class Dog
   223                                  allOf includes Animal, we move through Animal
   224                                  once using the discriminator, and pick Dog.
   225                                  Then in Dog, we will make an instance of the
   226                                  Animal class but this time we won't travel
   227                                  through its discriminator because we passed in
   228                                  _visited_composed_classes = (Animal,)
   229              message (str): [optional]  # noqa: E501
   230              metadata ({str: (str,)}): [optional]  # noqa: E501
   231              strategy (str): In case of a merge conflict, this option will force the merge process to automatically favor changes from the dest branch ('dest-wins') or from the source branch('source-wins'). In case no selection is made, the merge process will fail in case of a conflict. [optional]  # noqa: E501
   232              force (bool): [optional] if omitted the server will use the default value of False  # noqa: E501
   233          """
   234  
   235          _check_type = kwargs.pop('_check_type', True)
   236          _spec_property_naming = kwargs.pop('_spec_property_naming', False)
   237          _path_to_item = kwargs.pop('_path_to_item', ())
   238          _configuration = kwargs.pop('_configuration', None)
   239          _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
   240  
   241          if args:
   242              raise ApiTypeError(
   243                  "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
   244                      args,
   245                      self.__class__.__name__,
   246                  ),
   247                  path_to_item=_path_to_item,
   248                  valid_classes=(self.__class__,),
   249              )
   250  
   251          self._data_store = {}
   252          self._check_type = _check_type
   253          self._spec_property_naming = _spec_property_naming
   254          self._path_to_item = _path_to_item
   255          self._configuration = _configuration
   256          self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
   257  
   258          for var_name, var_value in kwargs.items():
   259              if var_name not in self.attribute_map and \
   260                          self._configuration is not None and \
   261                          self._configuration.discard_unknown_keys and \
   262                          self.additional_properties_type is None:
   263                  # discard variable.
   264                  continue
   265              setattr(self, var_name, var_value)
   266              if var_name in self.read_only_vars:
   267                  raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
   268                                       f"class with read only attributes.")