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,69 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .virtual_networks import VirtualNetworks, VirtualNetworksTypedDict
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
7
+ import pydantic
8
+ from typing import Callable, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class GetVirtualNetworksRequestTypedDict(TypedDict):
13
+ filter_location: NotRequired[str]
14
+ r"""The location slug to filter by"""
15
+ filter_project: NotRequired[str]
16
+ r"""The project id or slug to filter by"""
17
+ filter_tags: NotRequired[str]
18
+ r"""The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`"""
19
+ page_size: NotRequired[int]
20
+ r"""Number of items to return per page"""
21
+ page_number: NotRequired[int]
22
+ r"""Page number to return (starts at 1)"""
23
+
24
+
25
+ class GetVirtualNetworksRequest(BaseModel):
26
+ filter_location: Annotated[
27
+ Optional[str],
28
+ pydantic.Field(alias="filter[location]"),
29
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
30
+ ] = None
31
+ r"""The location slug to filter by"""
32
+
33
+ filter_project: Annotated[
34
+ Optional[str],
35
+ pydantic.Field(alias="filter[project]"),
36
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
37
+ ] = None
38
+ r"""The project id or slug to filter by"""
39
+
40
+ filter_tags: Annotated[
41
+ Optional[str],
42
+ pydantic.Field(alias="filter[tags]"),
43
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
44
+ ] = None
45
+ r"""The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`"""
46
+
47
+ page_size: Annotated[
48
+ Optional[int],
49
+ pydantic.Field(alias="page[size]"),
50
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
51
+ ] = 20
52
+ r"""Number of items to return per page"""
53
+
54
+ page_number: Annotated[
55
+ Optional[int],
56
+ pydantic.Field(alias="page[number]"),
57
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
58
+ ] = 1
59
+ r"""Page number to return (starts at 1)"""
60
+
61
+
62
+ class GetVirtualNetworksResponseTypedDict(TypedDict):
63
+ result: VirtualNetworksTypedDict
64
+
65
+
66
+ class GetVirtualNetworksResponse(BaseModel):
67
+ next: Callable[[], Optional[GetVirtualNetworksResponse]]
68
+
69
+ result: VirtualNetworks
@@ -0,0 +1,70 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .vpn_session_data_with_password import (
5
+ VpnSessionDataWithPassword,
6
+ VpnSessionDataWithPasswordTypedDict,
7
+ )
8
+ from enum import Enum
9
+ from latitudesh_python_sdk.types import BaseModel
10
+ from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
11
+ import pydantic
12
+ from typing import List, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class FilterLocation(str, Enum):
17
+ ASH = "ASH"
18
+ BGT = "BGT"
19
+ BUE = "BUE"
20
+ CHI = "CHI"
21
+ DAL = "DAL"
22
+ FRA = "FRA"
23
+ LAX = "LAX"
24
+ LON = "LON"
25
+ MEX = "MEX"
26
+ MEX2 = "MEX2"
27
+ MIA = "MIA"
28
+ MIA2 = "MIA2"
29
+ NYC = "NYC"
30
+ SAN = "SAN"
31
+ SAO = "SAO"
32
+ SAO2 = "SAO2"
33
+ SYD = "SYD"
34
+ TYO = "TYO"
35
+ TYO2 = "TYO2"
36
+
37
+
38
+ class GetVpnSessionsRequestTypedDict(TypedDict):
39
+ filter_location: NotRequired[FilterLocation]
40
+
41
+
42
+ class GetVpnSessionsRequest(BaseModel):
43
+ filter_location: Annotated[
44
+ Optional[FilterLocation],
45
+ pydantic.Field(alias="filter[location]"),
46
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
47
+ ] = None
48
+
49
+
50
+ class GetVpnSessionsMetaTypedDict(TypedDict):
51
+ pass
52
+
53
+
54
+ class GetVpnSessionsMeta(BaseModel):
55
+ pass
56
+
57
+
58
+ class GetVpnSessionsResponseBodyTypedDict(TypedDict):
59
+ r"""Success"""
60
+
61
+ data: NotRequired[List[VpnSessionDataWithPasswordTypedDict]]
62
+ meta: NotRequired[GetVpnSessionsMetaTypedDict]
63
+
64
+
65
+ class GetVpnSessionsResponseBody(BaseModel):
66
+ r"""Success"""
67
+
68
+ data: Optional[List[VpnSessionDataWithPassword]] = None
69
+
70
+ meta: Optional[GetVpnSessionsMeta] = None
@@ -0,0 +1,31 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from latitudesh_python_sdk.types import BaseModel
5
+ from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class IndexVirtualMachineRequestTypedDict(TypedDict):
12
+ filter_project: NotRequired[str]
13
+ r"""The project ID or Slug to filter by"""
14
+ extra_fields_virtual_machines: NotRequired[str]
15
+ r"""The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[virtual_machines]=credentials` in the query string."""
16
+
17
+
18
+ class IndexVirtualMachineRequest(BaseModel):
19
+ filter_project: Annotated[
20
+ Optional[str],
21
+ pydantic.Field(alias="filter[project]"),
22
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
23
+ ] = None
24
+ r"""The project ID or Slug to filter by"""
25
+
26
+ extra_fields_virtual_machines: Annotated[
27
+ Optional[str],
28
+ pydantic.Field(alias="extra_fields[virtual_machines]"),
29
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
30
+ ] = None
31
+ r"""The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[virtual_machines]=credentials` in the query string."""
@@ -0,0 +1,122 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class Family(str, Enum):
11
+ I_PV4 = "IPv4"
12
+ I_PV6 = "IPv6"
13
+
14
+
15
+ class IPAddressType(str, Enum):
16
+ PUBLIC = "Public"
17
+ PRIVATE = "Private"
18
+
19
+
20
+ class IPAddressProjectTypedDict(TypedDict):
21
+ id: NotRequired[str]
22
+ name: NotRequired[str]
23
+
24
+
25
+ class IPAddressProject(BaseModel):
26
+ id: Optional[str] = None
27
+
28
+ name: Optional[str] = None
29
+
30
+
31
+ class LocationTypedDict(TypedDict):
32
+ id: NotRequired[str]
33
+ name: NotRequired[str]
34
+ slug: NotRequired[str]
35
+
36
+
37
+ class Location(BaseModel):
38
+ id: Optional[str] = None
39
+
40
+ name: Optional[str] = None
41
+
42
+ slug: Optional[str] = None
43
+
44
+
45
+ class IPAddressRegionTypedDict(TypedDict):
46
+ id: NotRequired[str]
47
+ name: NotRequired[str]
48
+ location: NotRequired[LocationTypedDict]
49
+
50
+
51
+ class IPAddressRegion(BaseModel):
52
+ id: Optional[str] = None
53
+
54
+ name: Optional[str] = None
55
+
56
+ location: Optional[Location] = None
57
+
58
+
59
+ class AssignmentTypedDict(TypedDict):
60
+ server_id: NotRequired[str]
61
+ hostname: NotRequired[str]
62
+ assigned_at: NotRequired[str]
63
+
64
+
65
+ class Assignment(BaseModel):
66
+ server_id: Optional[str] = None
67
+
68
+ hostname: Optional[str] = None
69
+
70
+ assigned_at: Optional[str] = None
71
+
72
+
73
+ class IPAddressAttributesTypedDict(TypedDict):
74
+ address: NotRequired[str]
75
+ cidr: NotRequired[str]
76
+ family: NotRequired[Family]
77
+ gateway: NotRequired[str]
78
+ netmask: NotRequired[str]
79
+ type: NotRequired[IPAddressType]
80
+ public: NotRequired[bool]
81
+ management: NotRequired[bool]
82
+ project: NotRequired[IPAddressProjectTypedDict]
83
+ region: NotRequired[IPAddressRegionTypedDict]
84
+ available: NotRequired[bool]
85
+ assignment: NotRequired[AssignmentTypedDict]
86
+
87
+
88
+ class IPAddressAttributes(BaseModel):
89
+ address: Optional[str] = None
90
+
91
+ cidr: Optional[str] = None
92
+
93
+ family: Optional[Family] = None
94
+
95
+ gateway: Optional[str] = None
96
+
97
+ netmask: Optional[str] = None
98
+
99
+ type: Optional[IPAddressType] = None
100
+
101
+ public: Optional[bool] = None
102
+
103
+ management: Optional[bool] = None
104
+
105
+ project: Optional[IPAddressProject] = None
106
+
107
+ region: Optional[IPAddressRegion] = None
108
+
109
+ available: Optional[bool] = None
110
+
111
+ assignment: Optional[Assignment] = None
112
+
113
+
114
+ class IPAddressTypedDict(TypedDict):
115
+ id: NotRequired[str]
116
+ attributes: NotRequired[IPAddressAttributesTypedDict]
117
+
118
+
119
+ class IPAddress(BaseModel):
120
+ id: Optional[str] = None
121
+
122
+ attributes: Optional[IPAddressAttributes] = None
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .ip_address import IPAddress, IPAddressTypedDict
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class IPAddressesTypedDict(TypedDict):
11
+ data: NotRequired[List[IPAddressTypedDict]]
12
+
13
+
14
+ class IPAddresses(BaseModel):
15
+ data: Optional[List[IPAddress]] = None
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class IpmiSessionType(str, Enum):
11
+ IPMI_SESSIONS = "ipmi_sessions"
12
+
13
+
14
+ class IpmiSessionAttributesTypedDict(TypedDict):
15
+ ipmi_address: NotRequired[str]
16
+ r"""The IPMI IP Address"""
17
+ ipmi_username: NotRequired[str]
18
+ r"""The IPMI username"""
19
+ ipmi_password: NotRequired[str]
20
+ r"""The IPMI password"""
21
+
22
+
23
+ class IpmiSessionAttributes(BaseModel):
24
+ ipmi_address: Optional[str] = None
25
+ r"""The IPMI IP Address"""
26
+
27
+ ipmi_username: Optional[str] = None
28
+ r"""The IPMI username"""
29
+
30
+ ipmi_password: Optional[str] = None
31
+ r"""The IPMI password"""
32
+
33
+
34
+ class IpmiSessionDataTypedDict(TypedDict):
35
+ id: NotRequired[str]
36
+ type: NotRequired[IpmiSessionType]
37
+ attributes: NotRequired[IpmiSessionAttributesTypedDict]
38
+
39
+
40
+ class IpmiSessionData(BaseModel):
41
+ id: Optional[str] = None
42
+
43
+ type: Optional[IpmiSessionType] = None
44
+
45
+ attributes: Optional[IpmiSessionAttributes] = None
46
+
47
+
48
+ class IpmiSessionTypedDict(TypedDict):
49
+ data: NotRequired[IpmiSessionDataTypedDict]
50
+
51
+
52
+ class IpmiSession(BaseModel):
53
+ data: Optional[IpmiSessionData] = None
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import httpx
4
+ from typing import Optional
5
+ from dataclasses import dataclass, field
6
+
7
+
8
+ @dataclass(unsafe_hash=True)
9
+ class LatitudeshError(Exception):
10
+ """The base class for all HTTP error responses."""
11
+
12
+ message: str
13
+ status_code: int
14
+ body: str
15
+ headers: httpx.Headers = field(hash=False)
16
+ raw_response: httpx.Response = field(hash=False)
17
+
18
+ def __init__(
19
+ self, message: str, raw_response: httpx.Response, body: Optional[str] = None
20
+ ):
21
+ object.__setattr__(self, "message", message)
22
+ object.__setattr__(self, "status_code", raw_response.status_code)
23
+ object.__setattr__(
24
+ self, "body", body if body is not None else raw_response.text
25
+ )
26
+ object.__setattr__(self, "headers", raw_response.headers)
27
+ object.__setattr__(self, "raw_response", raw_response)
28
+
29
+ def __str__(self):
30
+ return self.message
@@ -0,0 +1,49 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .firewalls import Firewalls, FirewallsTypedDict
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
7
+ import pydantic
8
+ from typing import Callable, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ListFirewallsRequestTypedDict(TypedDict):
13
+ filter_project: NotRequired[str]
14
+ page_size: NotRequired[int]
15
+ r"""Number of items to return per page"""
16
+ page_number: NotRequired[int]
17
+ r"""Page number to return (starts at 1)"""
18
+
19
+
20
+ class ListFirewallsRequest(BaseModel):
21
+ filter_project: Annotated[
22
+ Optional[str],
23
+ pydantic.Field(alias="filter[project]"),
24
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
25
+ ] = None
26
+
27
+ page_size: Annotated[
28
+ Optional[int],
29
+ pydantic.Field(alias="page[size]"),
30
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
31
+ ] = 20
32
+ r"""Number of items to return per page"""
33
+
34
+ page_number: Annotated[
35
+ Optional[int],
36
+ pydantic.Field(alias="page[number]"),
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ] = 1
39
+ r"""Page number to return (starts at 1)"""
40
+
41
+
42
+ class ListFirewallsResponseTypedDict(TypedDict):
43
+ result: FirewallsTypedDict
44
+
45
+
46
+ class ListFirewallsResponse(BaseModel):
47
+ next: Callable[[], Optional[ListFirewallsResponse]]
48
+
49
+ result: Firewalls
@@ -0,0 +1,63 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from datetime import datetime
5
+ from enum import Enum
6
+ from latitudesh_python_sdk.types import BaseModel
7
+ from typing import Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ class MembershipRole(str, Enum):
12
+ OWNER = "owner"
13
+ ADMINISTRATOR = "administrator"
14
+ COLLABORATOR = "collaborator"
15
+ BILLING = "billing"
16
+
17
+
18
+ class MembershipAttributesTypedDict(TypedDict):
19
+ first_name: NotRequired[str]
20
+ last_name: NotRequired[str]
21
+ email: NotRequired[str]
22
+ role: NotRequired[MembershipRole]
23
+ mfa_enabled: NotRequired[bool]
24
+ created_at: NotRequired[datetime]
25
+ updated_at: NotRequired[datetime]
26
+ last_login_at: NotRequired[datetime]
27
+
28
+
29
+ class MembershipAttributes(BaseModel):
30
+ first_name: Optional[str] = None
31
+
32
+ last_name: Optional[str] = None
33
+
34
+ email: Optional[str] = None
35
+
36
+ role: Optional[MembershipRole] = None
37
+
38
+ mfa_enabled: Optional[bool] = None
39
+
40
+ created_at: Optional[datetime] = None
41
+
42
+ updated_at: Optional[datetime] = None
43
+
44
+ last_login_at: Optional[datetime] = None
45
+
46
+
47
+ class MembershipDataTypedDict(TypedDict):
48
+ id: NotRequired[str]
49
+ attributes: NotRequired[MembershipAttributesTypedDict]
50
+
51
+
52
+ class MembershipData(BaseModel):
53
+ id: Optional[str] = None
54
+
55
+ attributes: Optional[MembershipAttributes] = None
56
+
57
+
58
+ class MembershipTypedDict(TypedDict):
59
+ data: NotRequired[MembershipDataTypedDict]
60
+
61
+
62
+ class Membership(BaseModel):
63
+ data: Optional[MembershipData] = None
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(unsafe_hash=True)
7
+ class NoResponseError(Exception):
8
+ """Error raised when no HTTP response is received from the server."""
9
+
10
+ message: str
11
+
12
+ def __init__(self, message: str = "No response received"):
13
+ object.__setattr__(self, "message", message)
14
+ super().__init__(message)
15
+
16
+ def __str__(self):
17
+ return self.message
@@ -0,0 +1,65 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class OperatingSystemDataType(str, Enum):
11
+ OPERATING_SYSTEMS = "operating_systems"
12
+
13
+
14
+ class FeaturesTypedDict(TypedDict):
15
+ raid: NotRequired[bool]
16
+ ssh_keys: NotRequired[bool]
17
+ user_data: NotRequired[bool]
18
+
19
+
20
+ class Features(BaseModel):
21
+ raid: Optional[bool] = None
22
+
23
+ ssh_keys: Optional[bool] = None
24
+
25
+ user_data: Optional[bool] = None
26
+
27
+
28
+ class OperatingSystemDataAttributesTypedDict(TypedDict):
29
+ features: NotRequired[FeaturesTypedDict]
30
+ name: NotRequired[str]
31
+ slug: NotRequired[str]
32
+ distro: NotRequired[str]
33
+ user: NotRequired[str]
34
+ version: NotRequired[str]
35
+ provisionable_on: NotRequired[List[str]]
36
+
37
+
38
+ class OperatingSystemDataAttributes(BaseModel):
39
+ features: Optional[Features] = None
40
+
41
+ name: Optional[str] = None
42
+
43
+ slug: Optional[str] = None
44
+
45
+ distro: Optional[str] = None
46
+
47
+ user: Optional[str] = None
48
+
49
+ version: Optional[str] = None
50
+
51
+ provisionable_on: Optional[List[str]] = None
52
+
53
+
54
+ class OperatingSystemDataTypedDict(TypedDict):
55
+ id: NotRequired[str]
56
+ type: NotRequired[OperatingSystemDataType]
57
+ attributes: NotRequired[OperatingSystemDataAttributesTypedDict]
58
+
59
+
60
+ class OperatingSystemData(BaseModel):
61
+ id: Optional[str] = None
62
+
63
+ type: Optional[OperatingSystemDataType] = None
64
+
65
+ attributes: Optional[OperatingSystemDataAttributes] = None
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .operating_system_data import OperatingSystemData, OperatingSystemDataTypedDict
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class OperatingSystemsMetaTypedDict(TypedDict):
11
+ pass
12
+
13
+
14
+ class OperatingSystemsMeta(BaseModel):
15
+ pass
16
+
17
+
18
+ class OperatingSystemsTypedDict(TypedDict):
19
+ data: NotRequired[List[OperatingSystemDataTypedDict]]
20
+ meta: NotRequired[OperatingSystemsMetaTypedDict]
21
+
22
+
23
+ class OperatingSystems(BaseModel):
24
+ data: Optional[List[OperatingSystemData]] = None
25
+
26
+ meta: Optional[OperatingSystemsMeta] = None