latitudesh-python-sdk 2.3.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.
Files changed (242) hide show
  1. latitudesh_python_sdk/__init__.py +18 -0
  2. latitudesh_python_sdk/_hooks/__init__.py +5 -0
  3. latitudesh_python_sdk/_hooks/registration.py +13 -0
  4. latitudesh_python_sdk/_hooks/sdkhooks.py +76 -0
  5. latitudesh_python_sdk/_hooks/types.py +113 -0
  6. latitudesh_python_sdk/_version.py +17 -0
  7. latitudesh_python_sdk/apikeys.py +703 -0
  8. latitudesh_python_sdk/basesdk.py +374 -0
  9. latitudesh_python_sdk/billing.py +197 -0
  10. latitudesh_python_sdk/events_sdk.py +298 -0
  11. latitudesh_python_sdk/firewalls_sdk.py +1786 -0
  12. latitudesh_python_sdk/httpclient.py +125 -0
  13. latitudesh_python_sdk/ipaddresses_sdk.py +470 -0
  14. latitudesh_python_sdk/models/__init__.py +3581 -0
  15. latitudesh_python_sdk/models/api_key.py +81 -0
  16. latitudesh_python_sdk/models/apierror.py +40 -0
  17. latitudesh_python_sdk/models/assign_server_virtual_networkop.py +43 -0
  18. latitudesh_python_sdk/models/bandwidth_packages.py +67 -0
  19. latitudesh_python_sdk/models/bandwidth_plan_data.py +72 -0
  20. latitudesh_python_sdk/models/bandwidth_plans.py +26 -0
  21. latitudesh_python_sdk/models/billing_usage.py +249 -0
  22. latitudesh_python_sdk/models/container_plan_data.py +163 -0
  23. latitudesh_python_sdk/models/create_api_key.py +40 -0
  24. latitudesh_python_sdk/models/create_firewall_assignmentop.py +61 -0
  25. latitudesh_python_sdk/models/create_firewallop.py +73 -0
  26. latitudesh_python_sdk/models/create_ipmi_sessionop.py +16 -0
  27. latitudesh_python_sdk/models/create_projectop.py +79 -0
  28. latitudesh_python_sdk/models/create_server_actionop.py +69 -0
  29. latitudesh_python_sdk/models/create_server_out_of_bandop.py +61 -0
  30. latitudesh_python_sdk/models/create_server_reinstallop.py +140 -0
  31. latitudesh_python_sdk/models/create_serverop.py +173 -0
  32. latitudesh_python_sdk/models/create_tagop.py +50 -0
  33. latitudesh_python_sdk/models/create_virtual_machine_actionop.py +63 -0
  34. latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
  35. latitudesh_python_sdk/models/custom_tag.py +26 -0
  36. latitudesh_python_sdk/models/custom_tag_data.py +54 -0
  37. latitudesh_python_sdk/models/custom_tags.py +26 -0
  38. latitudesh_python_sdk/models/delete_api_keyop.py +16 -0
  39. latitudesh_python_sdk/models/delete_firewall_assignmentop.py +25 -0
  40. latitudesh_python_sdk/models/delete_firewallop.py +18 -0
  41. latitudesh_python_sdk/models/delete_project_ssh_keyop.py +23 -0
  42. latitudesh_python_sdk/models/delete_project_user_dataop.py +23 -0
  43. latitudesh_python_sdk/models/delete_projectop.py +18 -0
  44. latitudesh_python_sdk/models/delete_ssh_keyop.py +16 -0
  45. latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
  46. latitudesh_python_sdk/models/delete_storage_volumesop.py +16 -0
  47. latitudesh_python_sdk/models/delete_user_dataop.py +16 -0
  48. latitudesh_python_sdk/models/delete_virtual_networks_assignmentsop.py +16 -0
  49. latitudesh_python_sdk/models/delete_vpn_sessionop.py +16 -0
  50. latitudesh_python_sdk/models/deploy_config.py +62 -0
  51. latitudesh_python_sdk/models/destroy_serverop.py +31 -0
  52. latitudesh_python_sdk/models/destroy_tagop.py +16 -0
  53. latitudesh_python_sdk/models/destroy_team_memberop.py +18 -0
  54. latitudesh_python_sdk/models/destroy_virtual_machineop.py +16 -0
  55. latitudesh_python_sdk/models/destroy_virtual_networkop.py +18 -0
  56. latitudesh_python_sdk/models/event_data.py +98 -0
  57. latitudesh_python_sdk/models/events.py +26 -0
  58. latitudesh_python_sdk/models/filesystem_data.py +57 -0
  59. latitudesh_python_sdk/models/firewall.py +26 -0
  60. latitudesh_python_sdk/models/firewall_assignment_data.py +50 -0
  61. latitudesh_python_sdk/models/firewall_assignments.py +29 -0
  62. latitudesh_python_sdk/models/firewall_data.py +75 -0
  63. latitudesh_python_sdk/models/firewall_server.py +36 -0
  64. latitudesh_python_sdk/models/firewalls.py +26 -0
  65. latitudesh_python_sdk/models/get_all_firewall_assignmentsop.py +51 -0
  66. latitudesh_python_sdk/models/get_bandwidth_plansop.py +62 -0
  67. latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
  68. latitudesh_python_sdk/models/get_containers_planop.py +18 -0
  69. latitudesh_python_sdk/models/get_eventsop.py +126 -0
  70. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +53 -0
  71. latitudesh_python_sdk/models/get_firewallop.py +18 -0
  72. latitudesh_python_sdk/models/get_ipop.py +33 -0
  73. latitudesh_python_sdk/models/get_ipsop.py +120 -0
  74. latitudesh_python_sdk/models/get_planop.py +16 -0
  75. latitudesh_python_sdk/models/get_plans_operating_systemop.py +54 -0
  76. latitudesh_python_sdk/models/get_plansop.py +125 -0
  77. latitudesh_python_sdk/models/get_project_ssh_keyop.py +37 -0
  78. latitudesh_python_sdk/models/get_project_ssh_keysop.py +33 -0
  79. latitudesh_python_sdk/models/get_project_user_dataop.py +38 -0
  80. latitudesh_python_sdk/models/get_project_users_dataop.py +46 -0
  81. latitudesh_python_sdk/models/get_projectsop.py +105 -0
  82. latitudesh_python_sdk/models/get_regionop.py +18 -0
  83. latitudesh_python_sdk/models/get_regionsop.py +42 -0
  84. latitudesh_python_sdk/models/get_role_idop.py +16 -0
  85. latitudesh_python_sdk/models/get_rolesop.py +54 -0
  86. latitudesh_python_sdk/models/get_server_deploy_configop.py +18 -0
  87. latitudesh_python_sdk/models/get_server_out_of_bandop.py +18 -0
  88. latitudesh_python_sdk/models/get_serverop.py +33 -0
  89. latitudesh_python_sdk/models/get_serversop.py +185 -0
  90. latitudesh_python_sdk/models/get_ssh_keyop.py +30 -0
  91. latitudesh_python_sdk/models/get_ssh_keysop.py +31 -0
  92. latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
  93. latitudesh_python_sdk/models/get_storage_volumeop.py +32 -0
  94. latitudesh_python_sdk/models/get_storage_volumesop.py +35 -0
  95. latitudesh_python_sdk/models/get_team_membersop.py +42 -0
  96. latitudesh_python_sdk/models/get_traffic_consumptionop.py +49 -0
  97. latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
  98. latitudesh_python_sdk/models/get_user_dataop.py +31 -0
  99. latitudesh_python_sdk/models/get_user_profileop.py +19 -0
  100. latitudesh_python_sdk/models/get_users_dataop.py +44 -0
  101. latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
  102. latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +72 -0
  103. latitudesh_python_sdk/models/get_virtual_networksop.py +69 -0
  104. latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
  105. latitudesh_python_sdk/models/index_virtual_machineop.py +31 -0
  106. latitudesh_python_sdk/models/ip_address.py +122 -0
  107. latitudesh_python_sdk/models/ip_addresses.py +15 -0
  108. latitudesh_python_sdk/models/ipmi_session.py +53 -0
  109. latitudesh_python_sdk/models/latitudesherror.py +30 -0
  110. latitudesh_python_sdk/models/list_firewallsop.py +49 -0
  111. latitudesh_python_sdk/models/membership.py +63 -0
  112. latitudesh_python_sdk/models/no_response_error.py +17 -0
  113. latitudesh_python_sdk/models/operating_system_data.py +65 -0
  114. latitudesh_python_sdk/models/operating_systems.py +26 -0
  115. latitudesh_python_sdk/models/out_of_band_connection.py +88 -0
  116. latitudesh_python_sdk/models/patch_current_teamop.py +91 -0
  117. latitudesh_python_sdk/models/patch_storage_filesystemsop.py +79 -0
  118. latitudesh_python_sdk/models/patch_user_dataop.py +69 -0
  119. latitudesh_python_sdk/models/patch_user_profileop.py +88 -0
  120. latitudesh_python_sdk/models/plan.py +15 -0
  121. latitudesh_python_sdk/models/plan_data.py +210 -0
  122. latitudesh_python_sdk/models/post_api_keyop.py +19 -0
  123. latitudesh_python_sdk/models/post_project_ssh_keyop.py +81 -0
  124. latitudesh_python_sdk/models/post_project_user_dataop.py +68 -0
  125. latitudesh_python_sdk/models/post_ssh_keyop.py +63 -0
  126. latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
  127. latitudesh_python_sdk/models/post_storage_volumes_mountop.py +62 -0
  128. latitudesh_python_sdk/models/post_storage_volumesop.py +63 -0
  129. latitudesh_python_sdk/models/post_team_membersop.py +54 -0
  130. latitudesh_python_sdk/models/post_teamop.py +67 -0
  131. latitudesh_python_sdk/models/post_user_dataop.py +50 -0
  132. latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
  133. latitudesh_python_sdk/models/project.py +131 -0
  134. latitudesh_python_sdk/models/project_include.py +75 -0
  135. latitudesh_python_sdk/models/projects.py +15 -0
  136. latitudesh_python_sdk/models/put_project_ssh_keyop.py +87 -0
  137. latitudesh_python_sdk/models/put_project_user_dataop.py +76 -0
  138. latitudesh_python_sdk/models/put_ssh_keyop.py +80 -0
  139. latitudesh_python_sdk/models/put_vpn_sessionop.py +16 -0
  140. latitudesh_python_sdk/models/region.py +50 -0
  141. latitudesh_python_sdk/models/region_resource_data.py +37 -0
  142. latitudesh_python_sdk/models/regions.py +50 -0
  143. latitudesh_python_sdk/models/responsevalidationerror.py +27 -0
  144. latitudesh_python_sdk/models/role.py +26 -0
  145. latitudesh_python_sdk/models/role_data.py +35 -0
  146. latitudesh_python_sdk/models/security.py +25 -0
  147. latitudesh_python_sdk/models/server.py +26 -0
  148. latitudesh_python_sdk/models/server_action.py +52 -0
  149. latitudesh_python_sdk/models/server_data.py +280 -0
  150. latitudesh_python_sdk/models/server_exit_rescue_modeop.py +16 -0
  151. latitudesh_python_sdk/models/server_lockop.py +16 -0
  152. latitudesh_python_sdk/models/server_region_resource_data.py +40 -0
  153. latitudesh_python_sdk/models/server_rescue.py +22 -0
  154. latitudesh_python_sdk/models/server_schedule_deletion.py +44 -0
  155. latitudesh_python_sdk/models/server_schedule_deletionop.py +16 -0
  156. latitudesh_python_sdk/models/server_start_rescue_modeop.py +16 -0
  157. latitudesh_python_sdk/models/server_unlockop.py +16 -0
  158. latitudesh_python_sdk/models/server_unschedule_deletionop.py +16 -0
  159. latitudesh_python_sdk/models/servers.py +26 -0
  160. latitudesh_python_sdk/models/show_virtual_machineop.py +16 -0
  161. latitudesh_python_sdk/models/ssh_key_data.py +55 -0
  162. latitudesh_python_sdk/models/ssh_keys.py +26 -0
  163. latitudesh_python_sdk/models/storage_plan_data.py +47 -0
  164. latitudesh_python_sdk/models/storage_plans.py +26 -0
  165. latitudesh_python_sdk/models/team.py +74 -0
  166. latitudesh_python_sdk/models/team_include.py +43 -0
  167. latitudesh_python_sdk/models/team_members.py +51 -0
  168. latitudesh_python_sdk/models/teams.py +26 -0
  169. latitudesh_python_sdk/models/traffic.py +133 -0
  170. latitudesh_python_sdk/models/traffic_quota.py +106 -0
  171. latitudesh_python_sdk/models/update_api_key.py +48 -0
  172. latitudesh_python_sdk/models/update_api_keyop.py +41 -0
  173. latitudesh_python_sdk/models/update_firewallop.py +89 -0
  174. latitudesh_python_sdk/models/update_plans_bandwidthop.py +50 -0
  175. latitudesh_python_sdk/models/update_projectop.py +95 -0
  176. latitudesh_python_sdk/models/update_server_deploy_configop.py +122 -0
  177. latitudesh_python_sdk/models/update_serverop.py +85 -0
  178. latitudesh_python_sdk/models/update_tagop.py +74 -0
  179. latitudesh_python_sdk/models/update_virtual_networkop.py +67 -0
  180. latitudesh_python_sdk/models/user.py +59 -0
  181. latitudesh_python_sdk/models/user_data.py +26 -0
  182. latitudesh_python_sdk/models/user_data_properties.py +46 -0
  183. latitudesh_python_sdk/models/user_include.py +52 -0
  184. latitudesh_python_sdk/models/user_team.py +61 -0
  185. latitudesh_python_sdk/models/user_teams.py +26 -0
  186. latitudesh_python_sdk/models/user_update.py +37 -0
  187. latitudesh_python_sdk/models/virtual_machine.py +29 -0
  188. latitudesh_python_sdk/models/virtual_machine_attributes.py +115 -0
  189. latitudesh_python_sdk/models/virtual_machine_payload.py +47 -0
  190. latitudesh_python_sdk/models/virtual_machine_plans.py +181 -0
  191. latitudesh_python_sdk/models/virtual_network.py +26 -0
  192. latitudesh_python_sdk/models/virtual_network_assignment.py +29 -0
  193. latitudesh_python_sdk/models/virtual_network_assignment_data.py +65 -0
  194. latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
  195. latitudesh_python_sdk/models/virtual_network_data.py +114 -0
  196. latitudesh_python_sdk/models/virtual_networks.py +26 -0
  197. latitudesh_python_sdk/models/volume_data.py +111 -0
  198. latitudesh_python_sdk/models/vpn_session_data_with_password.py +77 -0
  199. latitudesh_python_sdk/models/vpn_session_with_password.py +18 -0
  200. latitudesh_python_sdk/operatingsystems_sdk.py +238 -0
  201. latitudesh_python_sdk/plans.py +1304 -0
  202. latitudesh_python_sdk/privatenetworks.py +1612 -0
  203. latitudesh_python_sdk/projects_sdk.py +830 -0
  204. latitudesh_python_sdk/py.typed +1 -0
  205. latitudesh_python_sdk/regions_sdk.py +398 -0
  206. latitudesh_python_sdk/roles.py +398 -0
  207. latitudesh_python_sdk/sdk.py +264 -0
  208. latitudesh_python_sdk/sdkconfiguration.py +50 -0
  209. latitudesh_python_sdk/servers_sdk.py +3414 -0
  210. latitudesh_python_sdk/sshkeys_sdk.py +1882 -0
  211. latitudesh_python_sdk/storage.py +1651 -0
  212. latitudesh_python_sdk/tags.py +715 -0
  213. latitudesh_python_sdk/teams_sdk.py +527 -0
  214. latitudesh_python_sdk/teamsmembers.py +576 -0
  215. latitudesh_python_sdk/traffic_sdk.py +357 -0
  216. latitudesh_python_sdk/types/__init__.py +21 -0
  217. latitudesh_python_sdk/types/basemodel.py +39 -0
  218. latitudesh_python_sdk/userdata_sdk.py +1888 -0
  219. latitudesh_python_sdk/userprofile.py +531 -0
  220. latitudesh_python_sdk/utils/__init__.py +200 -0
  221. latitudesh_python_sdk/utils/annotations.py +79 -0
  222. latitudesh_python_sdk/utils/datetimes.py +23 -0
  223. latitudesh_python_sdk/utils/enums.py +74 -0
  224. latitudesh_python_sdk/utils/eventstreaming.py +248 -0
  225. latitudesh_python_sdk/utils/forms.py +234 -0
  226. latitudesh_python_sdk/utils/headers.py +136 -0
  227. latitudesh_python_sdk/utils/logger.py +27 -0
  228. latitudesh_python_sdk/utils/metadata.py +118 -0
  229. latitudesh_python_sdk/utils/queryparams.py +217 -0
  230. latitudesh_python_sdk/utils/requestbodies.py +66 -0
  231. latitudesh_python_sdk/utils/retries.py +281 -0
  232. latitudesh_python_sdk/utils/security.py +192 -0
  233. latitudesh_python_sdk/utils/serializers.py +249 -0
  234. latitudesh_python_sdk/utils/unmarshal_json_response.py +38 -0
  235. latitudesh_python_sdk/utils/url.py +155 -0
  236. latitudesh_python_sdk/utils/values.py +137 -0
  237. latitudesh_python_sdk/virtualmachines.py +941 -0
  238. latitudesh_python_sdk/vpnsessions.py +715 -0
  239. latitudesh_python_sdk-2.3.0.dist-info/METADATA +787 -0
  240. latitudesh_python_sdk-2.3.0.dist-info/RECORD +242 -0
  241. latitudesh_python_sdk-2.3.0.dist-info/WHEEL +4 -0
  242. latitudesh_python_sdk-2.3.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,715 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from latitudesh_python_sdk import models, utils
5
+ from latitudesh_python_sdk._hooks import HookContext
6
+ from latitudesh_python_sdk.types import OptionalNullable, UNSET
7
+ from latitudesh_python_sdk.utils import get_security_from_env
8
+ from latitudesh_python_sdk.utils.unmarshal_json_response import unmarshal_json_response
9
+ from typing import Mapping, Optional, Union
10
+
11
+
12
+ class Tags(BaseSDK):
13
+ def list(
14
+ self,
15
+ *,
16
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
17
+ server_url: Optional[str] = None,
18
+ timeout_ms: Optional[int] = None,
19
+ http_headers: Optional[Mapping[str, str]] = None,
20
+ ) -> models.CustomTags:
21
+ r"""List all Tags
22
+
23
+ List all Tags in the team.
24
+
25
+
26
+ :param retries: Override the default retry configuration for this method
27
+ :param server_url: Override the default server URL for this method
28
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
29
+ :param http_headers: Additional headers to set or replace on requests.
30
+ """
31
+ base_url = None
32
+ url_variables = None
33
+ if timeout_ms is None:
34
+ timeout_ms = self.sdk_configuration.timeout_ms
35
+
36
+ if server_url is not None:
37
+ base_url = server_url
38
+ else:
39
+ base_url = self._get_url(base_url, url_variables)
40
+ req = self._build_request(
41
+ method="GET",
42
+ path="/tags",
43
+ base_url=base_url,
44
+ url_variables=url_variables,
45
+ request=None,
46
+ request_body_required=False,
47
+ request_has_path_params=False,
48
+ request_has_query_params=True,
49
+ user_agent_header="user-agent",
50
+ accept_header_value="application/vnd.api+json",
51
+ http_headers=http_headers,
52
+ security=self.sdk_configuration.security,
53
+ allow_empty_value=None,
54
+ timeout_ms=timeout_ms,
55
+ )
56
+
57
+ if retries == UNSET:
58
+ if self.sdk_configuration.retry_config is not UNSET:
59
+ retries = self.sdk_configuration.retry_config
60
+
61
+ retry_config = None
62
+ if isinstance(retries, utils.RetryConfig):
63
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
64
+
65
+ http_res = self.do_request(
66
+ hook_ctx=HookContext(
67
+ config=self.sdk_configuration,
68
+ base_url=base_url or "",
69
+ operation_id="get-tags",
70
+ oauth2_scopes=None,
71
+ security_source=get_security_from_env(
72
+ self.sdk_configuration.security, models.Security
73
+ ),
74
+ ),
75
+ request=req,
76
+ error_status_codes=["4XX", "5XX"],
77
+ retry_config=retry_config,
78
+ )
79
+
80
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
81
+ return unmarshal_json_response(models.CustomTags, http_res)
82
+ if utils.match_response(http_res, "4XX", "*"):
83
+ http_res_text = utils.stream_to_text(http_res)
84
+ raise models.APIError("API error occurred", http_res, http_res_text)
85
+ if utils.match_response(http_res, "5XX", "*"):
86
+ http_res_text = utils.stream_to_text(http_res)
87
+ raise models.APIError("API error occurred", http_res, http_res_text)
88
+
89
+ raise models.APIError("Unexpected response received", http_res)
90
+
91
+ async def list_async(
92
+ self,
93
+ *,
94
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
95
+ server_url: Optional[str] = None,
96
+ timeout_ms: Optional[int] = None,
97
+ http_headers: Optional[Mapping[str, str]] = None,
98
+ ) -> models.CustomTags:
99
+ r"""List all Tags
100
+
101
+ List all Tags in the team.
102
+
103
+
104
+ :param retries: Override the default retry configuration for this method
105
+ :param server_url: Override the default server URL for this method
106
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
107
+ :param http_headers: Additional headers to set or replace on requests.
108
+ """
109
+ base_url = None
110
+ url_variables = None
111
+ if timeout_ms is None:
112
+ timeout_ms = self.sdk_configuration.timeout_ms
113
+
114
+ if server_url is not None:
115
+ base_url = server_url
116
+ else:
117
+ base_url = self._get_url(base_url, url_variables)
118
+ req = self._build_request_async(
119
+ method="GET",
120
+ path="/tags",
121
+ base_url=base_url,
122
+ url_variables=url_variables,
123
+ request=None,
124
+ request_body_required=False,
125
+ request_has_path_params=False,
126
+ request_has_query_params=True,
127
+ user_agent_header="user-agent",
128
+ accept_header_value="application/vnd.api+json",
129
+ http_headers=http_headers,
130
+ security=self.sdk_configuration.security,
131
+ allow_empty_value=None,
132
+ timeout_ms=timeout_ms,
133
+ )
134
+
135
+ if retries == UNSET:
136
+ if self.sdk_configuration.retry_config is not UNSET:
137
+ retries = self.sdk_configuration.retry_config
138
+
139
+ retry_config = None
140
+ if isinstance(retries, utils.RetryConfig):
141
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
142
+
143
+ http_res = await self.do_request_async(
144
+ hook_ctx=HookContext(
145
+ config=self.sdk_configuration,
146
+ base_url=base_url or "",
147
+ operation_id="get-tags",
148
+ oauth2_scopes=None,
149
+ security_source=get_security_from_env(
150
+ self.sdk_configuration.security, models.Security
151
+ ),
152
+ ),
153
+ request=req,
154
+ error_status_codes=["4XX", "5XX"],
155
+ retry_config=retry_config,
156
+ )
157
+
158
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
159
+ return unmarshal_json_response(models.CustomTags, http_res)
160
+ if utils.match_response(http_res, "4XX", "*"):
161
+ http_res_text = await utils.stream_to_text_async(http_res)
162
+ raise models.APIError("API error occurred", http_res, http_res_text)
163
+ if utils.match_response(http_res, "5XX", "*"):
164
+ http_res_text = await utils.stream_to_text_async(http_res)
165
+ raise models.APIError("API error occurred", http_res, http_res_text)
166
+
167
+ raise models.APIError("Unexpected response received", http_res)
168
+
169
+ def create(
170
+ self,
171
+ *,
172
+ data: Optional[
173
+ Union[models.CreateTagTagsData, models.CreateTagTagsDataTypedDict]
174
+ ] = None,
175
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
176
+ server_url: Optional[str] = None,
177
+ timeout_ms: Optional[int] = None,
178
+ http_headers: Optional[Mapping[str, str]] = None,
179
+ ) -> models.CustomTag:
180
+ r"""Create a Tag
181
+
182
+ Create a Tag in the team.
183
+
184
+
185
+ :param data:
186
+ :param retries: Override the default retry configuration for this method
187
+ :param server_url: Override the default server URL for this method
188
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
189
+ :param http_headers: Additional headers to set or replace on requests.
190
+ """
191
+ base_url = None
192
+ url_variables = None
193
+ if timeout_ms is None:
194
+ timeout_ms = self.sdk_configuration.timeout_ms
195
+
196
+ if server_url is not None:
197
+ base_url = server_url
198
+ else:
199
+ base_url = self._get_url(base_url, url_variables)
200
+
201
+ request = models.CreateTagTagsRequestBody(
202
+ data=utils.get_pydantic_model(data, Optional[models.CreateTagTagsData]),
203
+ )
204
+
205
+ req = self._build_request(
206
+ method="POST",
207
+ path="/tags",
208
+ base_url=base_url,
209
+ url_variables=url_variables,
210
+ request=request,
211
+ request_body_required=True,
212
+ request_has_path_params=False,
213
+ request_has_query_params=True,
214
+ user_agent_header="user-agent",
215
+ accept_header_value="application/vnd.api+json",
216
+ http_headers=http_headers,
217
+ security=self.sdk_configuration.security,
218
+ get_serialized_body=lambda: utils.serialize_request_body(
219
+ request, False, False, "json", models.CreateTagTagsRequestBody
220
+ ),
221
+ allow_empty_value=None,
222
+ timeout_ms=timeout_ms,
223
+ )
224
+
225
+ if retries == UNSET:
226
+ if self.sdk_configuration.retry_config is not UNSET:
227
+ retries = self.sdk_configuration.retry_config
228
+
229
+ retry_config = None
230
+ if isinstance(retries, utils.RetryConfig):
231
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
232
+
233
+ http_res = self.do_request(
234
+ hook_ctx=HookContext(
235
+ config=self.sdk_configuration,
236
+ base_url=base_url or "",
237
+ operation_id="create-tag",
238
+ oauth2_scopes=None,
239
+ security_source=get_security_from_env(
240
+ self.sdk_configuration.security, models.Security
241
+ ),
242
+ ),
243
+ request=req,
244
+ error_status_codes=["4XX", "5XX"],
245
+ retry_config=retry_config,
246
+ )
247
+
248
+ if utils.match_response(http_res, "201", "application/vnd.api+json"):
249
+ return unmarshal_json_response(models.CustomTag, http_res)
250
+ if utils.match_response(http_res, "4XX", "*"):
251
+ http_res_text = utils.stream_to_text(http_res)
252
+ raise models.APIError("API error occurred", http_res, http_res_text)
253
+ if utils.match_response(http_res, "5XX", "*"):
254
+ http_res_text = utils.stream_to_text(http_res)
255
+ raise models.APIError("API error occurred", http_res, http_res_text)
256
+
257
+ raise models.APIError("Unexpected response received", http_res)
258
+
259
+ async def create_async(
260
+ self,
261
+ *,
262
+ data: Optional[
263
+ Union[models.CreateTagTagsData, models.CreateTagTagsDataTypedDict]
264
+ ] = None,
265
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
266
+ server_url: Optional[str] = None,
267
+ timeout_ms: Optional[int] = None,
268
+ http_headers: Optional[Mapping[str, str]] = None,
269
+ ) -> models.CustomTag:
270
+ r"""Create a Tag
271
+
272
+ Create a Tag in the team.
273
+
274
+
275
+ :param data:
276
+ :param retries: Override the default retry configuration for this method
277
+ :param server_url: Override the default server URL for this method
278
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
279
+ :param http_headers: Additional headers to set or replace on requests.
280
+ """
281
+ base_url = None
282
+ url_variables = None
283
+ if timeout_ms is None:
284
+ timeout_ms = self.sdk_configuration.timeout_ms
285
+
286
+ if server_url is not None:
287
+ base_url = server_url
288
+ else:
289
+ base_url = self._get_url(base_url, url_variables)
290
+
291
+ request = models.CreateTagTagsRequestBody(
292
+ data=utils.get_pydantic_model(data, Optional[models.CreateTagTagsData]),
293
+ )
294
+
295
+ req = self._build_request_async(
296
+ method="POST",
297
+ path="/tags",
298
+ base_url=base_url,
299
+ url_variables=url_variables,
300
+ request=request,
301
+ request_body_required=True,
302
+ request_has_path_params=False,
303
+ request_has_query_params=True,
304
+ user_agent_header="user-agent",
305
+ accept_header_value="application/vnd.api+json",
306
+ http_headers=http_headers,
307
+ security=self.sdk_configuration.security,
308
+ get_serialized_body=lambda: utils.serialize_request_body(
309
+ request, False, False, "json", models.CreateTagTagsRequestBody
310
+ ),
311
+ allow_empty_value=None,
312
+ timeout_ms=timeout_ms,
313
+ )
314
+
315
+ if retries == UNSET:
316
+ if self.sdk_configuration.retry_config is not UNSET:
317
+ retries = self.sdk_configuration.retry_config
318
+
319
+ retry_config = None
320
+ if isinstance(retries, utils.RetryConfig):
321
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
322
+
323
+ http_res = await self.do_request_async(
324
+ hook_ctx=HookContext(
325
+ config=self.sdk_configuration,
326
+ base_url=base_url or "",
327
+ operation_id="create-tag",
328
+ oauth2_scopes=None,
329
+ security_source=get_security_from_env(
330
+ self.sdk_configuration.security, models.Security
331
+ ),
332
+ ),
333
+ request=req,
334
+ error_status_codes=["4XX", "5XX"],
335
+ retry_config=retry_config,
336
+ )
337
+
338
+ if utils.match_response(http_res, "201", "application/vnd.api+json"):
339
+ return unmarshal_json_response(models.CustomTag, http_res)
340
+ if utils.match_response(http_res, "4XX", "*"):
341
+ http_res_text = await utils.stream_to_text_async(http_res)
342
+ raise models.APIError("API error occurred", http_res, http_res_text)
343
+ if utils.match_response(http_res, "5XX", "*"):
344
+ http_res_text = await utils.stream_to_text_async(http_res)
345
+ raise models.APIError("API error occurred", http_res, http_res_text)
346
+
347
+ raise models.APIError("Unexpected response received", http_res)
348
+
349
+ def update(
350
+ self,
351
+ *,
352
+ tag_id: str,
353
+ data: Optional[
354
+ Union[models.UpdateTagTagsData, models.UpdateTagTagsDataTypedDict]
355
+ ] = None,
356
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
357
+ server_url: Optional[str] = None,
358
+ timeout_ms: Optional[int] = None,
359
+ http_headers: Optional[Mapping[str, str]] = None,
360
+ ) -> models.CustomTag:
361
+ r"""Update Tag
362
+
363
+ Update a Tag in the team.
364
+
365
+
366
+ :param tag_id:
367
+ :param data:
368
+ :param retries: Override the default retry configuration for this method
369
+ :param server_url: Override the default server URL for this method
370
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
371
+ :param http_headers: Additional headers to set or replace on requests.
372
+ """
373
+ base_url = None
374
+ url_variables = None
375
+ if timeout_ms is None:
376
+ timeout_ms = self.sdk_configuration.timeout_ms
377
+
378
+ if server_url is not None:
379
+ base_url = server_url
380
+ else:
381
+ base_url = self._get_url(base_url, url_variables)
382
+
383
+ request = models.UpdateTagRequest(
384
+ tag_id=tag_id,
385
+ request_body=models.UpdateTagTagsRequestBody(
386
+ data=utils.get_pydantic_model(data, Optional[models.UpdateTagTagsData]),
387
+ ),
388
+ )
389
+
390
+ req = self._build_request(
391
+ method="PATCH",
392
+ path="/tags/{tag_id}",
393
+ base_url=base_url,
394
+ url_variables=url_variables,
395
+ request=request,
396
+ request_body_required=True,
397
+ request_has_path_params=True,
398
+ request_has_query_params=True,
399
+ user_agent_header="user-agent",
400
+ accept_header_value="application/vnd.api+json",
401
+ http_headers=http_headers,
402
+ security=self.sdk_configuration.security,
403
+ get_serialized_body=lambda: utils.serialize_request_body(
404
+ request.request_body,
405
+ False,
406
+ False,
407
+ "json",
408
+ models.UpdateTagTagsRequestBody,
409
+ ),
410
+ allow_empty_value=None,
411
+ timeout_ms=timeout_ms,
412
+ )
413
+
414
+ if retries == UNSET:
415
+ if self.sdk_configuration.retry_config is not UNSET:
416
+ retries = self.sdk_configuration.retry_config
417
+
418
+ retry_config = None
419
+ if isinstance(retries, utils.RetryConfig):
420
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
421
+
422
+ http_res = self.do_request(
423
+ hook_ctx=HookContext(
424
+ config=self.sdk_configuration,
425
+ base_url=base_url or "",
426
+ operation_id="update-tag",
427
+ oauth2_scopes=None,
428
+ security_source=get_security_from_env(
429
+ self.sdk_configuration.security, models.Security
430
+ ),
431
+ ),
432
+ request=req,
433
+ error_status_codes=["4XX", "5XX"],
434
+ retry_config=retry_config,
435
+ )
436
+
437
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
438
+ return unmarshal_json_response(models.CustomTag, http_res)
439
+ if utils.match_response(http_res, "4XX", "*"):
440
+ http_res_text = utils.stream_to_text(http_res)
441
+ raise models.APIError("API error occurred", http_res, http_res_text)
442
+ if utils.match_response(http_res, "5XX", "*"):
443
+ http_res_text = utils.stream_to_text(http_res)
444
+ raise models.APIError("API error occurred", http_res, http_res_text)
445
+
446
+ raise models.APIError("Unexpected response received", http_res)
447
+
448
+ async def update_async(
449
+ self,
450
+ *,
451
+ tag_id: str,
452
+ data: Optional[
453
+ Union[models.UpdateTagTagsData, models.UpdateTagTagsDataTypedDict]
454
+ ] = None,
455
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
456
+ server_url: Optional[str] = None,
457
+ timeout_ms: Optional[int] = None,
458
+ http_headers: Optional[Mapping[str, str]] = None,
459
+ ) -> models.CustomTag:
460
+ r"""Update Tag
461
+
462
+ Update a Tag in the team.
463
+
464
+
465
+ :param tag_id:
466
+ :param data:
467
+ :param retries: Override the default retry configuration for this method
468
+ :param server_url: Override the default server URL for this method
469
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
470
+ :param http_headers: Additional headers to set or replace on requests.
471
+ """
472
+ base_url = None
473
+ url_variables = None
474
+ if timeout_ms is None:
475
+ timeout_ms = self.sdk_configuration.timeout_ms
476
+
477
+ if server_url is not None:
478
+ base_url = server_url
479
+ else:
480
+ base_url = self._get_url(base_url, url_variables)
481
+
482
+ request = models.UpdateTagRequest(
483
+ tag_id=tag_id,
484
+ request_body=models.UpdateTagTagsRequestBody(
485
+ data=utils.get_pydantic_model(data, Optional[models.UpdateTagTagsData]),
486
+ ),
487
+ )
488
+
489
+ req = self._build_request_async(
490
+ method="PATCH",
491
+ path="/tags/{tag_id}",
492
+ base_url=base_url,
493
+ url_variables=url_variables,
494
+ request=request,
495
+ request_body_required=True,
496
+ request_has_path_params=True,
497
+ request_has_query_params=True,
498
+ user_agent_header="user-agent",
499
+ accept_header_value="application/vnd.api+json",
500
+ http_headers=http_headers,
501
+ security=self.sdk_configuration.security,
502
+ get_serialized_body=lambda: utils.serialize_request_body(
503
+ request.request_body,
504
+ False,
505
+ False,
506
+ "json",
507
+ models.UpdateTagTagsRequestBody,
508
+ ),
509
+ allow_empty_value=None,
510
+ timeout_ms=timeout_ms,
511
+ )
512
+
513
+ if retries == UNSET:
514
+ if self.sdk_configuration.retry_config is not UNSET:
515
+ retries = self.sdk_configuration.retry_config
516
+
517
+ retry_config = None
518
+ if isinstance(retries, utils.RetryConfig):
519
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
520
+
521
+ http_res = await self.do_request_async(
522
+ hook_ctx=HookContext(
523
+ config=self.sdk_configuration,
524
+ base_url=base_url or "",
525
+ operation_id="update-tag",
526
+ oauth2_scopes=None,
527
+ security_source=get_security_from_env(
528
+ self.sdk_configuration.security, models.Security
529
+ ),
530
+ ),
531
+ request=req,
532
+ error_status_codes=["4XX", "5XX"],
533
+ retry_config=retry_config,
534
+ )
535
+
536
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
537
+ return unmarshal_json_response(models.CustomTag, http_res)
538
+ if utils.match_response(http_res, "4XX", "*"):
539
+ http_res_text = await utils.stream_to_text_async(http_res)
540
+ raise models.APIError("API error occurred", http_res, http_res_text)
541
+ if utils.match_response(http_res, "5XX", "*"):
542
+ http_res_text = await utils.stream_to_text_async(http_res)
543
+ raise models.APIError("API error occurred", http_res, http_res_text)
544
+
545
+ raise models.APIError("Unexpected response received", http_res)
546
+
547
+ def delete(
548
+ self,
549
+ *,
550
+ tag_id: str,
551
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
552
+ server_url: Optional[str] = None,
553
+ timeout_ms: Optional[int] = None,
554
+ http_headers: Optional[Mapping[str, str]] = None,
555
+ ):
556
+ r"""Delete Tag
557
+
558
+ Update a Tag in the team.
559
+
560
+
561
+ :param tag_id:
562
+ :param retries: Override the default retry configuration for this method
563
+ :param server_url: Override the default server URL for this method
564
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
565
+ :param http_headers: Additional headers to set or replace on requests.
566
+ """
567
+ base_url = None
568
+ url_variables = None
569
+ if timeout_ms is None:
570
+ timeout_ms = self.sdk_configuration.timeout_ms
571
+
572
+ if server_url is not None:
573
+ base_url = server_url
574
+ else:
575
+ base_url = self._get_url(base_url, url_variables)
576
+
577
+ request = models.DestroyTagRequest(
578
+ tag_id=tag_id,
579
+ )
580
+
581
+ req = self._build_request(
582
+ method="DELETE",
583
+ path="/tags/{tag_id}",
584
+ base_url=base_url,
585
+ url_variables=url_variables,
586
+ request=request,
587
+ request_body_required=False,
588
+ request_has_path_params=True,
589
+ request_has_query_params=True,
590
+ user_agent_header="user-agent",
591
+ accept_header_value="*/*",
592
+ http_headers=http_headers,
593
+ security=self.sdk_configuration.security,
594
+ allow_empty_value=None,
595
+ timeout_ms=timeout_ms,
596
+ )
597
+
598
+ if retries == UNSET:
599
+ if self.sdk_configuration.retry_config is not UNSET:
600
+ retries = self.sdk_configuration.retry_config
601
+
602
+ retry_config = None
603
+ if isinstance(retries, utils.RetryConfig):
604
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
605
+
606
+ http_res = self.do_request(
607
+ hook_ctx=HookContext(
608
+ config=self.sdk_configuration,
609
+ base_url=base_url or "",
610
+ operation_id="destroy-tag",
611
+ oauth2_scopes=None,
612
+ security_source=get_security_from_env(
613
+ self.sdk_configuration.security, models.Security
614
+ ),
615
+ ),
616
+ request=req,
617
+ error_status_codes=["4XX", "5XX"],
618
+ retry_config=retry_config,
619
+ )
620
+
621
+ if utils.match_response(http_res, "204", "*"):
622
+ return
623
+ if utils.match_response(http_res, "4XX", "*"):
624
+ http_res_text = utils.stream_to_text(http_res)
625
+ raise models.APIError("API error occurred", http_res, http_res_text)
626
+ if utils.match_response(http_res, "5XX", "*"):
627
+ http_res_text = utils.stream_to_text(http_res)
628
+ raise models.APIError("API error occurred", http_res, http_res_text)
629
+
630
+ raise models.APIError("Unexpected response received", http_res)
631
+
632
+ async def delete_async(
633
+ self,
634
+ *,
635
+ tag_id: str,
636
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
637
+ server_url: Optional[str] = None,
638
+ timeout_ms: Optional[int] = None,
639
+ http_headers: Optional[Mapping[str, str]] = None,
640
+ ):
641
+ r"""Delete Tag
642
+
643
+ Update a Tag in the team.
644
+
645
+
646
+ :param tag_id:
647
+ :param retries: Override the default retry configuration for this method
648
+ :param server_url: Override the default server URL for this method
649
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
650
+ :param http_headers: Additional headers to set or replace on requests.
651
+ """
652
+ base_url = None
653
+ url_variables = None
654
+ if timeout_ms is None:
655
+ timeout_ms = self.sdk_configuration.timeout_ms
656
+
657
+ if server_url is not None:
658
+ base_url = server_url
659
+ else:
660
+ base_url = self._get_url(base_url, url_variables)
661
+
662
+ request = models.DestroyTagRequest(
663
+ tag_id=tag_id,
664
+ )
665
+
666
+ req = self._build_request_async(
667
+ method="DELETE",
668
+ path="/tags/{tag_id}",
669
+ base_url=base_url,
670
+ url_variables=url_variables,
671
+ request=request,
672
+ request_body_required=False,
673
+ request_has_path_params=True,
674
+ request_has_query_params=True,
675
+ user_agent_header="user-agent",
676
+ accept_header_value="*/*",
677
+ http_headers=http_headers,
678
+ security=self.sdk_configuration.security,
679
+ allow_empty_value=None,
680
+ timeout_ms=timeout_ms,
681
+ )
682
+
683
+ if retries == UNSET:
684
+ if self.sdk_configuration.retry_config is not UNSET:
685
+ retries = self.sdk_configuration.retry_config
686
+
687
+ retry_config = None
688
+ if isinstance(retries, utils.RetryConfig):
689
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
690
+
691
+ http_res = await self.do_request_async(
692
+ hook_ctx=HookContext(
693
+ config=self.sdk_configuration,
694
+ base_url=base_url or "",
695
+ operation_id="destroy-tag",
696
+ oauth2_scopes=None,
697
+ security_source=get_security_from_env(
698
+ self.sdk_configuration.security, models.Security
699
+ ),
700
+ ),
701
+ request=req,
702
+ error_status_codes=["4XX", "5XX"],
703
+ retry_config=retry_config,
704
+ )
705
+
706
+ if utils.match_response(http_res, "204", "*"):
707
+ return
708
+ if utils.match_response(http_res, "4XX", "*"):
709
+ http_res_text = await utils.stream_to_text_async(http_res)
710
+ raise models.APIError("API error occurred", http_res, http_res_text)
711
+ if utils.match_response(http_res, "5XX", "*"):
712
+ http_res_text = await utils.stream_to_text_async(http_res)
713
+ raise models.APIError("API error occurred", http_res, http_res_text)
714
+
715
+ raise models.APIError("Unexpected response received", http_res)