latitudesh-python-sdk 1.1.0__py3-none-any.whl → 2.0.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.
Potentially problematic release.
This version of latitudesh-python-sdk might be problematic. Click here for more details.
- latitudesh_python_sdk/_hooks/types.py +7 -0
- latitudesh_python_sdk/_version.py +6 -4
- latitudesh_python_sdk/apikeys.py +22 -18
- latitudesh_python_sdk/basesdk.py +12 -20
- latitudesh_python_sdk/billing.py +2 -0
- latitudesh_python_sdk/events_sdk.py +2 -0
- latitudesh_python_sdk/firewalls_sdk.py +18 -2
- latitudesh_python_sdk/httpclient.py +6 -16
- latitudesh_python_sdk/ipaddresses_sdk.py +4 -0
- latitudesh_python_sdk/models/__init__.py +2563 -1126
- latitudesh_python_sdk/models/assign_server_virtual_networkop.py +2 -2
- latitudesh_python_sdk/models/{bandwidth_plan.py → bandwidth_plan_data.py} +9 -9
- latitudesh_python_sdk/models/bandwidth_plans.py +14 -3
- latitudesh_python_sdk/models/custom_tag.py +15 -0
- latitudesh_python_sdk/models/custom_tag_data.py +54 -0
- latitudesh_python_sdk/models/custom_tags.py +26 -0
- latitudesh_python_sdk/models/delete_ssh_keyop.py +16 -0
- latitudesh_python_sdk/models/delete_user_dataop.py +16 -0
- latitudesh_python_sdk/models/event_data.py +98 -0
- latitudesh_python_sdk/models/events.py +16 -1
- latitudesh_python_sdk/models/filesystem_data.py +4 -0
- latitudesh_python_sdk/models/firewall.py +15 -0
- latitudesh_python_sdk/models/firewall_assignment_data.py +50 -0
- latitudesh_python_sdk/models/firewall_assignments.py +29 -0
- latitudesh_python_sdk/models/firewall_data.py +71 -0
- latitudesh_python_sdk/models/firewall_server.py +4 -1
- latitudesh_python_sdk/models/firewalls.py +7 -7
- latitudesh_python_sdk/models/get_firewall_assignmentsop.py +3 -3
- latitudesh_python_sdk/models/get_ssh_keyop.py +30 -0
- latitudesh_python_sdk/models/get_ssh_keysop.py +22 -0
- latitudesh_python_sdk/models/get_traffic_consumptionop.py +8 -4
- latitudesh_python_sdk/models/get_user_dataop.py +31 -0
- latitudesh_python_sdk/models/get_users_dataop.py +35 -0
- latitudesh_python_sdk/models/operating_system_data.py +65 -0
- latitudesh_python_sdk/models/operating_systems.py +15 -0
- latitudesh_python_sdk/models/out_of_band_connection.py +4 -4
- latitudesh_python_sdk/models/patch_user_dataop.py +69 -0
- latitudesh_python_sdk/models/post_ssh_keyop.py +58 -0
- latitudesh_python_sdk/models/post_user_dataop.py +45 -0
- latitudesh_python_sdk/models/project_include.py +3 -0
- latitudesh_python_sdk/models/put_ssh_keyop.py +80 -0
- latitudesh_python_sdk/models/role.py +11 -0
- latitudesh_python_sdk/models/server_data.py +8 -0
- latitudesh_python_sdk/models/{ssh_key.py → ssh_keys.py} +13 -2
- latitudesh_python_sdk/models/storage_plan_data.py +47 -0
- latitudesh_python_sdk/models/storage_plans.py +14 -3
- latitudesh_python_sdk/models/update_serverop.py +60 -10
- latitudesh_python_sdk/models/user_data.py +11 -0
- latitudesh_python_sdk/models/virtual_network.py +19 -0
- latitudesh_python_sdk/models/virtual_network1.py +15 -0
- latitudesh_python_sdk/models/virtual_network_assignment.py +41 -0
- latitudesh_python_sdk/models/virtual_network_assignment_data.py +68 -0
- latitudesh_python_sdk/models/virtual_network_assignments.py +5 -5
- latitudesh_python_sdk/models/virtual_network_data.py +88 -0
- latitudesh_python_sdk/models/virtual_networks.py +3 -3
- latitudesh_python_sdk/operatingsystems_sdk.py +2 -0
- latitudesh_python_sdk/plans.py +42 -26
- latitudesh_python_sdk/privatenetworks.py +44 -28
- latitudesh_python_sdk/projects_sdk.py +36 -28
- latitudesh_python_sdk/regions_sdk.py +4 -0
- latitudesh_python_sdk/roles.py +4 -0
- latitudesh_python_sdk/sdk.py +110 -73
- latitudesh_python_sdk/sdkconfiguration.py +0 -7
- latitudesh_python_sdk/servers_sdk.py +102 -46
- latitudesh_python_sdk/{sshkeys.py → sshkeys_sdk.py} +1030 -5
- latitudesh_python_sdk/storage.py +8 -0
- latitudesh_python_sdk/tags.py +30 -22
- latitudesh_python_sdk/teams_sdk.py +6 -0
- latitudesh_python_sdk/teamsmembers.py +6 -0
- latitudesh_python_sdk/traffic_sdk.py +12 -8
- latitudesh_python_sdk/userdata_sdk.py +1029 -0
- latitudesh_python_sdk/userprofile.py +6 -0
- latitudesh_python_sdk/utils/__init__.py +131 -46
- latitudesh_python_sdk/utils/forms.py +49 -28
- latitudesh_python_sdk/virtualmachines.py +36 -18
- latitudesh_python_sdk/vpnsessions.py +38 -26
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/METADATA +30 -20
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/RECORD +80 -61
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/WHEEL +1 -1
- latitudesh_python_sdk/models/storage_plan.py +0 -36
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/LICENSE +0 -0
latitudesh_python_sdk/roles.py
CHANGED
|
@@ -73,6 +73,7 @@ class Roles(BaseSDK):
|
|
|
73
73
|
|
|
74
74
|
http_res = self.do_request(
|
|
75
75
|
hook_ctx=HookContext(
|
|
76
|
+
config=self.sdk_configuration,
|
|
76
77
|
base_url=base_url or "",
|
|
77
78
|
operation_id="get-roles",
|
|
78
79
|
oauth2_scopes=[],
|
|
@@ -193,6 +194,7 @@ class Roles(BaseSDK):
|
|
|
193
194
|
|
|
194
195
|
http_res = await self.do_request_async(
|
|
195
196
|
hook_ctx=HookContext(
|
|
197
|
+
config=self.sdk_configuration,
|
|
196
198
|
base_url=base_url or "",
|
|
197
199
|
operation_id="get-roles",
|
|
198
200
|
oauth2_scopes=[],
|
|
@@ -307,6 +309,7 @@ class Roles(BaseSDK):
|
|
|
307
309
|
|
|
308
310
|
http_res = self.do_request(
|
|
309
311
|
hook_ctx=HookContext(
|
|
312
|
+
config=self.sdk_configuration,
|
|
310
313
|
base_url=base_url or "",
|
|
311
314
|
operation_id="get-role-id",
|
|
312
315
|
oauth2_scopes=[],
|
|
@@ -402,6 +405,7 @@ class Roles(BaseSDK):
|
|
|
402
405
|
|
|
403
406
|
http_res = await self.do_request_async(
|
|
404
407
|
hook_ctx=HookContext(
|
|
408
|
+
config=self.sdk_configuration,
|
|
405
409
|
base_url=base_url or "",
|
|
406
410
|
operation_id="get-role-id",
|
|
407
411
|
oauth2_scopes=[],
|
latitudesh_python_sdk/sdk.py
CHANGED
|
@@ -6,60 +6,96 @@ from .sdkconfiguration import SDKConfiguration
|
|
|
6
6
|
from .utils.logger import Logger, get_default_logger
|
|
7
7
|
from .utils.retries import RetryConfig
|
|
8
8
|
import httpx
|
|
9
|
+
import importlib
|
|
9
10
|
from latitudesh_python_sdk import models, utils
|
|
10
11
|
from latitudesh_python_sdk._hooks import SDKHooks
|
|
11
|
-
from latitudesh_python_sdk.apikeys import APIKeys
|
|
12
|
-
from latitudesh_python_sdk.billing import Billing
|
|
13
|
-
from latitudesh_python_sdk.events_sdk import EventsSDK
|
|
14
|
-
from latitudesh_python_sdk.firewalls_sdk import FirewallsSDK
|
|
15
|
-
from latitudesh_python_sdk.ipaddresses_sdk import IPAddressesSDK
|
|
16
|
-
from latitudesh_python_sdk.operatingsystems_sdk import OperatingSystemsSDK
|
|
17
|
-
from latitudesh_python_sdk.plans import Plans
|
|
18
|
-
from latitudesh_python_sdk.privatenetworks import PrivateNetworks
|
|
19
|
-
from latitudesh_python_sdk.projects_sdk import ProjectsSDK
|
|
20
|
-
from latitudesh_python_sdk.regions_sdk import RegionsSDK
|
|
21
|
-
from latitudesh_python_sdk.roles import Roles
|
|
22
|
-
from latitudesh_python_sdk.servers_sdk import ServersSDK
|
|
23
|
-
from latitudesh_python_sdk.sshkeys import SSHKeys
|
|
24
|
-
from latitudesh_python_sdk.storage import Storage
|
|
25
|
-
from latitudesh_python_sdk.tags import Tags
|
|
26
|
-
from latitudesh_python_sdk.teams_sdk import TeamsSDK
|
|
27
|
-
from latitudesh_python_sdk.teamsmembers import TeamsMembers
|
|
28
|
-
from latitudesh_python_sdk.traffic_sdk import TrafficSDK
|
|
29
12
|
from latitudesh_python_sdk.types import OptionalNullable, UNSET
|
|
30
|
-
from
|
|
31
|
-
from latitudesh_python_sdk.userprofile import UserProfile
|
|
32
|
-
from latitudesh_python_sdk.virtualmachines import VirtualMachines
|
|
33
|
-
from latitudesh_python_sdk.vpnsessions import VpnSessions
|
|
34
|
-
from typing import Any, Callable, Dict, List, Optional, Union, cast
|
|
13
|
+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union, cast
|
|
35
14
|
import weakref
|
|
36
15
|
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from latitudesh_python_sdk.apikeys import APIKeys
|
|
18
|
+
from latitudesh_python_sdk.billing import Billing
|
|
19
|
+
from latitudesh_python_sdk.events_sdk import EventsSDK
|
|
20
|
+
from latitudesh_python_sdk.firewalls_sdk import FirewallsSDK
|
|
21
|
+
from latitudesh_python_sdk.ipaddresses_sdk import IPAddressesSDK
|
|
22
|
+
from latitudesh_python_sdk.operatingsystems_sdk import OperatingSystemsSDK
|
|
23
|
+
from latitudesh_python_sdk.plans import Plans
|
|
24
|
+
from latitudesh_python_sdk.privatenetworks import PrivateNetworks
|
|
25
|
+
from latitudesh_python_sdk.projects_sdk import ProjectsSDK
|
|
26
|
+
from latitudesh_python_sdk.regions_sdk import RegionsSDK
|
|
27
|
+
from latitudesh_python_sdk.roles import Roles
|
|
28
|
+
from latitudesh_python_sdk.servers_sdk import ServersSDK
|
|
29
|
+
from latitudesh_python_sdk.sshkeys_sdk import SSHKeysSDK
|
|
30
|
+
from latitudesh_python_sdk.storage import Storage
|
|
31
|
+
from latitudesh_python_sdk.tags import Tags
|
|
32
|
+
from latitudesh_python_sdk.teams_sdk import TeamsSDK
|
|
33
|
+
from latitudesh_python_sdk.teamsmembers import TeamsMembers
|
|
34
|
+
from latitudesh_python_sdk.traffic_sdk import TrafficSDK
|
|
35
|
+
from latitudesh_python_sdk.userdata_sdk import UserDataSDK
|
|
36
|
+
from latitudesh_python_sdk.userprofile import UserProfile
|
|
37
|
+
from latitudesh_python_sdk.virtualmachines import VirtualMachines
|
|
38
|
+
from latitudesh_python_sdk.vpnsessions import VpnSessions
|
|
39
|
+
|
|
37
40
|
|
|
38
41
|
class Latitudesh(BaseSDK):
|
|
39
42
|
r"""Latitude.sh API: The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It allows you to perform the same actions as the Latitude.sh dashboard."""
|
|
40
43
|
|
|
41
|
-
api_keys: APIKeys
|
|
42
|
-
billing: Billing
|
|
43
|
-
events: EventsSDK
|
|
44
|
-
firewalls: FirewallsSDK
|
|
45
|
-
ip_addresses: IPAddressesSDK
|
|
46
|
-
teams_members: TeamsMembers
|
|
47
|
-
operating_systems: OperatingSystemsSDK
|
|
48
|
-
plans: Plans
|
|
49
|
-
projects: ProjectsSDK
|
|
50
|
-
regions: RegionsSDK
|
|
51
|
-
roles: Roles
|
|
52
|
-
servers: ServersSDK
|
|
53
|
-
ssh_keys:
|
|
54
|
-
storage: Storage
|
|
55
|
-
tags: Tags
|
|
56
|
-
teams: TeamsSDK
|
|
57
|
-
traffic: TrafficSDK
|
|
58
|
-
user_data: UserDataSDK
|
|
59
|
-
user_profile: UserProfile
|
|
60
|
-
virtual_machines: VirtualMachines
|
|
61
|
-
private_networks: PrivateNetworks
|
|
62
|
-
vpn_sessions: VpnSessions
|
|
44
|
+
api_keys: "APIKeys"
|
|
45
|
+
billing: "Billing"
|
|
46
|
+
events: "EventsSDK"
|
|
47
|
+
firewalls: "FirewallsSDK"
|
|
48
|
+
ip_addresses: "IPAddressesSDK"
|
|
49
|
+
teams_members: "TeamsMembers"
|
|
50
|
+
operating_systems: "OperatingSystemsSDK"
|
|
51
|
+
plans: "Plans"
|
|
52
|
+
projects: "ProjectsSDK"
|
|
53
|
+
regions: "RegionsSDK"
|
|
54
|
+
roles: "Roles"
|
|
55
|
+
servers: "ServersSDK"
|
|
56
|
+
ssh_keys: "SSHKeysSDK"
|
|
57
|
+
storage: "Storage"
|
|
58
|
+
tags: "Tags"
|
|
59
|
+
teams: "TeamsSDK"
|
|
60
|
+
traffic: "TrafficSDK"
|
|
61
|
+
user_data: "UserDataSDK"
|
|
62
|
+
user_profile: "UserProfile"
|
|
63
|
+
virtual_machines: "VirtualMachines"
|
|
64
|
+
private_networks: "PrivateNetworks"
|
|
65
|
+
vpn_sessions: "VpnSessions"
|
|
66
|
+
_sub_sdk_map = {
|
|
67
|
+
"api_keys": ("latitudesh_python_sdk.apikeys", "APIKeys"),
|
|
68
|
+
"billing": ("latitudesh_python_sdk.billing", "Billing"),
|
|
69
|
+
"events": ("latitudesh_python_sdk.events_sdk", "EventsSDK"),
|
|
70
|
+
"firewalls": ("latitudesh_python_sdk.firewalls_sdk", "FirewallsSDK"),
|
|
71
|
+
"ip_addresses": ("latitudesh_python_sdk.ipaddresses_sdk", "IPAddressesSDK"),
|
|
72
|
+
"teams_members": ("latitudesh_python_sdk.teamsmembers", "TeamsMembers"),
|
|
73
|
+
"operating_systems": (
|
|
74
|
+
"latitudesh_python_sdk.operatingsystems_sdk",
|
|
75
|
+
"OperatingSystemsSDK",
|
|
76
|
+
),
|
|
77
|
+
"plans": ("latitudesh_python_sdk.plans", "Plans"),
|
|
78
|
+
"projects": ("latitudesh_python_sdk.projects_sdk", "ProjectsSDK"),
|
|
79
|
+
"regions": ("latitudesh_python_sdk.regions_sdk", "RegionsSDK"),
|
|
80
|
+
"roles": ("latitudesh_python_sdk.roles", "Roles"),
|
|
81
|
+
"servers": ("latitudesh_python_sdk.servers_sdk", "ServersSDK"),
|
|
82
|
+
"ssh_keys": ("latitudesh_python_sdk.sshkeys_sdk", "SSHKeysSDK"),
|
|
83
|
+
"storage": ("latitudesh_python_sdk.storage", "Storage"),
|
|
84
|
+
"tags": ("latitudesh_python_sdk.tags", "Tags"),
|
|
85
|
+
"teams": ("latitudesh_python_sdk.teams_sdk", "TeamsSDK"),
|
|
86
|
+
"traffic": ("latitudesh_python_sdk.traffic_sdk", "TrafficSDK"),
|
|
87
|
+
"user_data": ("latitudesh_python_sdk.userdata_sdk", "UserDataSDK"),
|
|
88
|
+
"user_profile": ("latitudesh_python_sdk.userprofile", "UserProfile"),
|
|
89
|
+
"virtual_machines": (
|
|
90
|
+
"latitudesh_python_sdk.virtualmachines",
|
|
91
|
+
"VirtualMachines",
|
|
92
|
+
),
|
|
93
|
+
"private_networks": (
|
|
94
|
+
"latitudesh_python_sdk.privatenetworks",
|
|
95
|
+
"PrivateNetworks",
|
|
96
|
+
),
|
|
97
|
+
"vpn_sessions": ("latitudesh_python_sdk.vpnsessions", "VpnSessions"),
|
|
98
|
+
}
|
|
63
99
|
|
|
64
100
|
def __init__(
|
|
65
101
|
self,
|
|
@@ -145,6 +181,9 @@ class Latitudesh(BaseSDK):
|
|
|
145
181
|
|
|
146
182
|
hooks = SDKHooks()
|
|
147
183
|
|
|
184
|
+
# pylint: disable=protected-access
|
|
185
|
+
self.sdk_configuration.__dict__["_hooks"] = hooks
|
|
186
|
+
|
|
148
187
|
current_server_url, *_ = self.sdk_configuration.get_server_details()
|
|
149
188
|
server_url, self.sdk_configuration.client = hooks.sdk_init(
|
|
150
189
|
current_server_url, client
|
|
@@ -152,9 +191,6 @@ class Latitudesh(BaseSDK):
|
|
|
152
191
|
if current_server_url != server_url:
|
|
153
192
|
self.sdk_configuration.server_url = server_url
|
|
154
193
|
|
|
155
|
-
# pylint: disable=protected-access
|
|
156
|
-
self.sdk_configuration.__dict__["_hooks"] = hooks
|
|
157
|
-
|
|
158
194
|
weakref.finalize(
|
|
159
195
|
self,
|
|
160
196
|
close_clients,
|
|
@@ -165,31 +201,32 @@ class Latitudesh(BaseSDK):
|
|
|
165
201
|
self.sdk_configuration.async_client_supplied,
|
|
166
202
|
)
|
|
167
203
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
204
|
+
def __getattr__(self, name: str):
|
|
205
|
+
if name in self._sub_sdk_map:
|
|
206
|
+
module_path, class_name = self._sub_sdk_map[name]
|
|
207
|
+
try:
|
|
208
|
+
module = importlib.import_module(module_path)
|
|
209
|
+
klass = getattr(module, class_name)
|
|
210
|
+
instance = klass(self.sdk_configuration)
|
|
211
|
+
setattr(self, name, instance)
|
|
212
|
+
return instance
|
|
213
|
+
except ImportError as e:
|
|
214
|
+
raise AttributeError(
|
|
215
|
+
f"Failed to import module {module_path} for attribute {name}: {e}"
|
|
216
|
+
) from e
|
|
217
|
+
except AttributeError as e:
|
|
218
|
+
raise AttributeError(
|
|
219
|
+
f"Failed to find class {class_name} in module {module_path} for attribute {name}: {e}"
|
|
220
|
+
) from e
|
|
221
|
+
|
|
222
|
+
raise AttributeError(
|
|
223
|
+
f"'{type(self).__name__}' object has no attribute '{name}'"
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
def __dir__(self):
|
|
227
|
+
default_attrs = list(super().__dir__())
|
|
228
|
+
lazy_attrs = list(self._sub_sdk_map.keys())
|
|
229
|
+
return sorted(list(set(default_attrs + lazy_attrs)))
|
|
193
230
|
|
|
194
231
|
def __enter__(self):
|
|
195
232
|
return self
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
|
-
from ._hooks import SDKHooks
|
|
4
3
|
from ._version import (
|
|
5
4
|
__gen_version__,
|
|
6
5
|
__openapi_doc_version__,
|
|
@@ -42,9 +41,6 @@ class SDKConfiguration:
|
|
|
42
41
|
retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET)
|
|
43
42
|
timeout_ms: Optional[int] = None
|
|
44
43
|
|
|
45
|
-
def __post_init__(self):
|
|
46
|
-
self._hooks = SDKHooks()
|
|
47
|
-
|
|
48
44
|
def get_server_details(self) -> Tuple[str, Dict[str, str]]:
|
|
49
45
|
if self.server_url is not None and self.server_url:
|
|
50
46
|
return remove_suffix(self.server_url, "/"), {}
|
|
@@ -52,6 +48,3 @@ class SDKConfiguration:
|
|
|
52
48
|
self.server_idx = 0
|
|
53
49
|
|
|
54
50
|
return SERVERS[self.server_idx], self.server_defaults[self.server_idx]
|
|
55
|
-
|
|
56
|
-
def get_hooks(self) -> SDKHooks:
|
|
57
|
-
return self._hooks
|