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,357 @@
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
10
+
11
+
12
+ class TrafficSDK(BaseSDK):
13
+ def get(
14
+ self,
15
+ *,
16
+ filter_date_gte: str,
17
+ filter_date_lte: str,
18
+ filter_server: Optional[str] = None,
19
+ filter_project: Optional[str] = None,
20
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
21
+ server_url: Optional[str] = None,
22
+ timeout_ms: Optional[int] = None,
23
+ http_headers: Optional[Mapping[str, str]] = None,
24
+ ) -> models.Traffic:
25
+ r"""Retrieve Traffic consumption
26
+
27
+ :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
28
+ :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
29
+ :param filter_server: The server id to filter by
30
+ :param filter_project: The project id to filter by
31
+ :param retries: Override the default retry configuration for this method
32
+ :param server_url: Override the default server URL for this method
33
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
34
+ :param http_headers: Additional headers to set or replace on requests.
35
+ """
36
+ base_url = None
37
+ url_variables = None
38
+ if timeout_ms is None:
39
+ timeout_ms = self.sdk_configuration.timeout_ms
40
+
41
+ if server_url is not None:
42
+ base_url = server_url
43
+ else:
44
+ base_url = self._get_url(base_url, url_variables)
45
+
46
+ request = models.GetTrafficConsumptionRequest(
47
+ filter_server=filter_server,
48
+ filter_project=filter_project,
49
+ filter_date_gte=filter_date_gte,
50
+ filter_date_lte=filter_date_lte,
51
+ )
52
+
53
+ req = self._build_request(
54
+ method="GET",
55
+ path="/traffic",
56
+ base_url=base_url,
57
+ url_variables=url_variables,
58
+ request=request,
59
+ request_body_required=False,
60
+ request_has_path_params=False,
61
+ request_has_query_params=True,
62
+ user_agent_header="user-agent",
63
+ accept_header_value="application/vnd.api+json",
64
+ http_headers=http_headers,
65
+ security=self.sdk_configuration.security,
66
+ allow_empty_value=None,
67
+ timeout_ms=timeout_ms,
68
+ )
69
+
70
+ if retries == UNSET:
71
+ if self.sdk_configuration.retry_config is not UNSET:
72
+ retries = self.sdk_configuration.retry_config
73
+
74
+ retry_config = None
75
+ if isinstance(retries, utils.RetryConfig):
76
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
77
+
78
+ http_res = self.do_request(
79
+ hook_ctx=HookContext(
80
+ config=self.sdk_configuration,
81
+ base_url=base_url or "",
82
+ operation_id="get-traffic-consumption",
83
+ oauth2_scopes=None,
84
+ security_source=get_security_from_env(
85
+ self.sdk_configuration.security, models.Security
86
+ ),
87
+ ),
88
+ request=req,
89
+ error_status_codes=["4XX", "5XX"],
90
+ retry_config=retry_config,
91
+ )
92
+
93
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
94
+ return unmarshal_json_response(models.Traffic, http_res)
95
+ if utils.match_response(http_res, "4XX", "*"):
96
+ http_res_text = utils.stream_to_text(http_res)
97
+ raise models.APIError("API error occurred", http_res, http_res_text)
98
+ if utils.match_response(http_res, "5XX", "*"):
99
+ http_res_text = utils.stream_to_text(http_res)
100
+ raise models.APIError("API error occurred", http_res, http_res_text)
101
+
102
+ raise models.APIError("Unexpected response received", http_res)
103
+
104
+ async def get_async(
105
+ self,
106
+ *,
107
+ filter_date_gte: str,
108
+ filter_date_lte: str,
109
+ filter_server: Optional[str] = None,
110
+ filter_project: Optional[str] = None,
111
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
112
+ server_url: Optional[str] = None,
113
+ timeout_ms: Optional[int] = None,
114
+ http_headers: Optional[Mapping[str, str]] = None,
115
+ ) -> models.Traffic:
116
+ r"""Retrieve Traffic consumption
117
+
118
+ :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
119
+ :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
120
+ :param filter_server: The server id to filter by
121
+ :param filter_project: The project id to filter by
122
+ :param retries: Override the default retry configuration for this method
123
+ :param server_url: Override the default server URL for this method
124
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
125
+ :param http_headers: Additional headers to set or replace on requests.
126
+ """
127
+ base_url = None
128
+ url_variables = None
129
+ if timeout_ms is None:
130
+ timeout_ms = self.sdk_configuration.timeout_ms
131
+
132
+ if server_url is not None:
133
+ base_url = server_url
134
+ else:
135
+ base_url = self._get_url(base_url, url_variables)
136
+
137
+ request = models.GetTrafficConsumptionRequest(
138
+ filter_server=filter_server,
139
+ filter_project=filter_project,
140
+ filter_date_gte=filter_date_gte,
141
+ filter_date_lte=filter_date_lte,
142
+ )
143
+
144
+ req = self._build_request_async(
145
+ method="GET",
146
+ path="/traffic",
147
+ base_url=base_url,
148
+ url_variables=url_variables,
149
+ request=request,
150
+ request_body_required=False,
151
+ request_has_path_params=False,
152
+ request_has_query_params=True,
153
+ user_agent_header="user-agent",
154
+ accept_header_value="application/vnd.api+json",
155
+ http_headers=http_headers,
156
+ security=self.sdk_configuration.security,
157
+ allow_empty_value=None,
158
+ timeout_ms=timeout_ms,
159
+ )
160
+
161
+ if retries == UNSET:
162
+ if self.sdk_configuration.retry_config is not UNSET:
163
+ retries = self.sdk_configuration.retry_config
164
+
165
+ retry_config = None
166
+ if isinstance(retries, utils.RetryConfig):
167
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
168
+
169
+ http_res = await self.do_request_async(
170
+ hook_ctx=HookContext(
171
+ config=self.sdk_configuration,
172
+ base_url=base_url or "",
173
+ operation_id="get-traffic-consumption",
174
+ oauth2_scopes=None,
175
+ security_source=get_security_from_env(
176
+ self.sdk_configuration.security, models.Security
177
+ ),
178
+ ),
179
+ request=req,
180
+ error_status_codes=["4XX", "5XX"],
181
+ retry_config=retry_config,
182
+ )
183
+
184
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
185
+ return unmarshal_json_response(models.Traffic, http_res)
186
+ if utils.match_response(http_res, "4XX", "*"):
187
+ http_res_text = await utils.stream_to_text_async(http_res)
188
+ raise models.APIError("API error occurred", http_res, http_res_text)
189
+ if utils.match_response(http_res, "5XX", "*"):
190
+ http_res_text = await utils.stream_to_text_async(http_res)
191
+ raise models.APIError("API error occurred", http_res, http_res_text)
192
+
193
+ raise models.APIError("Unexpected response received", http_res)
194
+
195
+ def get_quota(
196
+ self,
197
+ *,
198
+ filter_project: Optional[str] = None,
199
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
200
+ server_url: Optional[str] = None,
201
+ timeout_ms: Optional[int] = None,
202
+ http_headers: Optional[Mapping[str, str]] = None,
203
+ ) -> models.TrafficQuota:
204
+ r"""Retrieve Traffic Quota
205
+
206
+ :param filter_project:
207
+ :param retries: Override the default retry configuration for this method
208
+ :param server_url: Override the default server URL for this method
209
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
210
+ :param http_headers: Additional headers to set or replace on requests.
211
+ """
212
+ base_url = None
213
+ url_variables = None
214
+ if timeout_ms is None:
215
+ timeout_ms = self.sdk_configuration.timeout_ms
216
+
217
+ if server_url is not None:
218
+ base_url = server_url
219
+ else:
220
+ base_url = self._get_url(base_url, url_variables)
221
+
222
+ request = models.GetTrafficQuotaRequest(
223
+ filter_project=filter_project,
224
+ )
225
+
226
+ req = self._build_request(
227
+ method="GET",
228
+ path="/traffic/quota",
229
+ base_url=base_url,
230
+ url_variables=url_variables,
231
+ request=request,
232
+ request_body_required=False,
233
+ request_has_path_params=False,
234
+ request_has_query_params=True,
235
+ user_agent_header="user-agent",
236
+ accept_header_value="application/vnd.api+json",
237
+ http_headers=http_headers,
238
+ security=self.sdk_configuration.security,
239
+ allow_empty_value=None,
240
+ timeout_ms=timeout_ms,
241
+ )
242
+
243
+ if retries == UNSET:
244
+ if self.sdk_configuration.retry_config is not UNSET:
245
+ retries = self.sdk_configuration.retry_config
246
+
247
+ retry_config = None
248
+ if isinstance(retries, utils.RetryConfig):
249
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
250
+
251
+ http_res = self.do_request(
252
+ hook_ctx=HookContext(
253
+ config=self.sdk_configuration,
254
+ base_url=base_url or "",
255
+ operation_id="get-traffic-quota",
256
+ oauth2_scopes=None,
257
+ security_source=get_security_from_env(
258
+ self.sdk_configuration.security, models.Security
259
+ ),
260
+ ),
261
+ request=req,
262
+ error_status_codes=["4XX", "5XX"],
263
+ retry_config=retry_config,
264
+ )
265
+
266
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
267
+ return unmarshal_json_response(models.TrafficQuota, http_res)
268
+ if utils.match_response(http_res, "4XX", "*"):
269
+ http_res_text = utils.stream_to_text(http_res)
270
+ raise models.APIError("API error occurred", http_res, http_res_text)
271
+ if utils.match_response(http_res, "5XX", "*"):
272
+ http_res_text = utils.stream_to_text(http_res)
273
+ raise models.APIError("API error occurred", http_res, http_res_text)
274
+
275
+ raise models.APIError("Unexpected response received", http_res)
276
+
277
+ async def get_quota_async(
278
+ self,
279
+ *,
280
+ filter_project: Optional[str] = None,
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.TrafficQuota:
286
+ r"""Retrieve Traffic Quota
287
+
288
+ :param filter_project:
289
+ :param retries: Override the default retry configuration for this method
290
+ :param server_url: Override the default server URL for this method
291
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
292
+ :param http_headers: Additional headers to set or replace on requests.
293
+ """
294
+ base_url = None
295
+ url_variables = None
296
+ if timeout_ms is None:
297
+ timeout_ms = self.sdk_configuration.timeout_ms
298
+
299
+ if server_url is not None:
300
+ base_url = server_url
301
+ else:
302
+ base_url = self._get_url(base_url, url_variables)
303
+
304
+ request = models.GetTrafficQuotaRequest(
305
+ filter_project=filter_project,
306
+ )
307
+
308
+ req = self._build_request_async(
309
+ method="GET",
310
+ path="/traffic/quota",
311
+ base_url=base_url,
312
+ url_variables=url_variables,
313
+ request=request,
314
+ request_body_required=False,
315
+ request_has_path_params=False,
316
+ request_has_query_params=True,
317
+ user_agent_header="user-agent",
318
+ accept_header_value="application/vnd.api+json",
319
+ http_headers=http_headers,
320
+ security=self.sdk_configuration.security,
321
+ allow_empty_value=None,
322
+ timeout_ms=timeout_ms,
323
+ )
324
+
325
+ if retries == UNSET:
326
+ if self.sdk_configuration.retry_config is not UNSET:
327
+ retries = self.sdk_configuration.retry_config
328
+
329
+ retry_config = None
330
+ if isinstance(retries, utils.RetryConfig):
331
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
332
+
333
+ http_res = await self.do_request_async(
334
+ hook_ctx=HookContext(
335
+ config=self.sdk_configuration,
336
+ base_url=base_url or "",
337
+ operation_id="get-traffic-quota",
338
+ oauth2_scopes=None,
339
+ security_source=get_security_from_env(
340
+ self.sdk_configuration.security, models.Security
341
+ ),
342
+ ),
343
+ request=req,
344
+ error_status_codes=["4XX", "5XX"],
345
+ retry_config=retry_config,
346
+ )
347
+
348
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
349
+ return unmarshal_json_response(models.TrafficQuota, http_res)
350
+ if utils.match_response(http_res, "4XX", "*"):
351
+ http_res_text = await utils.stream_to_text_async(http_res)
352
+ raise models.APIError("API error occurred", http_res, http_res_text)
353
+ if utils.match_response(http_res, "5XX", "*"):
354
+ http_res_text = await utils.stream_to_text_async(http_res)
355
+ raise models.APIError("API error occurred", http_res, http_res_text)
356
+
357
+ raise models.APIError("Unexpected response received", http_res)
@@ -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
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: TypeAlias = int
39
+ UnrecognizedStr: TypeAlias = str