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