Source code for openapi_client.models.optimizer_response
# coding: utf-8""" Amorphic Data Platform Amorphic Data Platform - API Definition documentation The version of the OpenAPI document: 1.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually."""# noqa: E501from__future__importannotationsimportpprintimportre# noqa: F401importjsonfrompydanticimportBaseModel,ConfigDict,Field,StrictBool,StrictStr,field_validatorfromtypingimportAny,ClassVar,Dict,List,Optionalfromopenapi_client.models.optimizer_runimportOptimizerRunfromtypingimportOptional,Setfromtyping_extensionsimportSelf
[docs]classOptimizerResponse(BaseModel):""" Response for a single optimizer """# noqa: E501type:Optional[StrictStr]=Field(default=None,description="Type of optimizer",alias="Type")enabled:Optional[StrictBool]=Field(default=None,description="Whether the optimizer is enabled",alias="Enabled")configuration:Optional[Dict[str,Any]]=Field(default=None,description="Optimizer-specific configuration",alias="Configuration")last_run:Optional[OptimizerRun]=Field(default=None,alias="LastRun")__properties:ClassVar[List[str]]=["Type","Enabled","Configuration","LastRun"]
[docs]@field_validator('type')deftype_validate_enum(cls,value):"""Validates the enum"""ifvalueisNone:returnvalueifvaluenotinset(['compaction','retention','orphan_file_deletion']):raiseValueError("must be one of enum values ('compaction', 'retention', 'orphan_file_deletion')")returnvalue
[docs]defto_str(self)->str:"""Returns the string representation of the model using alias"""returnpprint.pformat(self.model_dump(by_alias=True))
[docs]defto_json(self)->str:"""Returns the JSON representation of the model using alias"""# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) insteadreturnjson.dumps(self.to_dict())
[docs]@classmethoddeffrom_json(cls,json_str:str)->Optional[Self]:"""Create an instance of OptimizerResponse from a JSON string"""returncls.from_dict(json.loads(json_str))
[docs]defto_dict(self)->Dict[str,Any]:"""Return the dictionary representation of the model using alias. This has the following differences from calling pydantic's `self.model_dump(by_alias=True)`: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. """excluded_fields:Set[str]=set([])_dict=self.model_dump(by_alias=True,exclude=excluded_fields,exclude_none=True,)# override the default output from pydantic by calling `to_dict()` of last_runifself.last_run:_dict['LastRun']=self.last_run.to_dict()return_dict
[docs]@classmethoddeffrom_dict(cls,obj:Optional[Dict[str,Any]])->Optional[Self]:"""Create an instance of OptimizerResponse from a dict"""ifobjisNone:returnNoneifnotisinstance(obj,dict):returncls.model_validate(obj)_obj=cls.model_validate({"Type":obj.get("Type"),"Enabled":obj.get("Enabled"),"Configuration":obj.get("Configuration"),"LastRun":OptimizerRun.from_dict(obj["LastRun"])ifobj.get("LastRun")isnotNoneelseNone})return_obj