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,531 @@
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 UserProfile(BaseSDK):
13
+ def get(
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.GetUserProfileResponseBody:
21
+ r"""Get user profile
22
+
23
+ Retrieve the current user profile
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="/user/profile",
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-user-profile",
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.GetUserProfileResponseBody, 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 get_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.GetUserProfileResponseBody:
99
+ r"""Get user profile
100
+
101
+ Retrieve the current user profile
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="/user/profile",
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-user-profile",
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.GetUserProfileResponseBody, 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 update(
170
+ self,
171
+ *,
172
+ id: str,
173
+ data: Union[
174
+ models.PatchUserProfileUserProfileData,
175
+ models.PatchUserProfileUserProfileDataTypedDict,
176
+ ],
177
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
178
+ server_url: Optional[str] = None,
179
+ timeout_ms: Optional[int] = None,
180
+ http_headers: Optional[Mapping[str, str]] = None,
181
+ ) -> models.PatchUserProfileResponseBody:
182
+ r"""Update User Profile
183
+
184
+ Update the current user profile
185
+
186
+
187
+ :param id:
188
+ :param data:
189
+ :param retries: Override the default retry configuration for this method
190
+ :param server_url: Override the default server URL for this method
191
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
192
+ :param http_headers: Additional headers to set or replace on requests.
193
+ """
194
+ base_url = None
195
+ url_variables = None
196
+ if timeout_ms is None:
197
+ timeout_ms = self.sdk_configuration.timeout_ms
198
+
199
+ if server_url is not None:
200
+ base_url = server_url
201
+ else:
202
+ base_url = self._get_url(base_url, url_variables)
203
+
204
+ request = models.PatchUserProfileRequest(
205
+ id=id,
206
+ request_body=models.PatchUserProfileUserProfileRequestBody(
207
+ data=utils.get_pydantic_model(
208
+ data, models.PatchUserProfileUserProfileData
209
+ ),
210
+ ),
211
+ )
212
+
213
+ req = self._build_request(
214
+ method="PATCH",
215
+ path="/user/profile/{id}",
216
+ base_url=base_url,
217
+ url_variables=url_variables,
218
+ request=request,
219
+ request_body_required=True,
220
+ request_has_path_params=True,
221
+ request_has_query_params=True,
222
+ user_agent_header="user-agent",
223
+ accept_header_value="application/vnd.api+json",
224
+ http_headers=http_headers,
225
+ security=self.sdk_configuration.security,
226
+ get_serialized_body=lambda: utils.serialize_request_body(
227
+ request.request_body,
228
+ False,
229
+ False,
230
+ "json",
231
+ models.PatchUserProfileUserProfileRequestBody,
232
+ ),
233
+ allow_empty_value=None,
234
+ timeout_ms=timeout_ms,
235
+ )
236
+
237
+ if retries == UNSET:
238
+ if self.sdk_configuration.retry_config is not UNSET:
239
+ retries = self.sdk_configuration.retry_config
240
+
241
+ retry_config = None
242
+ if isinstance(retries, utils.RetryConfig):
243
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
244
+
245
+ http_res = self.do_request(
246
+ hook_ctx=HookContext(
247
+ config=self.sdk_configuration,
248
+ base_url=base_url or "",
249
+ operation_id="patch-user-profile",
250
+ oauth2_scopes=None,
251
+ security_source=get_security_from_env(
252
+ self.sdk_configuration.security, models.Security
253
+ ),
254
+ ),
255
+ request=req,
256
+ error_status_codes=["4XX", "5XX"],
257
+ retry_config=retry_config,
258
+ )
259
+
260
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
261
+ return unmarshal_json_response(
262
+ models.PatchUserProfileResponseBody, http_res
263
+ )
264
+ if utils.match_response(http_res, "4XX", "*"):
265
+ http_res_text = utils.stream_to_text(http_res)
266
+ raise models.APIError("API error occurred", http_res, http_res_text)
267
+ if utils.match_response(http_res, "5XX", "*"):
268
+ http_res_text = utils.stream_to_text(http_res)
269
+ raise models.APIError("API error occurred", http_res, http_res_text)
270
+
271
+ raise models.APIError("Unexpected response received", http_res)
272
+
273
+ async def update_async(
274
+ self,
275
+ *,
276
+ id: str,
277
+ data: Union[
278
+ models.PatchUserProfileUserProfileData,
279
+ models.PatchUserProfileUserProfileDataTypedDict,
280
+ ],
281
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
282
+ server_url: Optional[str] = None,
283
+ timeout_ms: Optional[int] = None,
284
+ http_headers: Optional[Mapping[str, str]] = None,
285
+ ) -> models.PatchUserProfileResponseBody:
286
+ r"""Update User Profile
287
+
288
+ Update the current user profile
289
+
290
+
291
+ :param id:
292
+ :param data:
293
+ :param retries: Override the default retry configuration for this method
294
+ :param server_url: Override the default server URL for this method
295
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
296
+ :param http_headers: Additional headers to set or replace on requests.
297
+ """
298
+ base_url = None
299
+ url_variables = None
300
+ if timeout_ms is None:
301
+ timeout_ms = self.sdk_configuration.timeout_ms
302
+
303
+ if server_url is not None:
304
+ base_url = server_url
305
+ else:
306
+ base_url = self._get_url(base_url, url_variables)
307
+
308
+ request = models.PatchUserProfileRequest(
309
+ id=id,
310
+ request_body=models.PatchUserProfileUserProfileRequestBody(
311
+ data=utils.get_pydantic_model(
312
+ data, models.PatchUserProfileUserProfileData
313
+ ),
314
+ ),
315
+ )
316
+
317
+ req = self._build_request_async(
318
+ method="PATCH",
319
+ path="/user/profile/{id}",
320
+ base_url=base_url,
321
+ url_variables=url_variables,
322
+ request=request,
323
+ request_body_required=True,
324
+ request_has_path_params=True,
325
+ request_has_query_params=True,
326
+ user_agent_header="user-agent",
327
+ accept_header_value="application/vnd.api+json",
328
+ http_headers=http_headers,
329
+ security=self.sdk_configuration.security,
330
+ get_serialized_body=lambda: utils.serialize_request_body(
331
+ request.request_body,
332
+ False,
333
+ False,
334
+ "json",
335
+ models.PatchUserProfileUserProfileRequestBody,
336
+ ),
337
+ allow_empty_value=None,
338
+ timeout_ms=timeout_ms,
339
+ )
340
+
341
+ if retries == UNSET:
342
+ if self.sdk_configuration.retry_config is not UNSET:
343
+ retries = self.sdk_configuration.retry_config
344
+
345
+ retry_config = None
346
+ if isinstance(retries, utils.RetryConfig):
347
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
348
+
349
+ http_res = await self.do_request_async(
350
+ hook_ctx=HookContext(
351
+ config=self.sdk_configuration,
352
+ base_url=base_url or "",
353
+ operation_id="patch-user-profile",
354
+ oauth2_scopes=None,
355
+ security_source=get_security_from_env(
356
+ self.sdk_configuration.security, models.Security
357
+ ),
358
+ ),
359
+ request=req,
360
+ error_status_codes=["4XX", "5XX"],
361
+ retry_config=retry_config,
362
+ )
363
+
364
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
365
+ return unmarshal_json_response(
366
+ models.PatchUserProfileResponseBody, http_res
367
+ )
368
+ if utils.match_response(http_res, "4XX", "*"):
369
+ http_res_text = await utils.stream_to_text_async(http_res)
370
+ raise models.APIError("API error occurred", http_res, http_res_text)
371
+ if utils.match_response(http_res, "5XX", "*"):
372
+ http_res_text = await utils.stream_to_text_async(http_res)
373
+ raise models.APIError("API error occurred", http_res, http_res_text)
374
+
375
+ raise models.APIError("Unexpected response received", http_res)
376
+
377
+ def list_teams(
378
+ self,
379
+ *,
380
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
381
+ server_url: Optional[str] = None,
382
+ timeout_ms: Optional[int] = None,
383
+ http_headers: Optional[Mapping[str, str]] = None,
384
+ ) -> models.UserTeams:
385
+ r"""List User Teams
386
+
387
+ Returns a list of all teams the user belongs to
388
+
389
+
390
+ :param retries: Override the default retry configuration for this method
391
+ :param server_url: Override the default server URL for this method
392
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
393
+ :param http_headers: Additional headers to set or replace on requests.
394
+ """
395
+ base_url = None
396
+ url_variables = None
397
+ if timeout_ms is None:
398
+ timeout_ms = self.sdk_configuration.timeout_ms
399
+
400
+ if server_url is not None:
401
+ base_url = server_url
402
+ else:
403
+ base_url = self._get_url(base_url, url_variables)
404
+ req = self._build_request(
405
+ method="GET",
406
+ path="/user/teams",
407
+ base_url=base_url,
408
+ url_variables=url_variables,
409
+ request=None,
410
+ request_body_required=False,
411
+ request_has_path_params=False,
412
+ request_has_query_params=True,
413
+ user_agent_header="user-agent",
414
+ accept_header_value="application/vnd.api+json",
415
+ http_headers=http_headers,
416
+ security=self.sdk_configuration.security,
417
+ allow_empty_value=None,
418
+ timeout_ms=timeout_ms,
419
+ )
420
+
421
+ if retries == UNSET:
422
+ if self.sdk_configuration.retry_config is not UNSET:
423
+ retries = self.sdk_configuration.retry_config
424
+
425
+ retry_config = None
426
+ if isinstance(retries, utils.RetryConfig):
427
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
428
+
429
+ http_res = self.do_request(
430
+ hook_ctx=HookContext(
431
+ config=self.sdk_configuration,
432
+ base_url=base_url or "",
433
+ operation_id="get-user-teams",
434
+ oauth2_scopes=None,
435
+ security_source=get_security_from_env(
436
+ self.sdk_configuration.security, models.Security
437
+ ),
438
+ ),
439
+ request=req,
440
+ error_status_codes=["4XX", "5XX"],
441
+ retry_config=retry_config,
442
+ )
443
+
444
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
445
+ return unmarshal_json_response(models.UserTeams, http_res)
446
+ if utils.match_response(http_res, "4XX", "*"):
447
+ http_res_text = utils.stream_to_text(http_res)
448
+ raise models.APIError("API error occurred", http_res, http_res_text)
449
+ if utils.match_response(http_res, "5XX", "*"):
450
+ http_res_text = utils.stream_to_text(http_res)
451
+ raise models.APIError("API error occurred", http_res, http_res_text)
452
+
453
+ raise models.APIError("Unexpected response received", http_res)
454
+
455
+ async def list_teams_async(
456
+ self,
457
+ *,
458
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
459
+ server_url: Optional[str] = None,
460
+ timeout_ms: Optional[int] = None,
461
+ http_headers: Optional[Mapping[str, str]] = None,
462
+ ) -> models.UserTeams:
463
+ r"""List User Teams
464
+
465
+ Returns a list of all teams the user belongs to
466
+
467
+
468
+ :param retries: Override the default retry configuration for this method
469
+ :param server_url: Override the default server URL for this method
470
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
471
+ :param http_headers: Additional headers to set or replace on requests.
472
+ """
473
+ base_url = None
474
+ url_variables = None
475
+ if timeout_ms is None:
476
+ timeout_ms = self.sdk_configuration.timeout_ms
477
+
478
+ if server_url is not None:
479
+ base_url = server_url
480
+ else:
481
+ base_url = self._get_url(base_url, url_variables)
482
+ req = self._build_request_async(
483
+ method="GET",
484
+ path="/user/teams",
485
+ base_url=base_url,
486
+ url_variables=url_variables,
487
+ request=None,
488
+ request_body_required=False,
489
+ request_has_path_params=False,
490
+ request_has_query_params=True,
491
+ user_agent_header="user-agent",
492
+ accept_header_value="application/vnd.api+json",
493
+ http_headers=http_headers,
494
+ security=self.sdk_configuration.security,
495
+ allow_empty_value=None,
496
+ timeout_ms=timeout_ms,
497
+ )
498
+
499
+ if retries == UNSET:
500
+ if self.sdk_configuration.retry_config is not UNSET:
501
+ retries = self.sdk_configuration.retry_config
502
+
503
+ retry_config = None
504
+ if isinstance(retries, utils.RetryConfig):
505
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
506
+
507
+ http_res = await self.do_request_async(
508
+ hook_ctx=HookContext(
509
+ config=self.sdk_configuration,
510
+ base_url=base_url or "",
511
+ operation_id="get-user-teams",
512
+ oauth2_scopes=None,
513
+ security_source=get_security_from_env(
514
+ self.sdk_configuration.security, models.Security
515
+ ),
516
+ ),
517
+ request=req,
518
+ error_status_codes=["4XX", "5XX"],
519
+ retry_config=retry_config,
520
+ )
521
+
522
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
523
+ return unmarshal_json_response(models.UserTeams, http_res)
524
+ if utils.match_response(http_res, "4XX", "*"):
525
+ http_res_text = await utils.stream_to_text_async(http_res)
526
+ raise models.APIError("API error occurred", http_res, http_res_text)
527
+ if utils.match_response(http_res, "5XX", "*"):
528
+ http_res_text = await utils.stream_to_text_async(http_res)
529
+ raise models.APIError("API error occurred", http_res, http_res_text)
530
+
531
+ raise models.APIError("Unexpected response received", http_res)