latitudesh-python-sdk 0.0.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of latitudesh-python-sdk might be problematic. Click here for more details.

Files changed (206) hide show
  1. latitudesh_python_sdk/__init__.py +18 -0
  2. latitudesh_python_sdk/_hooks/__init__.py +5 -0
  3. latitudesh_python_sdk/_hooks/registration.py +13 -0
  4. latitudesh_python_sdk/_hooks/sdkhooks.py +76 -0
  5. latitudesh_python_sdk/_hooks/types.py +106 -0
  6. latitudesh_python_sdk/_version.py +15 -0
  7. latitudesh_python_sdk/apikeys.py +802 -0
  8. latitudesh_python_sdk/basesdk.py +366 -0
  9. latitudesh_python_sdk/billing.py +210 -0
  10. latitudesh_python_sdk/events_sdk.py +240 -0
  11. latitudesh_python_sdk/firewalls_sdk.py +1640 -0
  12. latitudesh_python_sdk/httpclient.py +136 -0
  13. latitudesh_python_sdk/ipaddresses_sdk.py +448 -0
  14. latitudesh_python_sdk/models/__init__.py +1927 -0
  15. latitudesh_python_sdk/models/api_key.py +81 -0
  16. latitudesh_python_sdk/models/apierror.py +22 -0
  17. latitudesh_python_sdk/models/assign_server_virtual_networkop.py +43 -0
  18. latitudesh_python_sdk/models/bandwidth_packages.py +67 -0
  19. latitudesh_python_sdk/models/bandwidth_plan.py +72 -0
  20. latitudesh_python_sdk/models/bandwidth_plans.py +15 -0
  21. latitudesh_python_sdk/models/billing_usage.py +158 -0
  22. latitudesh_python_sdk/models/create_api_key.py +40 -0
  23. latitudesh_python_sdk/models/create_firewall_assignmentop.py +61 -0
  24. latitudesh_python_sdk/models/create_firewallop.py +69 -0
  25. latitudesh_python_sdk/models/create_ipmi_sessionop.py +16 -0
  26. latitudesh_python_sdk/models/create_projectop.py +79 -0
  27. latitudesh_python_sdk/models/create_server_actionop.py +69 -0
  28. latitudesh_python_sdk/models/create_server_out_of_bandop.py +61 -0
  29. latitudesh_python_sdk/models/create_server_reinstallop.py +140 -0
  30. latitudesh_python_sdk/models/create_serverop.py +173 -0
  31. latitudesh_python_sdk/models/create_tagop.py +50 -0
  32. latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
  33. latitudesh_python_sdk/models/custom_tag.py +54 -0
  34. latitudesh_python_sdk/models/delete_api_keyop.py +16 -0
  35. latitudesh_python_sdk/models/delete_firewall_assignmentop.py +25 -0
  36. latitudesh_python_sdk/models/delete_firewallop.py +18 -0
  37. latitudesh_python_sdk/models/delete_project_ssh_keyop.py +23 -0
  38. latitudesh_python_sdk/models/delete_project_user_dataop.py +23 -0
  39. latitudesh_python_sdk/models/delete_projectop.py +18 -0
  40. latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
  41. latitudesh_python_sdk/models/delete_virtual_networks_assignmentsop.py +16 -0
  42. latitudesh_python_sdk/models/delete_vpn_sessionop.py +16 -0
  43. latitudesh_python_sdk/models/deploy_config.py +74 -0
  44. latitudesh_python_sdk/models/destroy_serverop.py +31 -0
  45. latitudesh_python_sdk/models/destroy_tagop.py +16 -0
  46. latitudesh_python_sdk/models/destroy_team_memberop.py +18 -0
  47. latitudesh_python_sdk/models/destroy_virtual_machineop.py +16 -0
  48. latitudesh_python_sdk/models/destroy_virtual_networkop.py +18 -0
  49. latitudesh_python_sdk/models/error_object.py +49 -0
  50. latitudesh_python_sdk/models/events.py +90 -0
  51. latitudesh_python_sdk/models/filesystem_data.py +53 -0
  52. latitudesh_python_sdk/models/firewall.py +71 -0
  53. latitudesh_python_sdk/models/firewall_server.py +50 -0
  54. latitudesh_python_sdk/models/firewalls.py +26 -0
  55. latitudesh_python_sdk/models/get_bandwidth_plansop.py +33 -0
  56. latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
  57. latitudesh_python_sdk/models/get_eventsop.py +98 -0
  58. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +18 -0
  59. latitudesh_python_sdk/models/get_firewallop.py +18 -0
  60. latitudesh_python_sdk/models/get_ipop.py +33 -0
  61. latitudesh_python_sdk/models/get_ipsop.py +91 -0
  62. latitudesh_python_sdk/models/get_planop.py +16 -0
  63. latitudesh_python_sdk/models/get_plans_operating_systemop.py +19 -0
  64. latitudesh_python_sdk/models/get_plansop.py +125 -0
  65. latitudesh_python_sdk/models/get_project_ssh_keyop.py +37 -0
  66. latitudesh_python_sdk/models/get_project_ssh_keysop.py +33 -0
  67. latitudesh_python_sdk/models/get_project_user_dataop.py +38 -0
  68. latitudesh_python_sdk/models/get_project_users_dataop.py +46 -0
  69. latitudesh_python_sdk/models/get_projectsop.py +76 -0
  70. latitudesh_python_sdk/models/get_regionop.py +18 -0
  71. latitudesh_python_sdk/models/get_role_idop.py +16 -0
  72. latitudesh_python_sdk/models/get_rolesop.py +19 -0
  73. latitudesh_python_sdk/models/get_server_deploy_configop.py +18 -0
  74. latitudesh_python_sdk/models/get_server_out_of_bandop.py +18 -0
  75. latitudesh_python_sdk/models/get_serverop.py +33 -0
  76. latitudesh_python_sdk/models/get_serversop.py +156 -0
  77. latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
  78. latitudesh_python_sdk/models/get_traffic_consumptionop.py +45 -0
  79. latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
  80. latitudesh_python_sdk/models/get_user_profileop.py +19 -0
  81. latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
  82. latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +40 -0
  83. latitudesh_python_sdk/models/get_virtual_networksop.py +40 -0
  84. latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
  85. latitudesh_python_sdk/models/index_virtual_machineop.py +22 -0
  86. latitudesh_python_sdk/models/ip_address.py +122 -0
  87. latitudesh_python_sdk/models/ip_addresses.py +15 -0
  88. latitudesh_python_sdk/models/ipmi_session.py +53 -0
  89. latitudesh_python_sdk/models/list_firewallsop.py +20 -0
  90. latitudesh_python_sdk/models/membership.py +63 -0
  91. latitudesh_python_sdk/models/operating_systems.py +57 -0
  92. latitudesh_python_sdk/models/out_of_band_connection.py +88 -0
  93. latitudesh_python_sdk/models/patch_current_teamop.py +91 -0
  94. latitudesh_python_sdk/models/patch_storage_filesystemsop.py +79 -0
  95. latitudesh_python_sdk/models/patch_user_profileop.py +88 -0
  96. latitudesh_python_sdk/models/plan.py +15 -0
  97. latitudesh_python_sdk/models/plan_data.py +206 -0
  98. latitudesh_python_sdk/models/post_api_keyop.py +19 -0
  99. latitudesh_python_sdk/models/post_project_ssh_keyop.py +81 -0
  100. latitudesh_python_sdk/models/post_project_user_dataop.py +68 -0
  101. latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
  102. latitudesh_python_sdk/models/post_team_membersop.py +54 -0
  103. latitudesh_python_sdk/models/post_teamop.py +67 -0
  104. latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
  105. latitudesh_python_sdk/models/project.py +130 -0
  106. latitudesh_python_sdk/models/project_include.py +72 -0
  107. latitudesh_python_sdk/models/projects.py +15 -0
  108. latitudesh_python_sdk/models/put_project_ssh_keyop.py +87 -0
  109. latitudesh_python_sdk/models/put_project_user_dataop.py +76 -0
  110. latitudesh_python_sdk/models/put_vpn_sessionop.py +16 -0
  111. latitudesh_python_sdk/models/region.py +50 -0
  112. latitudesh_python_sdk/models/region_resource_data.py +37 -0
  113. latitudesh_python_sdk/models/regions.py +50 -0
  114. latitudesh_python_sdk/models/role.py +15 -0
  115. latitudesh_python_sdk/models/role_data.py +35 -0
  116. latitudesh_python_sdk/models/security.py +25 -0
  117. latitudesh_python_sdk/models/server.py +54 -0
  118. latitudesh_python_sdk/models/server_action.py +52 -0
  119. latitudesh_python_sdk/models/server_data.py +219 -0
  120. latitudesh_python_sdk/models/server_exit_rescue_modeop.py +16 -0
  121. latitudesh_python_sdk/models/server_lockop.py +16 -0
  122. latitudesh_python_sdk/models/server_rescue.py +22 -0
  123. latitudesh_python_sdk/models/server_schedule_deletion.py +44 -0
  124. latitudesh_python_sdk/models/server_schedule_deletionop.py +16 -0
  125. latitudesh_python_sdk/models/server_start_rescue_modeop.py +16 -0
  126. latitudesh_python_sdk/models/server_unlockop.py +16 -0
  127. latitudesh_python_sdk/models/server_unschedule_deletionop.py +16 -0
  128. latitudesh_python_sdk/models/servers.py +26 -0
  129. latitudesh_python_sdk/models/show_virtual_machineop.py +16 -0
  130. latitudesh_python_sdk/models/ssh_key.py +15 -0
  131. latitudesh_python_sdk/models/ssh_key_data.py +55 -0
  132. latitudesh_python_sdk/models/storage_plan.py +36 -0
  133. latitudesh_python_sdk/models/storage_plans.py +15 -0
  134. latitudesh_python_sdk/models/team.py +74 -0
  135. latitudesh_python_sdk/models/team_include.py +43 -0
  136. latitudesh_python_sdk/models/team_members.py +51 -0
  137. latitudesh_python_sdk/models/teams.py +26 -0
  138. latitudesh_python_sdk/models/traffic.py +133 -0
  139. latitudesh_python_sdk/models/traffic_quota.py +106 -0
  140. latitudesh_python_sdk/models/update_api_key.py +48 -0
  141. latitudesh_python_sdk/models/update_api_keyop.py +41 -0
  142. latitudesh_python_sdk/models/update_firewallop.py +89 -0
  143. latitudesh_python_sdk/models/update_plans_bandwidthop.py +50 -0
  144. latitudesh_python_sdk/models/update_projectop.py +95 -0
  145. latitudesh_python_sdk/models/update_server_deploy_configop.py +122 -0
  146. latitudesh_python_sdk/models/update_serverop.py +69 -0
  147. latitudesh_python_sdk/models/update_tagop.py +74 -0
  148. latitudesh_python_sdk/models/update_virtual_networkop.py +67 -0
  149. latitudesh_python_sdk/models/user.py +59 -0
  150. latitudesh_python_sdk/models/user_data.py +15 -0
  151. latitudesh_python_sdk/models/user_data_properties.py +46 -0
  152. latitudesh_python_sdk/models/user_include.py +52 -0
  153. latitudesh_python_sdk/models/user_team.py +61 -0
  154. latitudesh_python_sdk/models/user_teams.py +26 -0
  155. latitudesh_python_sdk/models/user_update.py +37 -0
  156. latitudesh_python_sdk/models/virtual_machine.py +25 -0
  157. latitudesh_python_sdk/models/virtual_machine_payload.py +41 -0
  158. latitudesh_python_sdk/models/virtual_machine_plans.py +180 -0
  159. latitudesh_python_sdk/models/virtual_network.py +103 -0
  160. latitudesh_python_sdk/models/virtual_network1.py +84 -0
  161. latitudesh_python_sdk/models/virtual_network_assignment.py +37 -0
  162. latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
  163. latitudesh_python_sdk/models/virtual_networks.py +26 -0
  164. latitudesh_python_sdk/models/vpn_session_data_with_password.py +77 -0
  165. latitudesh_python_sdk/models/vpn_session_with_password.py +18 -0
  166. latitudesh_python_sdk/operatingsystems_sdk.py +188 -0
  167. latitudesh_python_sdk/plans.py +1178 -0
  168. latitudesh_python_sdk/privatenetworks.py +1672 -0
  169. latitudesh_python_sdk/projects_sdk.py +864 -0
  170. latitudesh_python_sdk/py.typed +1 -0
  171. latitudesh_python_sdk/regions_sdk.py +376 -0
  172. latitudesh_python_sdk/roles.py +374 -0
  173. latitudesh_python_sdk/sdk.py +214 -0
  174. latitudesh_python_sdk/sdkconfiguration.py +57 -0
  175. latitudesh_python_sdk/servers_sdk.py +3810 -0
  176. latitudesh_python_sdk/sshkeys.py +1050 -0
  177. latitudesh_python_sdk/storage.py +820 -0
  178. latitudesh_python_sdk/tags.py +786 -0
  179. latitudesh_python_sdk/teams_sdk.py +596 -0
  180. latitudesh_python_sdk/teamsmembers.py +578 -0
  181. latitudesh_python_sdk/traffic_sdk.py +400 -0
  182. latitudesh_python_sdk/types/__init__.py +21 -0
  183. latitudesh_python_sdk/types/basemodel.py +39 -0
  184. latitudesh_python_sdk/userdata_sdk.py +1052 -0
  185. latitudesh_python_sdk/userprofile.py +596 -0
  186. latitudesh_python_sdk/utils/__init__.py +101 -0
  187. latitudesh_python_sdk/utils/annotations.py +55 -0
  188. latitudesh_python_sdk/utils/enums.py +34 -0
  189. latitudesh_python_sdk/utils/eventstreaming.py +238 -0
  190. latitudesh_python_sdk/utils/forms.py +202 -0
  191. latitudesh_python_sdk/utils/headers.py +136 -0
  192. latitudesh_python_sdk/utils/logger.py +27 -0
  193. latitudesh_python_sdk/utils/metadata.py +118 -0
  194. latitudesh_python_sdk/utils/queryparams.py +205 -0
  195. latitudesh_python_sdk/utils/requestbodies.py +66 -0
  196. latitudesh_python_sdk/utils/retries.py +217 -0
  197. latitudesh_python_sdk/utils/security.py +192 -0
  198. latitudesh_python_sdk/utils/serializers.py +219 -0
  199. latitudesh_python_sdk/utils/url.py +155 -0
  200. latitudesh_python_sdk/utils/values.py +137 -0
  201. latitudesh_python_sdk/virtualmachines.py +772 -0
  202. latitudesh_python_sdk/vpnsessions.py +818 -0
  203. latitudesh_python_sdk-0.0.6.dist-info/LICENSE +21 -0
  204. latitudesh_python_sdk-0.0.6.dist-info/METADATA +730 -0
  205. latitudesh_python_sdk-0.0.6.dist-info/RECORD +206 -0
  206. latitudesh_python_sdk-0.0.6.dist-info/WHEEL +4 -0
@@ -0,0 +1,81 @@
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 Type(str, Enum):
12
+ API_KEYS = "api_keys"
13
+
14
+
15
+ class APIKeyUserTypedDict(TypedDict):
16
+ r"""The owner of the API Key"""
17
+
18
+ id: NotRequired[str]
19
+ email: NotRequired[str]
20
+
21
+
22
+ class APIKeyUser(BaseModel):
23
+ r"""The owner of the API Key"""
24
+
25
+ id: Optional[str] = None
26
+
27
+ email: Optional[str] = None
28
+
29
+
30
+ class AttributesTypedDict(TypedDict):
31
+ name: NotRequired[str]
32
+ r"""Name of the API Key"""
33
+ api_version: NotRequired[str]
34
+ r"""The API version associated with this API Key"""
35
+ token_last_slice: NotRequired[str]
36
+ r"""The last 5 characters of the token created for this API Key"""
37
+ last_used_at: NotRequired[datetime]
38
+ r"""The last time a request was made to the API using this API Key"""
39
+ user: NotRequired[APIKeyUserTypedDict]
40
+ r"""The owner of the API Key"""
41
+ created_at: NotRequired[datetime]
42
+ r"""The time when the API Key was created"""
43
+ updated_at: NotRequired[datetime]
44
+ r"""The time when the API Key was updated"""
45
+
46
+
47
+ class Attributes(BaseModel):
48
+ name: Optional[str] = None
49
+ r"""Name of the API Key"""
50
+
51
+ api_version: Optional[str] = None
52
+ r"""The API version associated with this API Key"""
53
+
54
+ token_last_slice: Optional[str] = None
55
+ r"""The last 5 characters of the token created for this API Key"""
56
+
57
+ last_used_at: Optional[datetime] = None
58
+ r"""The last time a request was made to the API using this API Key"""
59
+
60
+ user: Optional[APIKeyUser] = None
61
+ r"""The owner of the API Key"""
62
+
63
+ created_at: Optional[datetime] = None
64
+ r"""The time when the API Key was created"""
65
+
66
+ updated_at: Optional[datetime] = None
67
+ r"""The time when the API Key was updated"""
68
+
69
+
70
+ class APIKeyTypedDict(TypedDict):
71
+ id: NotRequired[str]
72
+ type: NotRequired[Type]
73
+ attributes: NotRequired[AttributesTypedDict]
74
+
75
+
76
+ class APIKey(BaseModel):
77
+ id: Optional[str] = None
78
+
79
+ type: Optional[Type] = None
80
+
81
+ attributes: Optional[Attributes] = None
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from dataclasses import dataclass
4
+ from typing import Optional
5
+ import httpx
6
+
7
+
8
+ @dataclass
9
+ class APIError(Exception):
10
+ """Represents an error returned by the API."""
11
+
12
+ message: str
13
+ status_code: int = -1
14
+ body: str = ""
15
+ raw_response: Optional[httpx.Response] = None
16
+
17
+ def __str__(self):
18
+ body = ""
19
+ if len(self.body) > 0:
20
+ body = f"\n{self.body}"
21
+
22
+ return f"{self.message}: Status {self.status_code}{body}"
@@ -0,0 +1,43 @@
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 AssignServerVirtualNetworkPrivateNetworksType(str, Enum):
11
+ VIRTUAL_NETWORK_ASSIGNMENT = "virtual_network_assignment"
12
+
13
+
14
+ class AssignServerVirtualNetworkPrivateNetworksAttributesTypedDict(TypedDict):
15
+ server_id: str
16
+ virtual_network_id: int
17
+
18
+
19
+ class AssignServerVirtualNetworkPrivateNetworksAttributes(BaseModel):
20
+ server_id: str
21
+
22
+ virtual_network_id: int
23
+
24
+
25
+ class AssignServerVirtualNetworkPrivateNetworksDataTypedDict(TypedDict):
26
+ type: AssignServerVirtualNetworkPrivateNetworksType
27
+ attributes: NotRequired[
28
+ AssignServerVirtualNetworkPrivateNetworksAttributesTypedDict
29
+ ]
30
+
31
+
32
+ class AssignServerVirtualNetworkPrivateNetworksData(BaseModel):
33
+ type: AssignServerVirtualNetworkPrivateNetworksType
34
+
35
+ attributes: Optional[AssignServerVirtualNetworkPrivateNetworksAttributes] = None
36
+
37
+
38
+ class AssignServerVirtualNetworkPrivateNetworksRequestBodyTypedDict(TypedDict):
39
+ data: NotRequired[AssignServerVirtualNetworkPrivateNetworksDataTypedDict]
40
+
41
+
42
+ class AssignServerVirtualNetworkPrivateNetworksRequestBody(BaseModel):
43
+ data: Optional[AssignServerVirtualNetworkPrivateNetworksData] = None
@@ -0,0 +1,67 @@
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 BandwidthPackagesType(str, Enum):
11
+ BANDWIDTH_PACKAGES = "bandwidth_packages"
12
+
13
+
14
+ class BandwidthPackagesProjectTypedDict(TypedDict):
15
+ id: NotRequired[int]
16
+ name: NotRequired[str]
17
+ slug: NotRequired[str]
18
+
19
+
20
+ class BandwidthPackagesProject(BaseModel):
21
+ id: Optional[int] = None
22
+
23
+ name: Optional[str] = None
24
+
25
+ slug: Optional[str] = None
26
+
27
+
28
+ class PackagesTypedDict(TypedDict):
29
+ region_slug: NotRequired[str]
30
+ currency: NotRequired[str]
31
+ unit_price: NotRequired[float]
32
+ contracted: NotRequired[int]
33
+ total_price: NotRequired[float]
34
+
35
+
36
+ class Packages(BaseModel):
37
+ region_slug: Optional[str] = None
38
+
39
+ currency: Optional[str] = None
40
+
41
+ unit_price: Optional[float] = None
42
+
43
+ contracted: Optional[int] = None
44
+
45
+ total_price: Optional[float] = None
46
+
47
+
48
+ class BandwidthPackagesAttributesTypedDict(TypedDict):
49
+ project: NotRequired[BandwidthPackagesProjectTypedDict]
50
+ packages: NotRequired[List[PackagesTypedDict]]
51
+
52
+
53
+ class BandwidthPackagesAttributes(BaseModel):
54
+ project: Optional[BandwidthPackagesProject] = None
55
+
56
+ packages: Optional[List[Packages]] = None
57
+
58
+
59
+ class BandwidthPackagesTypedDict(TypedDict):
60
+ type: NotRequired[BandwidthPackagesType]
61
+ attributes: NotRequired[BandwidthPackagesAttributesTypedDict]
62
+
63
+
64
+ class BandwidthPackages(BaseModel):
65
+ type: Optional[BandwidthPackagesType] = None
66
+
67
+ attributes: Optional[BandwidthPackagesAttributes] = None
@@ -0,0 +1,72 @@
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 BandwidthPlanType(str, Enum):
11
+ BANDWIDTH_PLAN = "bandwidth_plan"
12
+
13
+
14
+ class UsdTypedDict(TypedDict):
15
+ monthly: NotRequired[int]
16
+ hourly: NotRequired[int]
17
+
18
+
19
+ class Usd(BaseModel):
20
+ monthly: Optional[int] = None
21
+
22
+ hourly: Optional[int] = None
23
+
24
+
25
+ class BrlTypedDict(TypedDict):
26
+ monthly: NotRequired[int]
27
+ hourly: NotRequired[int]
28
+
29
+
30
+ class Brl(BaseModel):
31
+ monthly: Optional[int] = None
32
+
33
+ hourly: Optional[int] = None
34
+
35
+
36
+ class PricingTypedDict(TypedDict):
37
+ usd: NotRequired[UsdTypedDict]
38
+ brl: NotRequired[BrlTypedDict]
39
+
40
+
41
+ class Pricing(BaseModel):
42
+ usd: Optional[Usd] = None
43
+
44
+ brl: Optional[Brl] = None
45
+
46
+
47
+ class BandwidthPlanAttributesTypedDict(TypedDict):
48
+ region: NotRequired[str]
49
+ locations: NotRequired[List[str]]
50
+ pricing: NotRequired[PricingTypedDict]
51
+
52
+
53
+ class BandwidthPlanAttributes(BaseModel):
54
+ region: Optional[str] = None
55
+
56
+ locations: Optional[List[str]] = None
57
+
58
+ pricing: Optional[Pricing] = None
59
+
60
+
61
+ class BandwidthPlanTypedDict(TypedDict):
62
+ id: NotRequired[str]
63
+ type: NotRequired[BandwidthPlanType]
64
+ attributes: NotRequired[BandwidthPlanAttributesTypedDict]
65
+
66
+
67
+ class BandwidthPlan(BaseModel):
68
+ id: Optional[str] = None
69
+
70
+ type: Optional[BandwidthPlanType] = None
71
+
72
+ attributes: Optional[BandwidthPlanAttributes] = None
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .bandwidth_plan import BandwidthPlan, BandwidthPlanTypedDict
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 BandwidthPlansTypedDict(TypedDict):
11
+ data: NotRequired[List[BandwidthPlanTypedDict]]
12
+
13
+
14
+ class BandwidthPlans(BaseModel):
15
+ data: Optional[List[BandwidthPlan]] = None
@@ -0,0 +1,158 @@
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 List, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ class BillingUsageProjectTypedDict(TypedDict):
12
+ r"""The project in which the returned usage belongs to"""
13
+
14
+ id: NotRequired[str]
15
+ slug: NotRequired[str]
16
+ name: NotRequired[str]
17
+
18
+
19
+ class BillingUsageProject(BaseModel):
20
+ r"""The project in which the returned usage belongs to"""
21
+
22
+ id: Optional[str] = None
23
+
24
+ slug: Optional[str] = None
25
+
26
+ name: Optional[str] = None
27
+
28
+
29
+ class PeriodTypedDict(TypedDict):
30
+ r"""The period from the returned billing cycle"""
31
+
32
+ start: NotRequired[datetime]
33
+ end: NotRequired[datetime]
34
+
35
+
36
+ class Period(BaseModel):
37
+ r"""The period from the returned billing cycle"""
38
+
39
+ start: Optional[datetime] = None
40
+
41
+ end: Optional[datetime] = None
42
+
43
+
44
+ class Unit(str, Enum):
45
+ QUANTITY = "quantity"
46
+ HOUR = "hour"
47
+ MINUTE = "minute"
48
+
49
+
50
+ class UsageType(str, Enum):
51
+ LICENSED = "licensed"
52
+ METERED = "metered"
53
+
54
+
55
+ class MetadataTypedDict(TypedDict):
56
+ id: NotRequired[str]
57
+ hostname: NotRequired[str]
58
+ plan: NotRequired[str]
59
+ tags: NotRequired[List[str]]
60
+
61
+
62
+ class Metadata(BaseModel):
63
+ id: Optional[str] = None
64
+
65
+ hostname: Optional[str] = None
66
+
67
+ plan: Optional[str] = None
68
+
69
+ tags: Optional[List[str]] = None
70
+
71
+
72
+ class ProductsTypedDict(TypedDict):
73
+ id: NotRequired[str]
74
+ resource: NotRequired[str]
75
+ name: NotRequired[str]
76
+ start: NotRequired[datetime]
77
+ end: NotRequired[datetime]
78
+ unit: NotRequired[Unit]
79
+ unit_price: NotRequired[float]
80
+ r"""The unit price of the product in cents"""
81
+ usage_type: NotRequired[UsageType]
82
+ quantity: NotRequired[float]
83
+ price: NotRequired[float]
84
+ r"""The total usage price of the product in cents"""
85
+ metadata: NotRequired[MetadataTypedDict]
86
+
87
+
88
+ class Products(BaseModel):
89
+ id: Optional[str] = None
90
+
91
+ resource: Optional[str] = None
92
+
93
+ name: Optional[str] = None
94
+
95
+ start: Optional[datetime] = None
96
+
97
+ end: Optional[datetime] = None
98
+
99
+ unit: Optional[Unit] = None
100
+
101
+ unit_price: Optional[float] = None
102
+ r"""The unit price of the product in cents"""
103
+
104
+ usage_type: Optional[UsageType] = None
105
+
106
+ quantity: Optional[float] = None
107
+
108
+ price: Optional[float] = None
109
+ r"""The total usage price of the product in cents"""
110
+
111
+ metadata: Optional[Metadata] = None
112
+
113
+
114
+ class BillingUsageAttributesTypedDict(TypedDict):
115
+ project: NotRequired[BillingUsageProjectTypedDict]
116
+ r"""The project in which the returned usage belongs to"""
117
+ period: NotRequired[PeriodTypedDict]
118
+ r"""The period from the returned billing cycle"""
119
+ price: NotRequired[float]
120
+ r"""The total usage price in cents"""
121
+ threshold: NotRequired[float]
122
+ r"""The threshold which we use to charge your usage, in cents"""
123
+ products: NotRequired[List[ProductsTypedDict]]
124
+
125
+
126
+ class BillingUsageAttributes(BaseModel):
127
+ project: Optional[BillingUsageProject] = None
128
+ r"""The project in which the returned usage belongs to"""
129
+
130
+ period: Optional[Period] = None
131
+ r"""The period from the returned billing cycle"""
132
+
133
+ price: Optional[float] = None
134
+ r"""The total usage price in cents"""
135
+
136
+ threshold: Optional[float] = None
137
+ r"""The threshold which we use to charge your usage, in cents"""
138
+
139
+ products: Optional[List[Products]] = None
140
+
141
+
142
+ class BillingUsageDataTypedDict(TypedDict):
143
+ id: NotRequired[str]
144
+ attributes: NotRequired[BillingUsageAttributesTypedDict]
145
+
146
+
147
+ class BillingUsageData(BaseModel):
148
+ id: Optional[str] = None
149
+
150
+ attributes: Optional[BillingUsageAttributes] = None
151
+
152
+
153
+ class BillingUsageTypedDict(TypedDict):
154
+ data: NotRequired[BillingUsageDataTypedDict]
155
+
156
+
157
+ class BillingUsage(BaseModel):
158
+ data: Optional[BillingUsageData] = None
@@ -0,0 +1,40 @@
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 CreateAPIKeyType(str, Enum):
11
+ API_KEYS = "api_keys"
12
+
13
+
14
+ class CreateAPIKeyAttributesTypedDict(TypedDict):
15
+ name: NotRequired[str]
16
+ r"""Name of the API Key"""
17
+
18
+
19
+ class CreateAPIKeyAttributes(BaseModel):
20
+ name: Optional[str] = "Name of the API Key"
21
+ r"""Name of the API Key"""
22
+
23
+
24
+ class DataTypedDict(TypedDict):
25
+ type: CreateAPIKeyType
26
+ attributes: NotRequired[CreateAPIKeyAttributesTypedDict]
27
+
28
+
29
+ class Data(BaseModel):
30
+ type: CreateAPIKeyType
31
+
32
+ attributes: Optional[CreateAPIKeyAttributes] = None
33
+
34
+
35
+ class CreateAPIKeyTypedDict(TypedDict):
36
+ data: NotRequired[DataTypedDict]
37
+
38
+
39
+ class CreateAPIKey(BaseModel):
40
+ data: Optional[Data] = None
@@ -0,0 +1,61 @@
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 CreateFirewallAssignmentFirewallsType(str, Enum):
16
+ FIREWALL_ASSIGNMENTS = "firewall_assignments"
17
+
18
+
19
+ class CreateFirewallAssignmentFirewallsAttributesTypedDict(TypedDict):
20
+ server_id: str
21
+
22
+
23
+ class CreateFirewallAssignmentFirewallsAttributes(BaseModel):
24
+ server_id: str
25
+
26
+
27
+ class CreateFirewallAssignmentFirewallsDataTypedDict(TypedDict):
28
+ type: CreateFirewallAssignmentFirewallsType
29
+ attributes: NotRequired[CreateFirewallAssignmentFirewallsAttributesTypedDict]
30
+
31
+
32
+ class CreateFirewallAssignmentFirewallsData(BaseModel):
33
+ type: CreateFirewallAssignmentFirewallsType
34
+
35
+ attributes: Optional[CreateFirewallAssignmentFirewallsAttributes] = None
36
+
37
+
38
+ class CreateFirewallAssignmentFirewallsRequestBodyTypedDict(TypedDict):
39
+ data: CreateFirewallAssignmentFirewallsDataTypedDict
40
+
41
+
42
+ class CreateFirewallAssignmentFirewallsRequestBody(BaseModel):
43
+ data: CreateFirewallAssignmentFirewallsData
44
+
45
+
46
+ class CreateFirewallAssignmentRequestTypedDict(TypedDict):
47
+ firewall_id: str
48
+ r"""The Firewall ID"""
49
+ request_body: CreateFirewallAssignmentFirewallsRequestBodyTypedDict
50
+
51
+
52
+ class CreateFirewallAssignmentRequest(BaseModel):
53
+ firewall_id: Annotated[
54
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
55
+ ]
56
+ r"""The Firewall ID"""
57
+
58
+ request_body: Annotated[
59
+ CreateFirewallAssignmentFirewallsRequestBody,
60
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
61
+ ]
@@ -0,0 +1,69 @@
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
+ import pydantic
7
+ from typing import List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class CreateFirewallFirewallsType(str, Enum):
12
+ FIREWALLS = "firewalls"
13
+
14
+
15
+ class CreateFirewallProtocol(str, Enum):
16
+ TCP = "TCP"
17
+ UDP = "UDP"
18
+
19
+
20
+ class CreateFirewallRulesTypedDict(TypedDict):
21
+ from_: NotRequired[str]
22
+ to: NotRequired[str]
23
+ protocol: NotRequired[CreateFirewallProtocol]
24
+ port: NotRequired[str]
25
+ r"""Port number or range (e.g., \"80\", \"80-443\")"""
26
+
27
+
28
+ class CreateFirewallRules(BaseModel):
29
+ from_: Annotated[Optional[str], pydantic.Field(alias="from")] = None
30
+
31
+ to: Optional[str] = None
32
+
33
+ protocol: Optional[CreateFirewallProtocol] = None
34
+
35
+ port: Optional[str] = None
36
+ r"""Port number or range (e.g., \"80\", \"80-443\")"""
37
+
38
+
39
+ class CreateFirewallFirewallsAttributesTypedDict(TypedDict):
40
+ name: str
41
+ project: str
42
+ rules: NotRequired[List[CreateFirewallRulesTypedDict]]
43
+
44
+
45
+ class CreateFirewallFirewallsAttributes(BaseModel):
46
+ name: str
47
+
48
+ project: str
49
+
50
+ rules: Optional[List[CreateFirewallRules]] = None
51
+
52
+
53
+ class CreateFirewallFirewallsDataTypedDict(TypedDict):
54
+ type: CreateFirewallFirewallsType
55
+ attributes: NotRequired[CreateFirewallFirewallsAttributesTypedDict]
56
+
57
+
58
+ class CreateFirewallFirewallsData(BaseModel):
59
+ type: CreateFirewallFirewallsType
60
+
61
+ attributes: Optional[CreateFirewallFirewallsAttributes] = None
62
+
63
+
64
+ class CreateFirewallFirewallsRequestBodyTypedDict(TypedDict):
65
+ data: CreateFirewallFirewallsDataTypedDict
66
+
67
+
68
+ class CreateFirewallFirewallsRequestBody(BaseModel):
69
+ data: CreateFirewallFirewallsData
@@ -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 CreateIpmiSessionRequestTypedDict(TypedDict):
10
+ server_id: str
11
+
12
+
13
+ class CreateIpmiSessionRequest(BaseModel):
14
+ server_id: Annotated[
15
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
16
+ ]