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,298 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from jsonpath import JSONPath
5
+ from latitudesh_python_sdk import models, utils
6
+ from latitudesh_python_sdk._hooks import HookContext
7
+ from latitudesh_python_sdk.types import OptionalNullable, UNSET
8
+ from latitudesh_python_sdk.utils import get_security_from_env
9
+ from latitudesh_python_sdk.utils.unmarshal_json_response import unmarshal_json_response
10
+ from typing import Any, Dict, List, Mapping, Optional, Union
11
+
12
+
13
+ class EventsSDK(BaseSDK):
14
+ def list(
15
+ self,
16
+ *,
17
+ filter_author: Optional[str] = None,
18
+ filter_project: Optional[str] = None,
19
+ filter_target_name: Optional[List[str]] = None,
20
+ filter_target_id: Optional[str] = None,
21
+ filter_action: Optional[str] = None,
22
+ filter_created_at_gte: Optional[str] = None,
23
+ filter_created_at_lte: Optional[str] = None,
24
+ filter_created_at: Optional[List[str]] = None,
25
+ page_size: Optional[int] = 20,
26
+ page_number: Optional[int] = 1,
27
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
28
+ server_url: Optional[str] = None,
29
+ timeout_ms: Optional[int] = None,
30
+ http_headers: Optional[Mapping[str, str]] = None,
31
+ ) -> Optional[models.GetEventsResponse]:
32
+ r"""List all Events
33
+
34
+ Lists all events.
35
+
36
+
37
+ :param filter_author: The author ID or email to filter by
38
+ :param filter_project: The project ID to filter by
39
+ :param filter_target_name: The target type(s) of the event to filter by
40
+ :param filter_target_id: The target id of the event to filter by
41
+ :param filter_action: The action performed in event to filter by
42
+ :param filter_created_at_gte: The created at greater than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
43
+ :param filter_created_at_lte: The created at less than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
44
+ :param filter_created_at: The created at between date range date1, date2 (inclusive) to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
45
+ :param page_size: Number of items to return per page
46
+ :param page_number: Page number to return (starts at 1)
47
+ :param retries: Override the default retry configuration for this method
48
+ :param server_url: Override the default server URL for this method
49
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
50
+ :param http_headers: Additional headers to set or replace on requests.
51
+ """
52
+ base_url = None
53
+ url_variables = None
54
+ if timeout_ms is None:
55
+ timeout_ms = self.sdk_configuration.timeout_ms
56
+
57
+ if server_url is not None:
58
+ base_url = server_url
59
+ else:
60
+ base_url = self._get_url(base_url, url_variables)
61
+
62
+ request = models.GetEventsRequest(
63
+ filter_author=filter_author,
64
+ filter_project=filter_project,
65
+ filter_target_name=filter_target_name,
66
+ filter_target_id=filter_target_id,
67
+ filter_action=filter_action,
68
+ filter_created_at_gte=filter_created_at_gte,
69
+ filter_created_at_lte=filter_created_at_lte,
70
+ filter_created_at=filter_created_at,
71
+ page_size=page_size,
72
+ page_number=page_number,
73
+ )
74
+
75
+ req = self._build_request(
76
+ method="GET",
77
+ path="/events",
78
+ base_url=base_url,
79
+ url_variables=url_variables,
80
+ request=request,
81
+ request_body_required=False,
82
+ request_has_path_params=False,
83
+ request_has_query_params=True,
84
+ user_agent_header="user-agent",
85
+ accept_header_value="application/vnd.api+json",
86
+ http_headers=http_headers,
87
+ security=self.sdk_configuration.security,
88
+ allow_empty_value=None,
89
+ timeout_ms=timeout_ms,
90
+ )
91
+
92
+ if retries == UNSET:
93
+ if self.sdk_configuration.retry_config is not UNSET:
94
+ retries = self.sdk_configuration.retry_config
95
+
96
+ retry_config = None
97
+ if isinstance(retries, utils.RetryConfig):
98
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
99
+
100
+ http_res = self.do_request(
101
+ hook_ctx=HookContext(
102
+ config=self.sdk_configuration,
103
+ base_url=base_url or "",
104
+ operation_id="get-events",
105
+ oauth2_scopes=None,
106
+ security_source=get_security_from_env(
107
+ self.sdk_configuration.security, models.Security
108
+ ),
109
+ ),
110
+ request=req,
111
+ error_status_codes=["4XX", "5XX"],
112
+ retry_config=retry_config,
113
+ )
114
+
115
+ def next_func() -> Optional[models.GetEventsResponse]:
116
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
117
+ page = request.page_number if not request.page_number is None else 1
118
+ next_page = page + 1
119
+
120
+ if not http_res.text:
121
+ return None
122
+ results = JSONPath("$.data").parse(body)
123
+ if len(results) == 0 or len(results[0]) == 0:
124
+ return None
125
+ limit = request.page_size if not request.page_size is None else 20
126
+ if len(results[0]) < limit:
127
+ return None
128
+
129
+ return self.list(
130
+ filter_author=filter_author,
131
+ filter_project=filter_project,
132
+ filter_target_name=filter_target_name,
133
+ filter_target_id=filter_target_id,
134
+ filter_action=filter_action,
135
+ filter_created_at_gte=filter_created_at_gte,
136
+ filter_created_at_lte=filter_created_at_lte,
137
+ filter_created_at=filter_created_at,
138
+ page_size=page_size,
139
+ page_number=next_page,
140
+ retries=retries,
141
+ )
142
+
143
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
144
+ return models.GetEventsResponse(
145
+ result=unmarshal_json_response(models.GetEventsResponseBody, http_res),
146
+ next=next_func,
147
+ )
148
+ if utils.match_response(http_res, "4XX", "*"):
149
+ http_res_text = utils.stream_to_text(http_res)
150
+ raise models.APIError("API error occurred", http_res, http_res_text)
151
+ if utils.match_response(http_res, "5XX", "*"):
152
+ http_res_text = utils.stream_to_text(http_res)
153
+ raise models.APIError("API error occurred", http_res, http_res_text)
154
+
155
+ raise models.APIError("Unexpected response received", http_res)
156
+
157
+ async def list_async(
158
+ self,
159
+ *,
160
+ filter_author: Optional[str] = None,
161
+ filter_project: Optional[str] = None,
162
+ filter_target_name: Optional[List[str]] = None,
163
+ filter_target_id: Optional[str] = None,
164
+ filter_action: Optional[str] = None,
165
+ filter_created_at_gte: Optional[str] = None,
166
+ filter_created_at_lte: Optional[str] = None,
167
+ filter_created_at: Optional[List[str]] = None,
168
+ page_size: Optional[int] = 20,
169
+ page_number: Optional[int] = 1,
170
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
171
+ server_url: Optional[str] = None,
172
+ timeout_ms: Optional[int] = None,
173
+ http_headers: Optional[Mapping[str, str]] = None,
174
+ ) -> Optional[models.GetEventsResponse]:
175
+ r"""List all Events
176
+
177
+ Lists all events.
178
+
179
+
180
+ :param filter_author: The author ID or email to filter by
181
+ :param filter_project: The project ID to filter by
182
+ :param filter_target_name: The target type(s) of the event to filter by
183
+ :param filter_target_id: The target id of the event to filter by
184
+ :param filter_action: The action performed in event to filter by
185
+ :param filter_created_at_gte: The created at greater than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
186
+ :param filter_created_at_lte: The created at less than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
187
+ :param filter_created_at: The created at between date range date1, date2 (inclusive) to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)
188
+ :param page_size: Number of items to return per page
189
+ :param page_number: Page number to return (starts at 1)
190
+ :param retries: Override the default retry configuration for this method
191
+ :param server_url: Override the default server URL for this method
192
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
193
+ :param http_headers: Additional headers to set or replace on requests.
194
+ """
195
+ base_url = None
196
+ url_variables = None
197
+ if timeout_ms is None:
198
+ timeout_ms = self.sdk_configuration.timeout_ms
199
+
200
+ if server_url is not None:
201
+ base_url = server_url
202
+ else:
203
+ base_url = self._get_url(base_url, url_variables)
204
+
205
+ request = models.GetEventsRequest(
206
+ filter_author=filter_author,
207
+ filter_project=filter_project,
208
+ filter_target_name=filter_target_name,
209
+ filter_target_id=filter_target_id,
210
+ filter_action=filter_action,
211
+ filter_created_at_gte=filter_created_at_gte,
212
+ filter_created_at_lte=filter_created_at_lte,
213
+ filter_created_at=filter_created_at,
214
+ page_size=page_size,
215
+ page_number=page_number,
216
+ )
217
+
218
+ req = self._build_request_async(
219
+ method="GET",
220
+ path="/events",
221
+ base_url=base_url,
222
+ url_variables=url_variables,
223
+ request=request,
224
+ request_body_required=False,
225
+ request_has_path_params=False,
226
+ request_has_query_params=True,
227
+ user_agent_header="user-agent",
228
+ accept_header_value="application/vnd.api+json",
229
+ http_headers=http_headers,
230
+ security=self.sdk_configuration.security,
231
+ allow_empty_value=None,
232
+ timeout_ms=timeout_ms,
233
+ )
234
+
235
+ if retries == UNSET:
236
+ if self.sdk_configuration.retry_config is not UNSET:
237
+ retries = self.sdk_configuration.retry_config
238
+
239
+ retry_config = None
240
+ if isinstance(retries, utils.RetryConfig):
241
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
242
+
243
+ http_res = await self.do_request_async(
244
+ hook_ctx=HookContext(
245
+ config=self.sdk_configuration,
246
+ base_url=base_url or "",
247
+ operation_id="get-events",
248
+ oauth2_scopes=None,
249
+ security_source=get_security_from_env(
250
+ self.sdk_configuration.security, models.Security
251
+ ),
252
+ ),
253
+ request=req,
254
+ error_status_codes=["4XX", "5XX"],
255
+ retry_config=retry_config,
256
+ )
257
+
258
+ def next_func() -> Optional[models.GetEventsResponse]:
259
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
260
+ page = request.page_number if not request.page_number is None else 1
261
+ next_page = page + 1
262
+
263
+ if not http_res.text:
264
+ return None
265
+ results = JSONPath("$.data").parse(body)
266
+ if len(results) == 0 or len(results[0]) == 0:
267
+ return None
268
+ limit = request.page_size if not request.page_size is None else 20
269
+ if len(results[0]) < limit:
270
+ return None
271
+
272
+ return self.list(
273
+ filter_author=filter_author,
274
+ filter_project=filter_project,
275
+ filter_target_name=filter_target_name,
276
+ filter_target_id=filter_target_id,
277
+ filter_action=filter_action,
278
+ filter_created_at_gte=filter_created_at_gte,
279
+ filter_created_at_lte=filter_created_at_lte,
280
+ filter_created_at=filter_created_at,
281
+ page_size=page_size,
282
+ page_number=next_page,
283
+ retries=retries,
284
+ )
285
+
286
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
287
+ return models.GetEventsResponse(
288
+ result=unmarshal_json_response(models.GetEventsResponseBody, http_res),
289
+ next=next_func,
290
+ )
291
+ if utils.match_response(http_res, "4XX", "*"):
292
+ http_res_text = await utils.stream_to_text_async(http_res)
293
+ raise models.APIError("API error occurred", http_res, http_res_text)
294
+ if utils.match_response(http_res, "5XX", "*"):
295
+ http_res_text = await utils.stream_to_text_async(http_res)
296
+ raise models.APIError("API error occurred", http_res, http_res_text)
297
+
298
+ raise models.APIError("Unexpected response received", http_res)