# coding: utf-8""" Amorphic Data Platform Amorphic Data Platform - API Definition documentation The version of the OpenAPI document: 0.3.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually."""# noqa: E501from__future__importannotationsimportpprintimportre# noqa: F401importjsonfrompydanticimportBaseModel,ConfigDict,FieldfromtypingimportAny,ClassVar,Dict,List,Optionalfromopenapi_client.models.licenseimportLicensefromopenapi_client.models.time_periodimportTimePeriodfromopenapi_client.models.usageimportUsagefromopenapi_client.models.usage_by_serviceimportUsageByServicefromopenapi_client.models.usage_pattern_objectimportUsagePatternObjectfromtypingimportOptional,Setfromtyping_extensionsimportSelf
[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 AppUsage 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 time_periodifself.time_period:_dict['TimePeriod']=self.time_period.to_dict()# override the default output from pydantic by calling `to_dict()` of current_usageifself.current_usage:_dict['CurrentUsage']=self.current_usage.to_dict()# override the default output from pydantic by calling `to_dict()` of estimated_usageifself.estimated_usage:_dict['EstimatedUsage']=self.estimated_usage.to_dict()# override the default output from pydantic by calling `to_dict()` of each item in usage_by_service (list)_items=[]ifself.usage_by_service:for_item_usage_by_serviceinself.usage_by_service:if_item_usage_by_service:_items.append(_item_usage_by_service.to_dict())_dict['UsageByService']=_items# override the default output from pydantic by calling `to_dict()` of each item in usage_pattern (list)_items=[]ifself.usage_pattern:for_item_usage_patterninself.usage_pattern:if_item_usage_pattern:_items.append(_item_usage_pattern.to_dict())_dict['UsagePattern']=_items# override the default output from pydantic by calling `to_dict()` of licenseifself.license:_dict['License']=self.license.to_dict()# override the default output from pydantic by calling `to_dict()` of discountifself.discount:_dict['Discount']=self.discount.to_dict()# override the default output from pydantic by calling `to_dict()` of total_billifself.total_bill:_dict['TotalBill']=self.total_bill.to_dict()return_dict
[docs]@classmethoddeffrom_dict(cls,obj:Optional[Dict[str,Any]])->Optional[Self]:"""Create an instance of AppUsage from a dict"""ifobjisNone:returnNoneifnotisinstance(obj,dict):returncls.model_validate(obj)_obj=cls.model_validate({"TimePeriod":TimePeriod.from_dict(obj["TimePeriod"])ifobj.get("TimePeriod")isnotNoneelseNone,"CurrentUsage":Usage.from_dict(obj["CurrentUsage"])ifobj.get("CurrentUsage")isnotNoneelseNone,"EstimatedUsage":Usage.from_dict(obj["EstimatedUsage"])ifobj.get("EstimatedUsage")isnotNoneelseNone,"UsageByService":[UsageByService.from_dict(_item)for_iteminobj["UsageByService"]]ifobj.get("UsageByService")isnotNoneelseNone,"UsagePattern":[UsagePatternObject.from_dict(_item)for_iteminobj["UsagePattern"]]ifobj.get("UsagePattern")isnotNoneelseNone,"License":License.from_dict(obj["License"])ifobj.get("License")isnotNoneelseNone,"Discount":Usage.from_dict(obj["Discount"])ifobj.get("Discount")isnotNoneelseNone,"TotalBill":Usage.from_dict(obj["TotalBill"])ifobj.get("TotalBill")isnotNoneelseNone})return_obj