latitudesh-python-sdk 0.0.6__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 latitudesh-python-sdk might be problematic. Click here for more details.

Files changed (206) 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 +106 -0
  6. latitudesh_python_sdk/_version.py +15 -0
  7. latitudesh_python_sdk/apikeys.py +802 -0
  8. latitudesh_python_sdk/basesdk.py +366 -0
  9. latitudesh_python_sdk/billing.py +210 -0
  10. latitudesh_python_sdk/events_sdk.py +240 -0
  11. latitudesh_python_sdk/firewalls_sdk.py +1640 -0
  12. latitudesh_python_sdk/httpclient.py +136 -0
  13. latitudesh_python_sdk/ipaddresses_sdk.py +448 -0
  14. latitudesh_python_sdk/models/__init__.py +1927 -0
  15. latitudesh_python_sdk/models/api_key.py +81 -0
  16. latitudesh_python_sdk/models/apierror.py +22 -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.py +72 -0
  20. latitudesh_python_sdk/models/bandwidth_plans.py +15 -0
  21. latitudesh_python_sdk/models/billing_usage.py +158 -0
  22. latitudesh_python_sdk/models/create_api_key.py +40 -0
  23. latitudesh_python_sdk/models/create_firewall_assignmentop.py +61 -0
  24. latitudesh_python_sdk/models/create_firewallop.py +69 -0
  25. latitudesh_python_sdk/models/create_ipmi_sessionop.py +16 -0
  26. latitudesh_python_sdk/models/create_projectop.py +79 -0
  27. latitudesh_python_sdk/models/create_server_actionop.py +69 -0
  28. latitudesh_python_sdk/models/create_server_out_of_bandop.py +61 -0
  29. latitudesh_python_sdk/models/create_server_reinstallop.py +140 -0
  30. latitudesh_python_sdk/models/create_serverop.py +173 -0
  31. latitudesh_python_sdk/models/create_tagop.py +50 -0
  32. latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
  33. latitudesh_python_sdk/models/custom_tag.py +54 -0
  34. latitudesh_python_sdk/models/delete_api_keyop.py +16 -0
  35. latitudesh_python_sdk/models/delete_firewall_assignmentop.py +25 -0
  36. latitudesh_python_sdk/models/delete_firewallop.py +18 -0
  37. latitudesh_python_sdk/models/delete_project_ssh_keyop.py +23 -0
  38. latitudesh_python_sdk/models/delete_project_user_dataop.py +23 -0
  39. latitudesh_python_sdk/models/delete_projectop.py +18 -0
  40. latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
  41. latitudesh_python_sdk/models/delete_virtual_networks_assignmentsop.py +16 -0
  42. latitudesh_python_sdk/models/delete_vpn_sessionop.py +16 -0
  43. latitudesh_python_sdk/models/deploy_config.py +74 -0
  44. latitudesh_python_sdk/models/destroy_serverop.py +31 -0
  45. latitudesh_python_sdk/models/destroy_tagop.py +16 -0
  46. latitudesh_python_sdk/models/destroy_team_memberop.py +18 -0
  47. latitudesh_python_sdk/models/destroy_virtual_machineop.py +16 -0
  48. latitudesh_python_sdk/models/destroy_virtual_networkop.py +18 -0
  49. latitudesh_python_sdk/models/error_object.py +49 -0
  50. latitudesh_python_sdk/models/events.py +90 -0
  51. latitudesh_python_sdk/models/filesystem_data.py +53 -0
  52. latitudesh_python_sdk/models/firewall.py +71 -0
  53. latitudesh_python_sdk/models/firewall_server.py +50 -0
  54. latitudesh_python_sdk/models/firewalls.py +26 -0
  55. latitudesh_python_sdk/models/get_bandwidth_plansop.py +33 -0
  56. latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
  57. latitudesh_python_sdk/models/get_eventsop.py +98 -0
  58. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +18 -0
  59. latitudesh_python_sdk/models/get_firewallop.py +18 -0
  60. latitudesh_python_sdk/models/get_ipop.py +33 -0
  61. latitudesh_python_sdk/models/get_ipsop.py +91 -0
  62. latitudesh_python_sdk/models/get_planop.py +16 -0
  63. latitudesh_python_sdk/models/get_plans_operating_systemop.py +19 -0
  64. latitudesh_python_sdk/models/get_plansop.py +125 -0
  65. latitudesh_python_sdk/models/get_project_ssh_keyop.py +37 -0
  66. latitudesh_python_sdk/models/get_project_ssh_keysop.py +33 -0
  67. latitudesh_python_sdk/models/get_project_user_dataop.py +38 -0
  68. latitudesh_python_sdk/models/get_project_users_dataop.py +46 -0
  69. latitudesh_python_sdk/models/get_projectsop.py +76 -0
  70. latitudesh_python_sdk/models/get_regionop.py +18 -0
  71. latitudesh_python_sdk/models/get_role_idop.py +16 -0
  72. latitudesh_python_sdk/models/get_rolesop.py +19 -0
  73. latitudesh_python_sdk/models/get_server_deploy_configop.py +18 -0
  74. latitudesh_python_sdk/models/get_server_out_of_bandop.py +18 -0
  75. latitudesh_python_sdk/models/get_serverop.py +33 -0
  76. latitudesh_python_sdk/models/get_serversop.py +156 -0
  77. latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
  78. latitudesh_python_sdk/models/get_traffic_consumptionop.py +45 -0
  79. latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
  80. latitudesh_python_sdk/models/get_user_profileop.py +19 -0
  81. latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
  82. latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +40 -0
  83. latitudesh_python_sdk/models/get_virtual_networksop.py +40 -0
  84. latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
  85. latitudesh_python_sdk/models/index_virtual_machineop.py +22 -0
  86. latitudesh_python_sdk/models/ip_address.py +122 -0
  87. latitudesh_python_sdk/models/ip_addresses.py +15 -0
  88. latitudesh_python_sdk/models/ipmi_session.py +53 -0
  89. latitudesh_python_sdk/models/list_firewallsop.py +20 -0
  90. latitudesh_python_sdk/models/membership.py +63 -0
  91. latitudesh_python_sdk/models/operating_systems.py +57 -0
  92. latitudesh_python_sdk/models/out_of_band_connection.py +88 -0
  93. latitudesh_python_sdk/models/patch_current_teamop.py +91 -0
  94. latitudesh_python_sdk/models/patch_storage_filesystemsop.py +79 -0
  95. latitudesh_python_sdk/models/patch_user_profileop.py +88 -0
  96. latitudesh_python_sdk/models/plan.py +15 -0
  97. latitudesh_python_sdk/models/plan_data.py +206 -0
  98. latitudesh_python_sdk/models/post_api_keyop.py +19 -0
  99. latitudesh_python_sdk/models/post_project_ssh_keyop.py +81 -0
  100. latitudesh_python_sdk/models/post_project_user_dataop.py +68 -0
  101. latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
  102. latitudesh_python_sdk/models/post_team_membersop.py +54 -0
  103. latitudesh_python_sdk/models/post_teamop.py +67 -0
  104. latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
  105. latitudesh_python_sdk/models/project.py +130 -0
  106. latitudesh_python_sdk/models/project_include.py +72 -0
  107. latitudesh_python_sdk/models/projects.py +15 -0
  108. latitudesh_python_sdk/models/put_project_ssh_keyop.py +87 -0
  109. latitudesh_python_sdk/models/put_project_user_dataop.py +76 -0
  110. latitudesh_python_sdk/models/put_vpn_sessionop.py +16 -0
  111. latitudesh_python_sdk/models/region.py +50 -0
  112. latitudesh_python_sdk/models/region_resource_data.py +37 -0
  113. latitudesh_python_sdk/models/regions.py +50 -0
  114. latitudesh_python_sdk/models/role.py +15 -0
  115. latitudesh_python_sdk/models/role_data.py +35 -0
  116. latitudesh_python_sdk/models/security.py +25 -0
  117. latitudesh_python_sdk/models/server.py +54 -0
  118. latitudesh_python_sdk/models/server_action.py +52 -0
  119. latitudesh_python_sdk/models/server_data.py +219 -0
  120. latitudesh_python_sdk/models/server_exit_rescue_modeop.py +16 -0
  121. latitudesh_python_sdk/models/server_lockop.py +16 -0
  122. latitudesh_python_sdk/models/server_rescue.py +22 -0
  123. latitudesh_python_sdk/models/server_schedule_deletion.py +44 -0
  124. latitudesh_python_sdk/models/server_schedule_deletionop.py +16 -0
  125. latitudesh_python_sdk/models/server_start_rescue_modeop.py +16 -0
  126. latitudesh_python_sdk/models/server_unlockop.py +16 -0
  127. latitudesh_python_sdk/models/server_unschedule_deletionop.py +16 -0
  128. latitudesh_python_sdk/models/servers.py +26 -0
  129. latitudesh_python_sdk/models/show_virtual_machineop.py +16 -0
  130. latitudesh_python_sdk/models/ssh_key.py +15 -0
  131. latitudesh_python_sdk/models/ssh_key_data.py +55 -0
  132. latitudesh_python_sdk/models/storage_plan.py +36 -0
  133. latitudesh_python_sdk/models/storage_plans.py +15 -0
  134. latitudesh_python_sdk/models/team.py +74 -0
  135. latitudesh_python_sdk/models/team_include.py +43 -0
  136. latitudesh_python_sdk/models/team_members.py +51 -0
  137. latitudesh_python_sdk/models/teams.py +26 -0
  138. latitudesh_python_sdk/models/traffic.py +133 -0
  139. latitudesh_python_sdk/models/traffic_quota.py +106 -0
  140. latitudesh_python_sdk/models/update_api_key.py +48 -0
  141. latitudesh_python_sdk/models/update_api_keyop.py +41 -0
  142. latitudesh_python_sdk/models/update_firewallop.py +89 -0
  143. latitudesh_python_sdk/models/update_plans_bandwidthop.py +50 -0
  144. latitudesh_python_sdk/models/update_projectop.py +95 -0
  145. latitudesh_python_sdk/models/update_server_deploy_configop.py +122 -0
  146. latitudesh_python_sdk/models/update_serverop.py +69 -0
  147. latitudesh_python_sdk/models/update_tagop.py +74 -0
  148. latitudesh_python_sdk/models/update_virtual_networkop.py +67 -0
  149. latitudesh_python_sdk/models/user.py +59 -0
  150. latitudesh_python_sdk/models/user_data.py +15 -0
  151. latitudesh_python_sdk/models/user_data_properties.py +46 -0
  152. latitudesh_python_sdk/models/user_include.py +52 -0
  153. latitudesh_python_sdk/models/user_team.py +61 -0
  154. latitudesh_python_sdk/models/user_teams.py +26 -0
  155. latitudesh_python_sdk/models/user_update.py +37 -0
  156. latitudesh_python_sdk/models/virtual_machine.py +25 -0
  157. latitudesh_python_sdk/models/virtual_machine_payload.py +41 -0
  158. latitudesh_python_sdk/models/virtual_machine_plans.py +180 -0
  159. latitudesh_python_sdk/models/virtual_network.py +103 -0
  160. latitudesh_python_sdk/models/virtual_network1.py +84 -0
  161. latitudesh_python_sdk/models/virtual_network_assignment.py +37 -0
  162. latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
  163. latitudesh_python_sdk/models/virtual_networks.py +26 -0
  164. latitudesh_python_sdk/models/vpn_session_data_with_password.py +77 -0
  165. latitudesh_python_sdk/models/vpn_session_with_password.py +18 -0
  166. latitudesh_python_sdk/operatingsystems_sdk.py +188 -0
  167. latitudesh_python_sdk/plans.py +1178 -0
  168. latitudesh_python_sdk/privatenetworks.py +1672 -0
  169. latitudesh_python_sdk/projects_sdk.py +864 -0
  170. latitudesh_python_sdk/py.typed +1 -0
  171. latitudesh_python_sdk/regions_sdk.py +376 -0
  172. latitudesh_python_sdk/roles.py +374 -0
  173. latitudesh_python_sdk/sdk.py +214 -0
  174. latitudesh_python_sdk/sdkconfiguration.py +57 -0
  175. latitudesh_python_sdk/servers_sdk.py +3810 -0
  176. latitudesh_python_sdk/sshkeys.py +1050 -0
  177. latitudesh_python_sdk/storage.py +820 -0
  178. latitudesh_python_sdk/tags.py +786 -0
  179. latitudesh_python_sdk/teams_sdk.py +596 -0
  180. latitudesh_python_sdk/teamsmembers.py +578 -0
  181. latitudesh_python_sdk/traffic_sdk.py +400 -0
  182. latitudesh_python_sdk/types/__init__.py +21 -0
  183. latitudesh_python_sdk/types/basemodel.py +39 -0
  184. latitudesh_python_sdk/userdata_sdk.py +1052 -0
  185. latitudesh_python_sdk/userprofile.py +596 -0
  186. latitudesh_python_sdk/utils/__init__.py +101 -0
  187. latitudesh_python_sdk/utils/annotations.py +55 -0
  188. latitudesh_python_sdk/utils/enums.py +34 -0
  189. latitudesh_python_sdk/utils/eventstreaming.py +238 -0
  190. latitudesh_python_sdk/utils/forms.py +202 -0
  191. latitudesh_python_sdk/utils/headers.py +136 -0
  192. latitudesh_python_sdk/utils/logger.py +27 -0
  193. latitudesh_python_sdk/utils/metadata.py +118 -0
  194. latitudesh_python_sdk/utils/queryparams.py +205 -0
  195. latitudesh_python_sdk/utils/requestbodies.py +66 -0
  196. latitudesh_python_sdk/utils/retries.py +217 -0
  197. latitudesh_python_sdk/utils/security.py +192 -0
  198. latitudesh_python_sdk/utils/serializers.py +219 -0
  199. latitudesh_python_sdk/utils/url.py +155 -0
  200. latitudesh_python_sdk/utils/values.py +137 -0
  201. latitudesh_python_sdk/virtualmachines.py +772 -0
  202. latitudesh_python_sdk/vpnsessions.py +818 -0
  203. latitudesh_python_sdk-0.0.6.dist-info/LICENSE +21 -0
  204. latitudesh_python_sdk-0.0.6.dist-info/METADATA +730 -0
  205. latitudesh_python_sdk-0.0.6.dist-info/RECORD +206 -0
  206. latitudesh_python_sdk-0.0.6.dist-info/WHEEL +4 -0
@@ -0,0 +1,400 @@
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 typing import Any, Mapping, Optional
9
+
10
+
11
+ class TrafficSDK(BaseSDK):
12
+ def get(
13
+ self,
14
+ *,
15
+ filter_date_gte: str,
16
+ filter_date_lte: str,
17
+ filter_server: Optional[int] = None,
18
+ filter_project: Optional[int] = None,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> models.Traffic:
24
+ r"""Retrieve Traffic consumption
25
+
26
+ :param filter_date_gte: The start timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-01T00:00:00Z
27
+ :param filter_date_lte: The end timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-31T23:59:59Z
28
+ :param filter_server:
29
+ :param filter_project:
30
+ :param retries: Override the default retry configuration for this method
31
+ :param server_url: Override the default server URL for this method
32
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
33
+ :param http_headers: Additional headers to set or replace on requests.
34
+ """
35
+ base_url = None
36
+ url_variables = None
37
+ if timeout_ms is None:
38
+ timeout_ms = self.sdk_configuration.timeout_ms
39
+
40
+ if server_url is not None:
41
+ base_url = server_url
42
+ else:
43
+ base_url = self._get_url(base_url, url_variables)
44
+
45
+ request = models.GetTrafficConsumptionRequest(
46
+ filter_server=filter_server,
47
+ filter_project=filter_project,
48
+ filter_date_gte=filter_date_gte,
49
+ filter_date_lte=filter_date_lte,
50
+ )
51
+
52
+ req = self._build_request(
53
+ method="GET",
54
+ path="/traffic",
55
+ base_url=base_url,
56
+ url_variables=url_variables,
57
+ request=request,
58
+ request_body_required=False,
59
+ request_has_path_params=False,
60
+ request_has_query_params=True,
61
+ user_agent_header="user-agent",
62
+ accept_header_value="application/vnd.api+json",
63
+ http_headers=http_headers,
64
+ security=self.sdk_configuration.security,
65
+ timeout_ms=timeout_ms,
66
+ )
67
+
68
+ if retries == UNSET:
69
+ if self.sdk_configuration.retry_config is not UNSET:
70
+ retries = self.sdk_configuration.retry_config
71
+
72
+ retry_config = None
73
+ if isinstance(retries, utils.RetryConfig):
74
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
75
+
76
+ http_res = self.do_request(
77
+ hook_ctx=HookContext(
78
+ base_url=base_url or "",
79
+ operation_id="get-traffic-consumption",
80
+ oauth2_scopes=[],
81
+ security_source=get_security_from_env(
82
+ self.sdk_configuration.security, models.Security
83
+ ),
84
+ ),
85
+ request=req,
86
+ error_status_codes=["422", "4XX", "5XX"],
87
+ retry_config=retry_config,
88
+ )
89
+
90
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
91
+ return utils.unmarshal_json(http_res.text, models.Traffic)
92
+ if utils.match_response(http_res, ["422", "4XX"], "*"):
93
+ http_res_text = utils.stream_to_text(http_res)
94
+ raise models.APIError(
95
+ "API error occurred", http_res.status_code, http_res_text, http_res
96
+ )
97
+ if utils.match_response(http_res, "5XX", "*"):
98
+ http_res_text = utils.stream_to_text(http_res)
99
+ raise models.APIError(
100
+ "API error occurred", http_res.status_code, http_res_text, http_res
101
+ )
102
+
103
+ content_type = http_res.headers.get("Content-Type")
104
+ http_res_text = utils.stream_to_text(http_res)
105
+ raise models.APIError(
106
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
107
+ http_res.status_code,
108
+ http_res_text,
109
+ http_res,
110
+ )
111
+
112
+ async def get_async(
113
+ self,
114
+ *,
115
+ filter_date_gte: str,
116
+ filter_date_lte: str,
117
+ filter_server: Optional[int] = None,
118
+ filter_project: Optional[int] = None,
119
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
120
+ server_url: Optional[str] = None,
121
+ timeout_ms: Optional[int] = None,
122
+ http_headers: Optional[Mapping[str, str]] = None,
123
+ ) -> models.Traffic:
124
+ r"""Retrieve Traffic consumption
125
+
126
+ :param filter_date_gte: The start timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-01T00:00:00Z
127
+ :param filter_date_lte: The end timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-31T23:59:59Z
128
+ :param filter_server:
129
+ :param filter_project:
130
+ :param retries: Override the default retry configuration for this method
131
+ :param server_url: Override the default server URL for this method
132
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
133
+ :param http_headers: Additional headers to set or replace on requests.
134
+ """
135
+ base_url = None
136
+ url_variables = None
137
+ if timeout_ms is None:
138
+ timeout_ms = self.sdk_configuration.timeout_ms
139
+
140
+ if server_url is not None:
141
+ base_url = server_url
142
+ else:
143
+ base_url = self._get_url(base_url, url_variables)
144
+
145
+ request = models.GetTrafficConsumptionRequest(
146
+ filter_server=filter_server,
147
+ filter_project=filter_project,
148
+ filter_date_gte=filter_date_gte,
149
+ filter_date_lte=filter_date_lte,
150
+ )
151
+
152
+ req = self._build_request_async(
153
+ method="GET",
154
+ path="/traffic",
155
+ base_url=base_url,
156
+ url_variables=url_variables,
157
+ request=request,
158
+ request_body_required=False,
159
+ request_has_path_params=False,
160
+ request_has_query_params=True,
161
+ user_agent_header="user-agent",
162
+ accept_header_value="application/vnd.api+json",
163
+ http_headers=http_headers,
164
+ security=self.sdk_configuration.security,
165
+ timeout_ms=timeout_ms,
166
+ )
167
+
168
+ if retries == UNSET:
169
+ if self.sdk_configuration.retry_config is not UNSET:
170
+ retries = self.sdk_configuration.retry_config
171
+
172
+ retry_config = None
173
+ if isinstance(retries, utils.RetryConfig):
174
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
175
+
176
+ http_res = await self.do_request_async(
177
+ hook_ctx=HookContext(
178
+ base_url=base_url or "",
179
+ operation_id="get-traffic-consumption",
180
+ oauth2_scopes=[],
181
+ security_source=get_security_from_env(
182
+ self.sdk_configuration.security, models.Security
183
+ ),
184
+ ),
185
+ request=req,
186
+ error_status_codes=["422", "4XX", "5XX"],
187
+ retry_config=retry_config,
188
+ )
189
+
190
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
191
+ return utils.unmarshal_json(http_res.text, models.Traffic)
192
+ if utils.match_response(http_res, ["422", "4XX"], "*"):
193
+ http_res_text = await utils.stream_to_text_async(http_res)
194
+ raise models.APIError(
195
+ "API error occurred", http_res.status_code, http_res_text, http_res
196
+ )
197
+ if utils.match_response(http_res, "5XX", "*"):
198
+ http_res_text = await utils.stream_to_text_async(http_res)
199
+ raise models.APIError(
200
+ "API error occurred", http_res.status_code, http_res_text, http_res
201
+ )
202
+
203
+ content_type = http_res.headers.get("Content-Type")
204
+ http_res_text = await utils.stream_to_text_async(http_res)
205
+ raise models.APIError(
206
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
207
+ http_res.status_code,
208
+ http_res_text,
209
+ http_res,
210
+ )
211
+
212
+ def get_quota(
213
+ self,
214
+ *,
215
+ filter_project: Optional[str] = None,
216
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
217
+ server_url: Optional[str] = None,
218
+ timeout_ms: Optional[int] = None,
219
+ http_headers: Optional[Mapping[str, str]] = None,
220
+ ) -> models.TrafficQuota:
221
+ r"""Retrieve Traffic Quota
222
+
223
+ :param filter_project:
224
+ :param retries: Override the default retry configuration for this method
225
+ :param server_url: Override the default server URL for this method
226
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
227
+ :param http_headers: Additional headers to set or replace on requests.
228
+ """
229
+ base_url = None
230
+ url_variables = None
231
+ if timeout_ms is None:
232
+ timeout_ms = self.sdk_configuration.timeout_ms
233
+
234
+ if server_url is not None:
235
+ base_url = server_url
236
+ else:
237
+ base_url = self._get_url(base_url, url_variables)
238
+
239
+ request = models.GetTrafficQuotaRequest(
240
+ filter_project=filter_project,
241
+ )
242
+
243
+ req = self._build_request(
244
+ method="GET",
245
+ path="/traffic/quota",
246
+ base_url=base_url,
247
+ url_variables=url_variables,
248
+ request=request,
249
+ request_body_required=False,
250
+ request_has_path_params=False,
251
+ request_has_query_params=True,
252
+ user_agent_header="user-agent",
253
+ accept_header_value="application/vnd.api+json",
254
+ http_headers=http_headers,
255
+ security=self.sdk_configuration.security,
256
+ timeout_ms=timeout_ms,
257
+ )
258
+
259
+ if retries == UNSET:
260
+ if self.sdk_configuration.retry_config is not UNSET:
261
+ retries = self.sdk_configuration.retry_config
262
+
263
+ retry_config = None
264
+ if isinstance(retries, utils.RetryConfig):
265
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
266
+
267
+ http_res = self.do_request(
268
+ hook_ctx=HookContext(
269
+ base_url=base_url or "",
270
+ operation_id="get-traffic-quota",
271
+ oauth2_scopes=[],
272
+ security_source=get_security_from_env(
273
+ self.sdk_configuration.security, models.Security
274
+ ),
275
+ ),
276
+ request=req,
277
+ error_status_codes=["4XX", "503", "5XX"],
278
+ retry_config=retry_config,
279
+ )
280
+
281
+ response_data: Any = None
282
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
283
+ return utils.unmarshal_json(http_res.text, models.TrafficQuota)
284
+ if utils.match_response(http_res, "503", "application/vnd.api+json"):
285
+ response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
286
+ raise models.ErrorObject(data=response_data)
287
+ if utils.match_response(http_res, "4XX", "*"):
288
+ http_res_text = utils.stream_to_text(http_res)
289
+ raise models.APIError(
290
+ "API error occurred", http_res.status_code, http_res_text, http_res
291
+ )
292
+ if utils.match_response(http_res, "5XX", "*"):
293
+ http_res_text = utils.stream_to_text(http_res)
294
+ raise models.APIError(
295
+ "API error occurred", http_res.status_code, http_res_text, http_res
296
+ )
297
+
298
+ content_type = http_res.headers.get("Content-Type")
299
+ http_res_text = utils.stream_to_text(http_res)
300
+ raise models.APIError(
301
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
302
+ http_res.status_code,
303
+ http_res_text,
304
+ http_res,
305
+ )
306
+
307
+ async def get_quota_async(
308
+ self,
309
+ *,
310
+ filter_project: Optional[str] = None,
311
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
312
+ server_url: Optional[str] = None,
313
+ timeout_ms: Optional[int] = None,
314
+ http_headers: Optional[Mapping[str, str]] = None,
315
+ ) -> models.TrafficQuota:
316
+ r"""Retrieve Traffic Quota
317
+
318
+ :param filter_project:
319
+ :param retries: Override the default retry configuration for this method
320
+ :param server_url: Override the default server URL for this method
321
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
322
+ :param http_headers: Additional headers to set or replace on requests.
323
+ """
324
+ base_url = None
325
+ url_variables = None
326
+ if timeout_ms is None:
327
+ timeout_ms = self.sdk_configuration.timeout_ms
328
+
329
+ if server_url is not None:
330
+ base_url = server_url
331
+ else:
332
+ base_url = self._get_url(base_url, url_variables)
333
+
334
+ request = models.GetTrafficQuotaRequest(
335
+ filter_project=filter_project,
336
+ )
337
+
338
+ req = self._build_request_async(
339
+ method="GET",
340
+ path="/traffic/quota",
341
+ base_url=base_url,
342
+ url_variables=url_variables,
343
+ request=request,
344
+ request_body_required=False,
345
+ request_has_path_params=False,
346
+ request_has_query_params=True,
347
+ user_agent_header="user-agent",
348
+ accept_header_value="application/vnd.api+json",
349
+ http_headers=http_headers,
350
+ security=self.sdk_configuration.security,
351
+ timeout_ms=timeout_ms,
352
+ )
353
+
354
+ if retries == UNSET:
355
+ if self.sdk_configuration.retry_config is not UNSET:
356
+ retries = self.sdk_configuration.retry_config
357
+
358
+ retry_config = None
359
+ if isinstance(retries, utils.RetryConfig):
360
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
361
+
362
+ http_res = await self.do_request_async(
363
+ hook_ctx=HookContext(
364
+ base_url=base_url or "",
365
+ operation_id="get-traffic-quota",
366
+ oauth2_scopes=[],
367
+ security_source=get_security_from_env(
368
+ self.sdk_configuration.security, models.Security
369
+ ),
370
+ ),
371
+ request=req,
372
+ error_status_codes=["4XX", "503", "5XX"],
373
+ retry_config=retry_config,
374
+ )
375
+
376
+ response_data: Any = None
377
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
378
+ return utils.unmarshal_json(http_res.text, models.TrafficQuota)
379
+ if utils.match_response(http_res, "503", "application/vnd.api+json"):
380
+ response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
381
+ raise models.ErrorObject(data=response_data)
382
+ if utils.match_response(http_res, "4XX", "*"):
383
+ http_res_text = await utils.stream_to_text_async(http_res)
384
+ raise models.APIError(
385
+ "API error occurred", http_res.status_code, http_res_text, http_res
386
+ )
387
+ if utils.match_response(http_res, "5XX", "*"):
388
+ http_res_text = await utils.stream_to_text_async(http_res)
389
+ raise models.APIError(
390
+ "API error occurred", http_res.status_code, http_res_text, http_res
391
+ )
392
+
393
+ content_type = http_res.headers.get("Content-Type")
394
+ http_res_text = await utils.stream_to_text_async(http_res)
395
+ raise models.APIError(
396
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
397
+ http_res.status_code,
398
+ http_res_text,
399
+ http_res,
400
+ )
@@ -0,0 +1,21 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basemodel import (
4
+ BaseModel,
5
+ Nullable,
6
+ OptionalNullable,
7
+ UnrecognizedInt,
8
+ UnrecognizedStr,
9
+ UNSET,
10
+ UNSET_SENTINEL,
11
+ )
12
+
13
+ __all__ = [
14
+ "BaseModel",
15
+ "Nullable",
16
+ "OptionalNullable",
17
+ "UnrecognizedInt",
18
+ "UnrecognizedStr",
19
+ "UNSET",
20
+ "UNSET_SENTINEL",
21
+ ]
@@ -0,0 +1,39 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from pydantic import ConfigDict, model_serializer
4
+ from pydantic import BaseModel as PydanticBaseModel
5
+ from typing import TYPE_CHECKING, Literal, Optional, TypeVar, Union, NewType
6
+ from typing_extensions import TypeAliasType, TypeAlias
7
+
8
+
9
+ class BaseModel(PydanticBaseModel):
10
+ model_config = ConfigDict(
11
+ populate_by_name=True, arbitrary_types_allowed=True, protected_namespaces=()
12
+ )
13
+
14
+
15
+ class Unset(BaseModel):
16
+ @model_serializer(mode="plain")
17
+ def serialize_model(self):
18
+ return UNSET_SENTINEL
19
+
20
+ def __bool__(self) -> Literal[False]:
21
+ return False
22
+
23
+
24
+ UNSET = Unset()
25
+ UNSET_SENTINEL = "~?~unset~?~sentinel~?~"
26
+
27
+
28
+ T = TypeVar("T")
29
+ if TYPE_CHECKING:
30
+ Nullable: TypeAlias = Union[T, None]
31
+ OptionalNullable: TypeAlias = Union[Optional[Nullable[T]], Unset]
32
+ else:
33
+ Nullable = TypeAliasType("Nullable", Union[T, None], type_params=(T,))
34
+ OptionalNullable = TypeAliasType(
35
+ "OptionalNullable", Union[Optional[Nullable[T]], Unset], type_params=(T,)
36
+ )
37
+
38
+ UnrecognizedInt = NewType("UnrecognizedInt", int)
39
+ UnrecognizedStr = NewType("UnrecognizedStr", str)