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,131 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .team_include import TeamInclude, TeamIncludeTypedDict
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 BillingType(str, Enum):
12
+ YEARLY = "Yearly"
13
+ MONTHLY = "Monthly"
14
+ HOURLY = "Hourly"
15
+ NORMAL = "Normal"
16
+ CUSTOM = "Custom"
17
+
18
+
19
+ class BillingMethod(str, Enum):
20
+ NORMAL = "Normal"
21
+ NINETY_FIVETH_PERCENTILE = "95th percentile"
22
+
23
+
24
+ class Environment(str, Enum):
25
+ DEVELOPMENT = "Development"
26
+ STAGING = "Staging"
27
+ PRODUCTION = "Production"
28
+
29
+
30
+ class ProjectStatsTypedDict(TypedDict):
31
+ ip_addresses: NotRequired[float]
32
+ r"""The number of IP addresses assigned to the project"""
33
+ prefixes: NotRequired[float]
34
+ r"""The IP address prefixes in the project"""
35
+ servers: NotRequired[float]
36
+ r"""The number of servers assigned to the project"""
37
+ containers: NotRequired[float]
38
+ r"""The number of containers assigned to the project"""
39
+ vlans: NotRequired[float]
40
+ r"""The number of VLANs assigned to the project"""
41
+
42
+
43
+ class ProjectStats(BaseModel):
44
+ ip_addresses: Optional[float] = None
45
+ r"""The number of IP addresses assigned to the project"""
46
+
47
+ prefixes: Optional[float] = None
48
+ r"""The IP address prefixes in the project"""
49
+
50
+ servers: Optional[float] = None
51
+ r"""The number of servers assigned to the project"""
52
+
53
+ containers: Optional[float] = None
54
+ r"""The number of containers assigned to the project"""
55
+
56
+ vlans: Optional[float] = None
57
+ r"""The number of VLANs assigned to the project"""
58
+
59
+
60
+ class ProjectBillingTypedDict(TypedDict):
61
+ subscription_id: NotRequired[str]
62
+ type: NotRequired[str]
63
+ method: NotRequired[str]
64
+
65
+
66
+ class ProjectBilling(BaseModel):
67
+ subscription_id: Optional[str] = None
68
+
69
+ type: Optional[str] = None
70
+
71
+ method: Optional[str] = None
72
+
73
+
74
+ class ProjectAttributesTypedDict(TypedDict):
75
+ name: NotRequired[str]
76
+ r"""The project name"""
77
+ slug: NotRequired[str]
78
+ r"""A unique project identifier"""
79
+ description: NotRequired[str]
80
+ r"""The project description"""
81
+ billing_type: NotRequired[BillingType]
82
+ billing_method: NotRequired[BillingMethod]
83
+ cost: NotRequired[str]
84
+ environment: NotRequired[Environment]
85
+ stats: NotRequired[ProjectStatsTypedDict]
86
+ billing: NotRequired[ProjectBillingTypedDict]
87
+ team: NotRequired[TeamIncludeTypedDict]
88
+ created_at: NotRequired[str]
89
+ updated_at: NotRequired[str]
90
+
91
+
92
+ class ProjectAttributes(BaseModel):
93
+ name: Optional[str] = None
94
+ r"""The project name"""
95
+
96
+ slug: Optional[str] = None
97
+ r"""A unique project identifier"""
98
+
99
+ description: Optional[str] = None
100
+ r"""The project description"""
101
+
102
+ billing_type: Optional[BillingType] = None
103
+
104
+ billing_method: Optional[BillingMethod] = None
105
+
106
+ cost: Optional[str] = None
107
+
108
+ environment: Optional[Environment] = None
109
+
110
+ stats: Optional[ProjectStats] = None
111
+
112
+ billing: Optional[ProjectBilling] = None
113
+
114
+ team: Optional[TeamInclude] = None
115
+
116
+ created_at: Optional[str] = None
117
+
118
+ updated_at: Optional[str] = None
119
+
120
+
121
+ class ProjectTypedDict(TypedDict):
122
+ id: NotRequired[str]
123
+ r"""The project ID"""
124
+ attributes: NotRequired[ProjectAttributesTypedDict]
125
+
126
+
127
+ class Project(BaseModel):
128
+ id: Optional[str] = None
129
+ r"""The project ID"""
130
+
131
+ attributes: Optional[ProjectAttributes] = None
@@ -0,0 +1,75 @@
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 typing import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class BillingModelTypedDict(TypedDict):
10
+ subscription_id: NotRequired[str]
11
+ type: NotRequired[str]
12
+ method: NotRequired[str]
13
+
14
+
15
+ class BillingModel(BaseModel):
16
+ subscription_id: Optional[str] = None
17
+
18
+ type: Optional[str] = None
19
+
20
+ method: Optional[str] = None
21
+
22
+
23
+ class StatsTypedDict(TypedDict):
24
+ ip_addresses: NotRequired[int]
25
+ prefixes: NotRequired[int]
26
+ servers: NotRequired[int]
27
+ vlans: NotRequired[int]
28
+
29
+
30
+ class Stats(BaseModel):
31
+ ip_addresses: Optional[int] = None
32
+
33
+ prefixes: Optional[int] = None
34
+
35
+ servers: Optional[int] = None
36
+
37
+ vlans: Optional[int] = None
38
+
39
+
40
+ class ProjectIncludeTypedDict(TypedDict):
41
+ id: NotRequired[str]
42
+ name: NotRequired[str]
43
+ slug: NotRequired[str]
44
+ description: NotRequired[str]
45
+ billing_type: NotRequired[str]
46
+ provisioning_type: NotRequired[str]
47
+ billing_method: NotRequired[str]
48
+ bandwidth_alert: NotRequired[bool]
49
+ environment: NotRequired[str]
50
+ billing: NotRequired[BillingModelTypedDict]
51
+ stats: NotRequired[StatsTypedDict]
52
+
53
+
54
+ class ProjectInclude(BaseModel):
55
+ id: Optional[str] = None
56
+
57
+ name: Optional[str] = None
58
+
59
+ slug: Optional[str] = None
60
+
61
+ description: Optional[str] = None
62
+
63
+ billing_type: Optional[str] = None
64
+
65
+ provisioning_type: Optional[str] = None
66
+
67
+ billing_method: Optional[str] = None
68
+
69
+ bandwidth_alert: Optional[bool] = None
70
+
71
+ environment: Optional[str] = None
72
+
73
+ billing: Optional[BillingModel] = None
74
+
75
+ stats: Optional[Stats] = None
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .project import Project, ProjectTypedDict
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 ProjectsTypedDict(TypedDict):
11
+ data: NotRequired[List[ProjectTypedDict]]
12
+
13
+
14
+ class Projects(BaseModel):
15
+ data: Optional[List[Project]] = None
@@ -0,0 +1,87 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .ssh_key_data import SSHKeyData, SSHKeyDataTypedDict
5
+ from enum import Enum
6
+ from latitudesh_python_sdk.types import BaseModel
7
+ from latitudesh_python_sdk.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ from typing import List, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class PutProjectSSHKeySSHKeysType(str, Enum):
17
+ SSH_KEYS = "ssh_keys"
18
+
19
+
20
+ class PutProjectSSHKeySSHKeysAttributesTypedDict(TypedDict):
21
+ tags: NotRequired[List[str]]
22
+ name: NotRequired[str]
23
+ r"""Name of the SSH Key"""
24
+
25
+
26
+ class PutProjectSSHKeySSHKeysAttributes(BaseModel):
27
+ tags: Optional[List[str]] = None
28
+
29
+ name: Optional[str] = "New SSH Key Name"
30
+ r"""Name of the SSH Key"""
31
+
32
+
33
+ class PutProjectSSHKeySSHKeysDataTypedDict(TypedDict):
34
+ type: PutProjectSSHKeySSHKeysType
35
+ id: NotRequired[str]
36
+ attributes: NotRequired[PutProjectSSHKeySSHKeysAttributesTypedDict]
37
+
38
+
39
+ class PutProjectSSHKeySSHKeysData(BaseModel):
40
+ type: PutProjectSSHKeySSHKeysType
41
+
42
+ id: Optional[str] = "ssh_81EVOtR1N4J2Z"
43
+
44
+ attributes: Optional[PutProjectSSHKeySSHKeysAttributes] = None
45
+
46
+
47
+ class PutProjectSSHKeySSHKeysRequestBodyTypedDict(TypedDict):
48
+ data: PutProjectSSHKeySSHKeysDataTypedDict
49
+
50
+
51
+ class PutProjectSSHKeySSHKeysRequestBody(BaseModel):
52
+ data: PutProjectSSHKeySSHKeysData
53
+
54
+
55
+ class PutProjectSSHKeyRequestTypedDict(TypedDict):
56
+ project_id: str
57
+ r"""Project ID or Slug"""
58
+ ssh_key_id: str
59
+ request_body: PutProjectSSHKeySSHKeysRequestBodyTypedDict
60
+
61
+
62
+ class PutProjectSSHKeyRequest(BaseModel):
63
+ project_id: Annotated[
64
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
65
+ ]
66
+ r"""Project ID or Slug"""
67
+
68
+ ssh_key_id: Annotated[
69
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
70
+ ]
71
+
72
+ request_body: Annotated[
73
+ PutProjectSSHKeySSHKeysRequestBody,
74
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
75
+ ]
76
+
77
+
78
+ class PutProjectSSHKeyResponseBodyTypedDict(TypedDict):
79
+ r"""Success"""
80
+
81
+ data: NotRequired[SSHKeyDataTypedDict]
82
+
83
+
84
+ class PutProjectSSHKeyResponseBody(BaseModel):
85
+ r"""Success"""
86
+
87
+ data: Optional[SSHKeyData] = None
@@ -0,0 +1,76 @@
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 latitudesh_python_sdk.utils import (
7
+ FieldMetadata,
8
+ PathParamMetadata,
9
+ RequestMetadata,
10
+ )
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PutProjectUserDataUserDataType(str, Enum):
16
+ USER_DATA = "user_data"
17
+
18
+
19
+ class PutProjectUserDataUserDataAttributesTypedDict(TypedDict):
20
+ description: NotRequired[str]
21
+ r"""description dummy user data"""
22
+ content: NotRequired[str]
23
+ r"""encoded content of the User Data"""
24
+
25
+
26
+ class PutProjectUserDataUserDataAttributes(BaseModel):
27
+ description: Optional[str] = None
28
+ r"""description dummy user data"""
29
+
30
+ content: Optional[str] = None
31
+ r"""encoded content of the User Data"""
32
+
33
+
34
+ class PutProjectUserDataUserDataDataTypedDict(TypedDict):
35
+ id: str
36
+ type: PutProjectUserDataUserDataType
37
+ attributes: NotRequired[PutProjectUserDataUserDataAttributesTypedDict]
38
+
39
+
40
+ class PutProjectUserDataUserDataData(BaseModel):
41
+ id: str
42
+
43
+ type: PutProjectUserDataUserDataType
44
+
45
+ attributes: Optional[PutProjectUserDataUserDataAttributes] = None
46
+
47
+
48
+ class PutProjectUserDataUserDataRequestBodyTypedDict(TypedDict):
49
+ data: PutProjectUserDataUserDataDataTypedDict
50
+
51
+
52
+ class PutProjectUserDataUserDataRequestBody(BaseModel):
53
+ data: PutProjectUserDataUserDataData
54
+
55
+
56
+ class PutProjectUserDataRequestTypedDict(TypedDict):
57
+ project_id: str
58
+ r"""Project ID or Slug"""
59
+ user_data_id: str
60
+ request_body: NotRequired[PutProjectUserDataUserDataRequestBodyTypedDict]
61
+
62
+
63
+ class PutProjectUserDataRequest(BaseModel):
64
+ project_id: Annotated[
65
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
66
+ ]
67
+ r"""Project ID or Slug"""
68
+
69
+ user_data_id: Annotated[
70
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
71
+ ]
72
+
73
+ request_body: Annotated[
74
+ Optional[PutProjectUserDataUserDataRequestBody],
75
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
76
+ ] = None
@@ -0,0 +1,80 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .ssh_key_data import SSHKeyData, SSHKeyDataTypedDict
5
+ from enum import Enum
6
+ from latitudesh_python_sdk.types import BaseModel
7
+ from latitudesh_python_sdk.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ from typing import List, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class PutSSHKeySSHKeysType(str, Enum):
17
+ SSH_KEYS = "ssh_keys"
18
+
19
+
20
+ class PutSSHKeySSHKeysAttributesTypedDict(TypedDict):
21
+ tags: NotRequired[List[str]]
22
+ name: NotRequired[str]
23
+ r"""Name of the SSH Key"""
24
+
25
+
26
+ class PutSSHKeySSHKeysAttributes(BaseModel):
27
+ tags: Optional[List[str]] = None
28
+
29
+ name: Optional[str] = "New SSH Key Name"
30
+ r"""Name of the SSH Key"""
31
+
32
+
33
+ class PutSSHKeySSHKeysDataTypedDict(TypedDict):
34
+ type: PutSSHKeySSHKeysType
35
+ id: NotRequired[str]
36
+ attributes: NotRequired[PutSSHKeySSHKeysAttributesTypedDict]
37
+
38
+
39
+ class PutSSHKeySSHKeysData(BaseModel):
40
+ type: PutSSHKeySSHKeysType
41
+
42
+ id: Optional[str] = "ssh_81EVOtR1N4J2Z"
43
+
44
+ attributes: Optional[PutSSHKeySSHKeysAttributes] = None
45
+
46
+
47
+ class PutSSHKeySSHKeysRequestBodyTypedDict(TypedDict):
48
+ data: PutSSHKeySSHKeysDataTypedDict
49
+
50
+
51
+ class PutSSHKeySSHKeysRequestBody(BaseModel):
52
+ data: PutSSHKeySSHKeysData
53
+
54
+
55
+ class PutSSHKeyRequestTypedDict(TypedDict):
56
+ ssh_key_id: str
57
+ request_body: PutSSHKeySSHKeysRequestBodyTypedDict
58
+
59
+
60
+ class PutSSHKeyRequest(BaseModel):
61
+ ssh_key_id: Annotated[
62
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
63
+ ]
64
+
65
+ request_body: Annotated[
66
+ PutSSHKeySSHKeysRequestBody,
67
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
68
+ ]
69
+
70
+
71
+ class PutSSHKeyResponseBodyTypedDict(TypedDict):
72
+ r"""Success"""
73
+
74
+ data: NotRequired[SSHKeyDataTypedDict]
75
+
76
+
77
+ class PutSSHKeyResponseBody(BaseModel):
78
+ r"""Success"""
79
+
80
+ data: Optional[SSHKeyData] = None
@@ -0,0 +1,16 @@
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, PathParamMetadata
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class PutVpnSessionRequestTypedDict(TypedDict):
10
+ vpn_session_id: str
11
+
12
+
13
+ class PutVpnSessionRequest(BaseModel):
14
+ vpn_session_id: Annotated[
15
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
16
+ ]
@@ -0,0 +1,50 @@
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 typing import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class RegionCountryTypedDict(TypedDict):
10
+ slug: NotRequired[str]
11
+ name: NotRequired[str]
12
+
13
+
14
+ class RegionCountry(BaseModel):
15
+ slug: Optional[str] = None
16
+
17
+ name: Optional[str] = None
18
+
19
+
20
+ class RegionAttributesTypedDict(TypedDict):
21
+ slug: NotRequired[str]
22
+ name: NotRequired[str]
23
+ country: NotRequired[RegionCountryTypedDict]
24
+
25
+
26
+ class RegionAttributes(BaseModel):
27
+ slug: Optional[str] = None
28
+
29
+ name: Optional[str] = None
30
+
31
+ country: Optional[RegionCountry] = None
32
+
33
+
34
+ class RegionDataTypedDict(TypedDict):
35
+ id: NotRequired[str]
36
+ attributes: NotRequired[RegionAttributesTypedDict]
37
+
38
+
39
+ class RegionData(BaseModel):
40
+ id: Optional[str] = None
41
+
42
+ attributes: Optional[RegionAttributes] = None
43
+
44
+
45
+ class RegionTypedDict(TypedDict):
46
+ data: NotRequired[RegionDataTypedDict]
47
+
48
+
49
+ class Region(BaseModel):
50
+ data: Optional[RegionData] = None
@@ -0,0 +1,37 @@
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 typing import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class RegionResourceDataSiteTypedDict(TypedDict):
10
+ id: NotRequired[str]
11
+ name: NotRequired[str]
12
+ slug: NotRequired[str]
13
+ facility: NotRequired[str]
14
+
15
+
16
+ class RegionResourceDataSite(BaseModel):
17
+ id: Optional[str] = None
18
+
19
+ name: Optional[str] = None
20
+
21
+ slug: Optional[str] = None
22
+
23
+ facility: Optional[str] = None
24
+
25
+
26
+ class RegionResourceDataTypedDict(TypedDict):
27
+ city: NotRequired[str]
28
+ country: NotRequired[str]
29
+ site: NotRequired[RegionResourceDataSiteTypedDict]
30
+
31
+
32
+ class RegionResourceData(BaseModel):
33
+ city: Optional[str] = None
34
+
35
+ country: Optional[str] = None
36
+
37
+ site: Optional[RegionResourceDataSite] = None
@@ -0,0 +1,50 @@
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 typing import List, Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class CountryTypedDict(TypedDict):
10
+ slug: NotRequired[str]
11
+ name: NotRequired[str]
12
+
13
+
14
+ class Country(BaseModel):
15
+ slug: Optional[str] = None
16
+
17
+ name: Optional[str] = None
18
+
19
+
20
+ class RegionsAttributesTypedDict(TypedDict):
21
+ slug: NotRequired[str]
22
+ name: NotRequired[str]
23
+ country: NotRequired[CountryTypedDict]
24
+
25
+
26
+ class RegionsAttributes(BaseModel):
27
+ slug: Optional[str] = None
28
+
29
+ name: Optional[str] = None
30
+
31
+ country: Optional[Country] = None
32
+
33
+
34
+ class RegionsDataTypedDict(TypedDict):
35
+ id: NotRequired[str]
36
+ attributes: NotRequired[RegionsAttributesTypedDict]
37
+
38
+
39
+ class RegionsData(BaseModel):
40
+ id: Optional[str] = None
41
+
42
+ attributes: Optional[RegionsAttributes] = None
43
+
44
+
45
+ class RegionsTypedDict(TypedDict):
46
+ data: NotRequired[List[RegionsDataTypedDict]]
47
+
48
+
49
+ class Regions(BaseModel):
50
+ data: Optional[List[RegionsData]] = None
@@ -0,0 +1,27 @@
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
6
+
7
+ from latitudesh_python_sdk.models import LatitudeshError
8
+
9
+
10
+ @dataclass(unsafe_hash=True)
11
+ class ResponseValidationError(LatitudeshError):
12
+ """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
13
+
14
+ def __init__(
15
+ self,
16
+ message: str,
17
+ raw_response: httpx.Response,
18
+ cause: Exception,
19
+ body: Optional[str] = None,
20
+ ):
21
+ message = f"{message}: {cause}"
22
+ super().__init__(message, raw_response, body)
23
+
24
+ @property
25
+ def cause(self):
26
+ """Normally the Pydantic ValidationError"""
27
+ return self.__cause__
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .role_data import RoleData, RoleDataTypedDict
5
+ from latitudesh_python_sdk.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class RoleMetaTypedDict(TypedDict):
11
+ pass
12
+
13
+
14
+ class RoleMeta(BaseModel):
15
+ pass
16
+
17
+
18
+ class RoleTypedDict(TypedDict):
19
+ data: NotRequired[RoleDataTypedDict]
20
+ meta: NotRequired[RoleMetaTypedDict]
21
+
22
+
23
+ class Role(BaseModel):
24
+ data: Optional[RoleData] = None
25
+
26
+ meta: Optional[RoleMeta] = None