windmill-api 1.497.2__py3-none-any.whl → 1.498.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of windmill-api might be problematic. Click here for more details.

Files changed (51) hide show
  1. windmill_api/api/openapi/__init__.py +0 -0
  2. windmill_api/api/openapi/download_openapi_spec.py +166 -0
  3. windmill_api/api/openapi/generate_openapi_spec.py +105 -0
  4. windmill_api/models/create_http_trigger_json_body.py +16 -0
  5. windmill_api/models/create_http_triggers_json_body_item.py +16 -0
  6. windmill_api/models/download_openapi_spec_json_body.py +150 -0
  7. windmill_api/models/download_openapi_spec_json_body_http_route_filters_item.py +72 -0
  8. windmill_api/models/download_openapi_spec_json_body_info.py +122 -0
  9. windmill_api/models/download_openapi_spec_json_body_info_contact.py +74 -0
  10. windmill_api/models/download_openapi_spec_json_body_info_license.py +76 -0
  11. windmill_api/models/download_openapi_spec_json_body_openapi_spec_format.py +9 -0
  12. windmill_api/models/download_openapi_spec_json_body_webhook_filters_item.py +89 -0
  13. windmill_api/models/download_openapi_spec_json_body_webhook_filters_item_runnable_kind.py +9 -0
  14. windmill_api/models/download_openapi_spec_json_body_webhook_filters_item_user_or_folder_regex.py +10 -0
  15. windmill_api/models/edit_http_trigger.py +16 -0
  16. windmill_api/models/generate_openapi_spec.py +140 -0
  17. windmill_api/models/generate_openapi_spec_http_route_filters_item.py +72 -0
  18. windmill_api/models/generate_openapi_spec_info.py +122 -0
  19. windmill_api/models/generate_openapi_spec_info_contact.py +74 -0
  20. windmill_api/models/generate_openapi_spec_info_license.py +76 -0
  21. windmill_api/models/generate_openapi_spec_json_body.py +150 -0
  22. windmill_api/models/generate_openapi_spec_json_body_http_route_filters_item.py +72 -0
  23. windmill_api/models/generate_openapi_spec_json_body_info.py +122 -0
  24. windmill_api/models/generate_openapi_spec_json_body_info_contact.py +74 -0
  25. windmill_api/models/generate_openapi_spec_json_body_info_license.py +76 -0
  26. windmill_api/models/generate_openapi_spec_json_body_openapi_spec_format.py +9 -0
  27. windmill_api/models/generate_openapi_spec_json_body_webhook_filters_item.py +89 -0
  28. windmill_api/models/generate_openapi_spec_json_body_webhook_filters_item_runnable_kind.py +9 -0
  29. windmill_api/models/generate_openapi_spec_json_body_webhook_filters_item_user_or_folder_regex.py +10 -0
  30. windmill_api/models/generate_openapi_spec_openapi_spec_format.py +9 -0
  31. windmill_api/models/generate_openapi_spec_webhook_filters_item.py +87 -0
  32. windmill_api/models/generate_openapi_spec_webhook_filters_item_runnable_kind.py +9 -0
  33. windmill_api/models/generate_openapi_spec_webhook_filters_item_user_or_folder_regex.py +10 -0
  34. windmill_api/models/get_http_trigger_response_200.py +16 -0
  35. windmill_api/models/http_trigger.py +16 -0
  36. windmill_api/models/list_http_triggers_response_200_item.py +16 -0
  37. windmill_api/models/new_http_trigger.py +16 -0
  38. windmill_api/models/openapi_http_route_filters.py +72 -0
  39. windmill_api/models/openapi_spec_format.py +9 -0
  40. windmill_api/models/openapi_v3_info.py +122 -0
  41. windmill_api/models/openapi_v3_info_contact.py +74 -0
  42. windmill_api/models/openapi_v3_info_license.py +76 -0
  43. windmill_api/models/runnable_kind.py +9 -0
  44. windmill_api/models/update_http_trigger_json_body.py +16 -0
  45. windmill_api/models/webhook_filters.py +83 -0
  46. windmill_api/models/webhook_filters_runnable_kind.py +9 -0
  47. windmill_api/models/webhook_filters_user_or_folder_regex.py +10 -0
  48. {windmill_api-1.497.2.dist-info → windmill_api-1.498.0.dist-info}/METADATA +1 -1
  49. {windmill_api-1.497.2.dist-info → windmill_api-1.498.0.dist-info}/RECORD +51 -12
  50. {windmill_api-1.497.2.dist-info → windmill_api-1.498.0.dist-info}/LICENSE +0 -0
  51. {windmill_api-1.497.2.dist-info → windmill_api-1.498.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,122 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.generate_openapi_spec_info_contact import GenerateOpenapiSpecInfoContact
10
+ from ..models.generate_openapi_spec_info_license import GenerateOpenapiSpecInfoLicense
11
+
12
+
13
+ T = TypeVar("T", bound="GenerateOpenapiSpecInfo")
14
+
15
+
16
+ @_attrs_define
17
+ class GenerateOpenapiSpecInfo:
18
+ """
19
+ Attributes:
20
+ title (str):
21
+ version (str):
22
+ description (Union[Unset, str]):
23
+ terms_of_service (Union[Unset, str]):
24
+ contact (Union[Unset, GenerateOpenapiSpecInfoContact]):
25
+ license_ (Union[Unset, GenerateOpenapiSpecInfoLicense]):
26
+ """
27
+
28
+ title: str
29
+ version: str
30
+ description: Union[Unset, str] = UNSET
31
+ terms_of_service: Union[Unset, str] = UNSET
32
+ contact: Union[Unset, "GenerateOpenapiSpecInfoContact"] = UNSET
33
+ license_: Union[Unset, "GenerateOpenapiSpecInfoLicense"] = UNSET
34
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> Dict[str, Any]:
37
+ title = self.title
38
+ version = self.version
39
+ description = self.description
40
+ terms_of_service = self.terms_of_service
41
+ contact: Union[Unset, Dict[str, Any]] = UNSET
42
+ if not isinstance(self.contact, Unset):
43
+ contact = self.contact.to_dict()
44
+
45
+ license_: Union[Unset, Dict[str, Any]] = UNSET
46
+ if not isinstance(self.license_, Unset):
47
+ license_ = self.license_.to_dict()
48
+
49
+ field_dict: Dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update(
52
+ {
53
+ "title": title,
54
+ "version": version,
55
+ }
56
+ )
57
+ if description is not UNSET:
58
+ field_dict["description"] = description
59
+ if terms_of_service is not UNSET:
60
+ field_dict["terms_of_service"] = terms_of_service
61
+ if contact is not UNSET:
62
+ field_dict["contact"] = contact
63
+ if license_ is not UNSET:
64
+ field_dict["license"] = license_
65
+
66
+ return field_dict
67
+
68
+ @classmethod
69
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
70
+ from ..models.generate_openapi_spec_info_contact import GenerateOpenapiSpecInfoContact
71
+ from ..models.generate_openapi_spec_info_license import GenerateOpenapiSpecInfoLicense
72
+
73
+ d = src_dict.copy()
74
+ title = d.pop("title")
75
+
76
+ version = d.pop("version")
77
+
78
+ description = d.pop("description", UNSET)
79
+
80
+ terms_of_service = d.pop("terms_of_service", UNSET)
81
+
82
+ _contact = d.pop("contact", UNSET)
83
+ contact: Union[Unset, GenerateOpenapiSpecInfoContact]
84
+ if isinstance(_contact, Unset):
85
+ contact = UNSET
86
+ else:
87
+ contact = GenerateOpenapiSpecInfoContact.from_dict(_contact)
88
+
89
+ _license_ = d.pop("license", UNSET)
90
+ license_: Union[Unset, GenerateOpenapiSpecInfoLicense]
91
+ if isinstance(_license_, Unset):
92
+ license_ = UNSET
93
+ else:
94
+ license_ = GenerateOpenapiSpecInfoLicense.from_dict(_license_)
95
+
96
+ generate_openapi_spec_info = cls(
97
+ title=title,
98
+ version=version,
99
+ description=description,
100
+ terms_of_service=terms_of_service,
101
+ contact=contact,
102
+ license_=license_,
103
+ )
104
+
105
+ generate_openapi_spec_info.additional_properties = d
106
+ return generate_openapi_spec_info
107
+
108
+ @property
109
+ def additional_keys(self) -> List[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GenerateOpenapiSpecInfoContact")
9
+
10
+
11
+ @_attrs_define
12
+ class GenerateOpenapiSpecInfoContact:
13
+ """
14
+ Attributes:
15
+ name (Union[Unset, str]):
16
+ url (Union[Unset, str]):
17
+ email (Union[Unset, str]):
18
+ """
19
+
20
+ name: Union[Unset, str] = UNSET
21
+ url: Union[Unset, str] = UNSET
22
+ email: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ name = self.name
27
+ url = self.url
28
+ email = self.email
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update({})
33
+ if name is not UNSET:
34
+ field_dict["name"] = name
35
+ if url is not UNSET:
36
+ field_dict["url"] = url
37
+ if email is not UNSET:
38
+ field_dict["email"] = email
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ name = d.pop("name", UNSET)
46
+
47
+ url = d.pop("url", UNSET)
48
+
49
+ email = d.pop("email", UNSET)
50
+
51
+ generate_openapi_spec_info_contact = cls(
52
+ name=name,
53
+ url=url,
54
+ email=email,
55
+ )
56
+
57
+ generate_openapi_spec_info_contact.additional_properties = d
58
+ return generate_openapi_spec_info_contact
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,76 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GenerateOpenapiSpecInfoLicense")
9
+
10
+
11
+ @_attrs_define
12
+ class GenerateOpenapiSpecInfoLicense:
13
+ """
14
+ Attributes:
15
+ name (str):
16
+ identifier (Union[Unset, str]):
17
+ url (Union[Unset, str]):
18
+ """
19
+
20
+ name: str
21
+ identifier: Union[Unset, str] = UNSET
22
+ url: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ name = self.name
27
+ identifier = self.identifier
28
+ url = self.url
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "name": name,
35
+ }
36
+ )
37
+ if identifier is not UNSET:
38
+ field_dict["identifier"] = identifier
39
+ if url is not UNSET:
40
+ field_dict["url"] = url
41
+
42
+ return field_dict
43
+
44
+ @classmethod
45
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
46
+ d = src_dict.copy()
47
+ name = d.pop("name")
48
+
49
+ identifier = d.pop("identifier", UNSET)
50
+
51
+ url = d.pop("url", UNSET)
52
+
53
+ generate_openapi_spec_info_license = cls(
54
+ name=name,
55
+ identifier=identifier,
56
+ url=url,
57
+ )
58
+
59
+ generate_openapi_spec_info_license.additional_properties = d
60
+ return generate_openapi_spec_info_license
61
+
62
+ @property
63
+ def additional_keys(self) -> List[str]:
64
+ return list(self.additional_properties.keys())
65
+
66
+ def __getitem__(self, key: str) -> Any:
67
+ return self.additional_properties[key]
68
+
69
+ def __setitem__(self, key: str, value: Any) -> None:
70
+ self.additional_properties[key] = value
71
+
72
+ def __delitem__(self, key: str) -> None:
73
+ del self.additional_properties[key]
74
+
75
+ def __contains__(self, key: str) -> bool:
76
+ return key in self.additional_properties
@@ -0,0 +1,150 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.generate_openapi_spec_json_body_openapi_spec_format import GenerateOpenapiSpecJsonBodyOpenapiSpecFormat
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.generate_openapi_spec_json_body_http_route_filters_item import (
11
+ GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem,
12
+ )
13
+ from ..models.generate_openapi_spec_json_body_info import GenerateOpenapiSpecJsonBodyInfo
14
+ from ..models.generate_openapi_spec_json_body_webhook_filters_item import (
15
+ GenerateOpenapiSpecJsonBodyWebhookFiltersItem,
16
+ )
17
+
18
+
19
+ T = TypeVar("T", bound="GenerateOpenapiSpecJsonBody")
20
+
21
+
22
+ @_attrs_define
23
+ class GenerateOpenapiSpecJsonBody:
24
+ """
25
+ Attributes:
26
+ info (Union[Unset, GenerateOpenapiSpecJsonBodyInfo]):
27
+ url (Union[Unset, str]):
28
+ openapi_spec_format (Union[Unset, GenerateOpenapiSpecJsonBodyOpenapiSpecFormat]):
29
+ http_route_filters (Union[Unset, List['GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem']]):
30
+ webhook_filters (Union[Unset, List['GenerateOpenapiSpecJsonBodyWebhookFiltersItem']]):
31
+ """
32
+
33
+ info: Union[Unset, "GenerateOpenapiSpecJsonBodyInfo"] = UNSET
34
+ url: Union[Unset, str] = UNSET
35
+ openapi_spec_format: Union[Unset, GenerateOpenapiSpecJsonBodyOpenapiSpecFormat] = UNSET
36
+ http_route_filters: Union[Unset, List["GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem"]] = UNSET
37
+ webhook_filters: Union[Unset, List["GenerateOpenapiSpecJsonBodyWebhookFiltersItem"]] = UNSET
38
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> Dict[str, Any]:
41
+ info: Union[Unset, Dict[str, Any]] = UNSET
42
+ if not isinstance(self.info, Unset):
43
+ info = self.info.to_dict()
44
+
45
+ url = self.url
46
+ openapi_spec_format: Union[Unset, str] = UNSET
47
+ if not isinstance(self.openapi_spec_format, Unset):
48
+ openapi_spec_format = self.openapi_spec_format.value
49
+
50
+ http_route_filters: Union[Unset, List[Dict[str, Any]]] = UNSET
51
+ if not isinstance(self.http_route_filters, Unset):
52
+ http_route_filters = []
53
+ for http_route_filters_item_data in self.http_route_filters:
54
+ http_route_filters_item = http_route_filters_item_data.to_dict()
55
+
56
+ http_route_filters.append(http_route_filters_item)
57
+
58
+ webhook_filters: Union[Unset, List[Dict[str, Any]]] = UNSET
59
+ if not isinstance(self.webhook_filters, Unset):
60
+ webhook_filters = []
61
+ for webhook_filters_item_data in self.webhook_filters:
62
+ webhook_filters_item = webhook_filters_item_data.to_dict()
63
+
64
+ webhook_filters.append(webhook_filters_item)
65
+
66
+ field_dict: Dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update({})
69
+ if info is not UNSET:
70
+ field_dict["info"] = info
71
+ if url is not UNSET:
72
+ field_dict["url"] = url
73
+ if openapi_spec_format is not UNSET:
74
+ field_dict["openapi_spec_format"] = openapi_spec_format
75
+ if http_route_filters is not UNSET:
76
+ field_dict["http_route_filters"] = http_route_filters
77
+ if webhook_filters is not UNSET:
78
+ field_dict["webhook_filters"] = webhook_filters
79
+
80
+ return field_dict
81
+
82
+ @classmethod
83
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
84
+ from ..models.generate_openapi_spec_json_body_http_route_filters_item import (
85
+ GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem,
86
+ )
87
+ from ..models.generate_openapi_spec_json_body_info import GenerateOpenapiSpecJsonBodyInfo
88
+ from ..models.generate_openapi_spec_json_body_webhook_filters_item import (
89
+ GenerateOpenapiSpecJsonBodyWebhookFiltersItem,
90
+ )
91
+
92
+ d = src_dict.copy()
93
+ _info = d.pop("info", UNSET)
94
+ info: Union[Unset, GenerateOpenapiSpecJsonBodyInfo]
95
+ if isinstance(_info, Unset):
96
+ info = UNSET
97
+ else:
98
+ info = GenerateOpenapiSpecJsonBodyInfo.from_dict(_info)
99
+
100
+ url = d.pop("url", UNSET)
101
+
102
+ _openapi_spec_format = d.pop("openapi_spec_format", UNSET)
103
+ openapi_spec_format: Union[Unset, GenerateOpenapiSpecJsonBodyOpenapiSpecFormat]
104
+ if isinstance(_openapi_spec_format, Unset):
105
+ openapi_spec_format = UNSET
106
+ else:
107
+ openapi_spec_format = GenerateOpenapiSpecJsonBodyOpenapiSpecFormat(_openapi_spec_format)
108
+
109
+ http_route_filters = []
110
+ _http_route_filters = d.pop("http_route_filters", UNSET)
111
+ for http_route_filters_item_data in _http_route_filters or []:
112
+ http_route_filters_item = GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem.from_dict(
113
+ http_route_filters_item_data
114
+ )
115
+
116
+ http_route_filters.append(http_route_filters_item)
117
+
118
+ webhook_filters = []
119
+ _webhook_filters = d.pop("webhook_filters", UNSET)
120
+ for webhook_filters_item_data in _webhook_filters or []:
121
+ webhook_filters_item = GenerateOpenapiSpecJsonBodyWebhookFiltersItem.from_dict(webhook_filters_item_data)
122
+
123
+ webhook_filters.append(webhook_filters_item)
124
+
125
+ generate_openapi_spec_json_body = cls(
126
+ info=info,
127
+ url=url,
128
+ openapi_spec_format=openapi_spec_format,
129
+ http_route_filters=http_route_filters,
130
+ webhook_filters=webhook_filters,
131
+ )
132
+
133
+ generate_openapi_spec_json_body.additional_properties = d
134
+ return generate_openapi_spec_json_body
135
+
136
+ @property
137
+ def additional_keys(self) -> List[str]:
138
+ return list(self.additional_properties.keys())
139
+
140
+ def __getitem__(self, key: str) -> Any:
141
+ return self.additional_properties[key]
142
+
143
+ def __setitem__(self, key: str, value: Any) -> None:
144
+ self.additional_properties[key] = value
145
+
146
+ def __delitem__(self, key: str) -> None:
147
+ del self.additional_properties[key]
148
+
149
+ def __contains__(self, key: str) -> bool:
150
+ return key in self.additional_properties
@@ -0,0 +1,72 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GenerateOpenapiSpecJsonBodyHttpRouteFiltersItem:
11
+ """
12
+ Attributes:
13
+ folder_regex (str):
14
+ path_regex (str):
15
+ route_path_regex (str):
16
+ """
17
+
18
+ folder_regex: str
19
+ path_regex: str
20
+ route_path_regex: str
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ folder_regex = self.folder_regex
25
+ path_regex = self.path_regex
26
+ route_path_regex = self.route_path_regex
27
+
28
+ field_dict: Dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "folder_regex": folder_regex,
33
+ "path_regex": path_regex,
34
+ "route_path_regex": route_path_regex,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ folder_regex = d.pop("folder_regex")
44
+
45
+ path_regex = d.pop("path_regex")
46
+
47
+ route_path_regex = d.pop("route_path_regex")
48
+
49
+ generate_openapi_spec_json_body_http_route_filters_item = cls(
50
+ folder_regex=folder_regex,
51
+ path_regex=path_regex,
52
+ route_path_regex=route_path_regex,
53
+ )
54
+
55
+ generate_openapi_spec_json_body_http_route_filters_item.additional_properties = d
56
+ return generate_openapi_spec_json_body_http_route_filters_item
57
+
58
+ @property
59
+ def additional_keys(self) -> List[str]:
60
+ return list(self.additional_properties.keys())
61
+
62
+ def __getitem__(self, key: str) -> Any:
63
+ return self.additional_properties[key]
64
+
65
+ def __setitem__(self, key: str, value: Any) -> None:
66
+ self.additional_properties[key] = value
67
+
68
+ def __delitem__(self, key: str) -> None:
69
+ del self.additional_properties[key]
70
+
71
+ def __contains__(self, key: str) -> bool:
72
+ return key in self.additional_properties
@@ -0,0 +1,122 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.generate_openapi_spec_json_body_info_contact import GenerateOpenapiSpecJsonBodyInfoContact
10
+ from ..models.generate_openapi_spec_json_body_info_license import GenerateOpenapiSpecJsonBodyInfoLicense
11
+
12
+
13
+ T = TypeVar("T", bound="GenerateOpenapiSpecJsonBodyInfo")
14
+
15
+
16
+ @_attrs_define
17
+ class GenerateOpenapiSpecJsonBodyInfo:
18
+ """
19
+ Attributes:
20
+ title (str):
21
+ version (str):
22
+ description (Union[Unset, str]):
23
+ terms_of_service (Union[Unset, str]):
24
+ contact (Union[Unset, GenerateOpenapiSpecJsonBodyInfoContact]):
25
+ license_ (Union[Unset, GenerateOpenapiSpecJsonBodyInfoLicense]):
26
+ """
27
+
28
+ title: str
29
+ version: str
30
+ description: Union[Unset, str] = UNSET
31
+ terms_of_service: Union[Unset, str] = UNSET
32
+ contact: Union[Unset, "GenerateOpenapiSpecJsonBodyInfoContact"] = UNSET
33
+ license_: Union[Unset, "GenerateOpenapiSpecJsonBodyInfoLicense"] = UNSET
34
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> Dict[str, Any]:
37
+ title = self.title
38
+ version = self.version
39
+ description = self.description
40
+ terms_of_service = self.terms_of_service
41
+ contact: Union[Unset, Dict[str, Any]] = UNSET
42
+ if not isinstance(self.contact, Unset):
43
+ contact = self.contact.to_dict()
44
+
45
+ license_: Union[Unset, Dict[str, Any]] = UNSET
46
+ if not isinstance(self.license_, Unset):
47
+ license_ = self.license_.to_dict()
48
+
49
+ field_dict: Dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update(
52
+ {
53
+ "title": title,
54
+ "version": version,
55
+ }
56
+ )
57
+ if description is not UNSET:
58
+ field_dict["description"] = description
59
+ if terms_of_service is not UNSET:
60
+ field_dict["terms_of_service"] = terms_of_service
61
+ if contact is not UNSET:
62
+ field_dict["contact"] = contact
63
+ if license_ is not UNSET:
64
+ field_dict["license"] = license_
65
+
66
+ return field_dict
67
+
68
+ @classmethod
69
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
70
+ from ..models.generate_openapi_spec_json_body_info_contact import GenerateOpenapiSpecJsonBodyInfoContact
71
+ from ..models.generate_openapi_spec_json_body_info_license import GenerateOpenapiSpecJsonBodyInfoLicense
72
+
73
+ d = src_dict.copy()
74
+ title = d.pop("title")
75
+
76
+ version = d.pop("version")
77
+
78
+ description = d.pop("description", UNSET)
79
+
80
+ terms_of_service = d.pop("terms_of_service", UNSET)
81
+
82
+ _contact = d.pop("contact", UNSET)
83
+ contact: Union[Unset, GenerateOpenapiSpecJsonBodyInfoContact]
84
+ if isinstance(_contact, Unset):
85
+ contact = UNSET
86
+ else:
87
+ contact = GenerateOpenapiSpecJsonBodyInfoContact.from_dict(_contact)
88
+
89
+ _license_ = d.pop("license", UNSET)
90
+ license_: Union[Unset, GenerateOpenapiSpecJsonBodyInfoLicense]
91
+ if isinstance(_license_, Unset):
92
+ license_ = UNSET
93
+ else:
94
+ license_ = GenerateOpenapiSpecJsonBodyInfoLicense.from_dict(_license_)
95
+
96
+ generate_openapi_spec_json_body_info = cls(
97
+ title=title,
98
+ version=version,
99
+ description=description,
100
+ terms_of_service=terms_of_service,
101
+ contact=contact,
102
+ license_=license_,
103
+ )
104
+
105
+ generate_openapi_spec_json_body_info.additional_properties = d
106
+ return generate_openapi_spec_json_body_info
107
+
108
+ @property
109
+ def additional_keys(self) -> List[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GenerateOpenapiSpecJsonBodyInfoContact")
9
+
10
+
11
+ @_attrs_define
12
+ class GenerateOpenapiSpecJsonBodyInfoContact:
13
+ """
14
+ Attributes:
15
+ name (Union[Unset, str]):
16
+ url (Union[Unset, str]):
17
+ email (Union[Unset, str]):
18
+ """
19
+
20
+ name: Union[Unset, str] = UNSET
21
+ url: Union[Unset, str] = UNSET
22
+ email: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ name = self.name
27
+ url = self.url
28
+ email = self.email
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update({})
33
+ if name is not UNSET:
34
+ field_dict["name"] = name
35
+ if url is not UNSET:
36
+ field_dict["url"] = url
37
+ if email is not UNSET:
38
+ field_dict["email"] = email
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ name = d.pop("name", UNSET)
46
+
47
+ url = d.pop("url", UNSET)
48
+
49
+ email = d.pop("email", UNSET)
50
+
51
+ generate_openapi_spec_json_body_info_contact = cls(
52
+ name=name,
53
+ url=url,
54
+ email=email,
55
+ )
56
+
57
+ generate_openapi_spec_json_body_info_contact.additional_properties = d
58
+ return generate_openapi_spec_json_body_info_contact
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties