github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/python/lakefs_sdk/models/policy.py (about)

     1  # coding: utf-8
     2  
     3  """
     4      lakeFS API
     5  
     6      lakeFS HTTP API
     7  
     8      The version of the OpenAPI document: 1.0.0
     9      Contact: services@treeverse.io
    10      Generated by OpenAPI Generator (https://openapi-generator.tech)
    11  
    12      Do not edit the class manually.
    13  """  # noqa: E501
    14  
    15  
    16  from __future__ import annotations
    17  import pprint
    18  import re  # noqa: F401
    19  import json
    20  
    21  
    22  from typing import List, Optional
    23  try:
    24      from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr, conlist
    25  except ImportError:
    26      from pydantic import BaseModel, Field, StrictInt, StrictStr, conlist
    27  from lakefs_sdk.models.statement import Statement
    28  
    29  class Policy(BaseModel):
    30      """
    31      Policy
    32      """
    33      id: StrictStr = Field(...)
    34      creation_date: Optional[StrictInt] = Field(None, description="Unix Epoch in seconds")
    35      statement: conlist(Statement, min_items=1) = Field(...)
    36      __properties = ["id", "creation_date", "statement"]
    37  
    38      class Config:
    39          """Pydantic configuration"""
    40          allow_population_by_field_name = True
    41          validate_assignment = True
    42  
    43      def to_str(self) -> str:
    44          """Returns the string representation of the model using alias"""
    45          return pprint.pformat(self.dict(by_alias=True))
    46  
    47      def to_json(self) -> str:
    48          """Returns the JSON representation of the model using alias"""
    49          return json.dumps(self.to_dict())
    50  
    51      @classmethod
    52      def from_json(cls, json_str: str) -> Policy:
    53          """Create an instance of Policy from a JSON string"""
    54          return cls.from_dict(json.loads(json_str))
    55  
    56      def to_dict(self):
    57          """Returns the dictionary representation of the model using alias"""
    58          _dict = self.dict(by_alias=True,
    59                            exclude={
    60                            },
    61                            exclude_none=True)
    62          # override the default output from pydantic by calling `to_dict()` of each item in statement (list)
    63          _items = []
    64          if self.statement:
    65              for _item in self.statement:
    66                  if _item:
    67                      _items.append(_item.to_dict())
    68              _dict['statement'] = _items
    69          return _dict
    70  
    71      @classmethod
    72      def from_dict(cls, obj: dict) -> Policy:
    73          """Create an instance of Policy from a dict"""
    74          if obj is None:
    75              return None
    76  
    77          if not isinstance(obj, dict):
    78              return Policy.parse_obj(obj)
    79  
    80          _obj = Policy.parse_obj({
    81              "id": obj.get("id"),
    82              "creation_date": obj.get("creation_date"),
    83              "statement": [Statement.from_dict(_item) for _item in obj.get("statement")] if obj.get("statement") is not None else None
    84          })
    85          return _obj
    86  
    87