11import datetime
22from typing import TYPE_CHECKING , Any , Dict , List , Type , TypeVar , Union , cast
3+ from uuid import UUID
34
45from attrs import define as _attrs_define
56from dateutil .parser import isoparse
@@ -27,6 +28,8 @@ class AModel:
2728 a_camel_date_time (Union[datetime.date, datetime.datetime]):
2829 a_date (datetime.date):
2930 a_nullable_date (Union[None, datetime.date]):
31+ a_uuid (UUID):
32+ a_nullable_uuid (Union[None, UUID]): Default: UUID('07EF8B4D-AA09-4FFA-898D-C710796AFF41').
3033 required_nullable (Union[None, str]):
3134 required_not_nullable (str):
3235 one_of_models (Union['FreeFormModel', 'ModelWithUnionProperty', Any]):
@@ -37,6 +40,7 @@ class AModel:
3740 an_optional_allof_enum (Union[Unset, AnAllOfEnum]):
3841 nested_list_of_enums (Union[Unset, List[List[DifferentEnum]]]):
3942 a_not_required_date (Union[Unset, datetime.date]):
43+ a_not_required_uuid (Union[Unset, UUID]):
4044 attr_1_leading_digit (Union[Unset, str]):
4145 attr_leading_underscore (Union[Unset, str]):
4246 not_required_nullable (Union[None, Unset, str]):
@@ -51,17 +55,20 @@ class AModel:
5155 a_camel_date_time : Union [datetime .date , datetime .datetime ]
5256 a_date : datetime .date
5357 a_nullable_date : Union [None , datetime .date ]
58+ a_uuid : UUID
5459 required_nullable : Union [None , str ]
5560 required_not_nullable : str
5661 one_of_models : Union ["FreeFormModel" , "ModelWithUnionProperty" , Any ]
5762 nullable_one_of_models : Union ["FreeFormModel" , "ModelWithUnionProperty" , None ]
5863 model : "ModelWithUnionProperty"
5964 nullable_model : Union ["ModelWithUnionProperty" , None ]
6065 an_allof_enum_with_overridden_default : AnAllOfEnum = AnAllOfEnum .OVERRIDDEN_DEFAULT
66+ a_nullable_uuid : Union [None , UUID ] = UUID ("07EF8B4D-AA09-4FFA-898D-C710796AFF41" )
6167 any_value : Union [Unset , Any ] = "default"
6268 an_optional_allof_enum : Union [Unset , AnAllOfEnum ] = UNSET
6369 nested_list_of_enums : Union [Unset , List [List [DifferentEnum ]]] = UNSET
6470 a_not_required_date : Union [Unset , datetime .date ] = UNSET
71+ a_not_required_uuid : Union [Unset , UUID ] = UNSET
6572 attr_1_leading_digit : Union [Unset , str ] = UNSET
6673 attr_leading_underscore : Union [Unset , str ] = UNSET
6774 not_required_nullable : Union [None , Unset , str ] = UNSET
@@ -93,6 +100,14 @@ def to_dict(self) -> Dict[str, Any]:
93100 else :
94101 a_nullable_date = self .a_nullable_date
95102
103+ a_uuid = str (self .a_uuid )
104+
105+ a_nullable_uuid : Union [None , str ]
106+ if isinstance (self .a_nullable_uuid , UUID ):
107+ a_nullable_uuid = str (self .a_nullable_uuid )
108+ else :
109+ a_nullable_uuid = self .a_nullable_uuid
110+
96111 required_nullable : Union [None , str ]
97112 required_nullable = self .required_nullable
98113
@@ -143,6 +158,10 @@ def to_dict(self) -> Dict[str, Any]:
143158 if not isinstance (self .a_not_required_date , Unset ):
144159 a_not_required_date = self .a_not_required_date .isoformat ()
145160
161+ a_not_required_uuid : Union [Unset , str ] = UNSET
162+ if not isinstance (self .a_not_required_uuid , Unset ):
163+ a_not_required_uuid = str (self .a_not_required_uuid )
164+
146165 attr_1_leading_digit = self .attr_1_leading_digit
147166
148167 attr_leading_underscore = self .attr_leading_underscore
@@ -193,6 +212,8 @@ def to_dict(self) -> Dict[str, Any]:
193212 "aCamelDateTime" : a_camel_date_time ,
194213 "a_date" : a_date ,
195214 "a_nullable_date" : a_nullable_date ,
215+ "a_uuid" : a_uuid ,
216+ "a_nullable_uuid" : a_nullable_uuid ,
196217 "required_nullable" : required_nullable ,
197218 "required_not_nullable" : required_not_nullable ,
198219 "one_of_models" : one_of_models ,
@@ -209,6 +230,8 @@ def to_dict(self) -> Dict[str, Any]:
209230 field_dict ["nested_list_of_enums" ] = nested_list_of_enums
210231 if a_not_required_date is not UNSET :
211232 field_dict ["a_not_required_date" ] = a_not_required_date
233+ if a_not_required_uuid is not UNSET :
234+ field_dict ["a_not_required_uuid" ] = a_not_required_uuid
212235 if attr_1_leading_digit is not UNSET :
213236 field_dict ["1_leading_digit" ] = attr_1_leading_digit
214237 if attr_leading_underscore is not UNSET :
@@ -272,6 +295,23 @@ def _parse_a_nullable_date(data: object) -> Union[None, datetime.date]:
272295
273296 a_nullable_date = _parse_a_nullable_date (d .pop ("a_nullable_date" ))
274297
298+ a_uuid = UUID (d .pop ("a_uuid" ))
299+
300+ def _parse_a_nullable_uuid (data : object ) -> Union [None , UUID ]:
301+ if data is None :
302+ return data
303+ try :
304+ if not isinstance (data , str ):
305+ raise TypeError ()
306+ a_nullable_uuid_type_0 = UUID (data )
307+
308+ return a_nullable_uuid_type_0
309+ except : # noqa: E722
310+ pass
311+ return cast (Union [None , UUID ], data )
312+
313+ a_nullable_uuid = _parse_a_nullable_uuid (d .pop ("a_nullable_uuid" ))
314+
275315 def _parse_required_nullable (data : object ) -> Union [None , str ]:
276316 if data is None :
277317 return data
@@ -370,6 +410,13 @@ def _parse_nullable_model(data: object) -> Union["ModelWithUnionProperty", None]
370410 else :
371411 a_not_required_date = isoparse (_a_not_required_date ).date ()
372412
413+ _a_not_required_uuid = d .pop ("a_not_required_uuid" , UNSET )
414+ a_not_required_uuid : Union [Unset , UUID ]
415+ if isinstance (_a_not_required_uuid , Unset ):
416+ a_not_required_uuid = UNSET
417+ else :
418+ a_not_required_uuid = UUID (_a_not_required_uuid )
419+
373420 attr_1_leading_digit = d .pop ("1_leading_digit" , UNSET )
374421
375422 attr_leading_underscore = d .pop ("_leading_underscore" , UNSET )
@@ -463,6 +510,8 @@ def _parse_not_required_nullable_model(data: object) -> Union["ModelWithUnionPro
463510 a_camel_date_time = a_camel_date_time ,
464511 a_date = a_date ,
465512 a_nullable_date = a_nullable_date ,
513+ a_uuid = a_uuid ,
514+ a_nullable_uuid = a_nullable_uuid ,
466515 required_nullable = required_nullable ,
467516 required_not_nullable = required_not_nullable ,
468517 one_of_models = one_of_models ,
@@ -473,6 +522,7 @@ def _parse_not_required_nullable_model(data: object) -> Union["ModelWithUnionPro
473522 an_optional_allof_enum = an_optional_allof_enum ,
474523 nested_list_of_enums = nested_list_of_enums ,
475524 a_not_required_date = a_not_required_date ,
525+ a_not_required_uuid = a_not_required_uuid ,
476526 attr_1_leading_digit = attr_1_leading_digit ,
477527 attr_leading_underscore = attr_leading_underscore ,
478528 not_required_nullable = not_required_nullable ,
0 commit comments