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