latitudesh-python-sdk 1.1.0__py3-none-any.whl → 2.0.1__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 +73 -156
- latitudesh_python_sdk/basesdk.py +16 -24
- latitudesh_python_sdk/billing.py +13 -32
- latitudesh_python_sdk/events_sdk.py +11 -34
- latitudesh_python_sdk/firewalls_sdk.py +105 -264
- latitudesh_python_sdk/httpclient.py +6 -16
- latitudesh_python_sdk/ipaddresses_sdk.py +29 -68
- latitudesh_python_sdk/models/__init__.py +2586 -1126
- latitudesh_python_sdk/models/apierror.py +30 -14
- 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/deploy_config.py +11 -6
- latitudesh_python_sdk/models/error_object.py +11 -6
- 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/latitudesherror.py +26 -0
- latitudesh_python_sdk/models/no_response_error.py +13 -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/region_resource_data.py +4 -4
- latitudesh_python_sdk/models/responsevalidationerror.py +25 -0
- latitudesh_python_sdk/models/role.py +11 -0
- latitudesh_python_sdk/models/server.py +11 -6
- latitudesh_python_sdk/models/server_data.py +14 -3
- latitudesh_python_sdk/models/server_region_resource_data.py +40 -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 +58 -10
- latitudesh_python_sdk/models/user_data.py +11 -0
- latitudesh_python_sdk/models/virtual_network.py +30 -6
- 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 +13 -32
- latitudesh_python_sdk/plans.py +99 -214
- latitudesh_python_sdk/privatenetworks.py +131 -290
- latitudesh_python_sdk/projects_sdk.py +79 -158
- latitudesh_python_sdk/regions_sdk.py +25 -66
- latitudesh_python_sdk/roles.py +25 -64
- latitudesh_python_sdk/sdk.py +110 -73
- latitudesh_python_sdk/sdkconfiguration.py +0 -7
- latitudesh_python_sdk/servers_sdk.py +305 -646
- latitudesh_python_sdk/sshkeys_sdk.py +1856 -0
- latitudesh_python_sdk/storage.py +41 -120
- latitudesh_python_sdk/tags.py +67 -146
- latitudesh_python_sdk/teams_sdk.py +41 -100
- latitudesh_python_sdk/teamsmembers.py +37 -96
- latitudesh_python_sdk/traffic_sdk.py +37 -76
- latitudesh_python_sdk/userdata_sdk.py +959 -149
- latitudesh_python_sdk/userprofile.py +37 -100
- latitudesh_python_sdk/utils/__init__.py +131 -46
- latitudesh_python_sdk/utils/forms.py +49 -28
- latitudesh_python_sdk/utils/serializers.py +3 -2
- latitudesh_python_sdk/utils/unmarshal_json_response.py +24 -0
- latitudesh_python_sdk/virtualmachines.py +71 -140
- latitudesh_python_sdk/vpnsessions.py +93 -172
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.1.dist-info}/METADATA +76 -43
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.1.dist-info}/RECORD +91 -67
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.1.dist-info}/WHEEL +1 -1
- latitudesh_python_sdk/models/storage_plan.py +0 -36
- latitudesh_python_sdk/sshkeys.py +0 -1050
- {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.1.dist-info}/LICENSE +0 -0
|
@@ -1,22 +1,38 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from typing import Optional
|
|
5
3
|
import httpx
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
from latitudesh_python_sdk.models import LatitudeshError
|
|
7
|
+
|
|
8
|
+
MAX_MESSAGE_LEN = 10_000
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class APIError(LatitudeshError):
|
|
12
|
+
"""The fallback error class if no more specific error class is matched."""
|
|
13
|
+
|
|
14
|
+
def __init__(
|
|
15
|
+
self, message: str, raw_response: httpx.Response, body: Optional[str] = None
|
|
16
|
+
):
|
|
17
|
+
body_display = body or raw_response.text or '""'
|
|
6
18
|
|
|
19
|
+
if message:
|
|
20
|
+
message += ": "
|
|
21
|
+
message += f"Status {raw_response.status_code}"
|
|
7
22
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
23
|
+
headers = raw_response.headers
|
|
24
|
+
content_type = headers.get("content-type", '""')
|
|
25
|
+
if content_type != "application/json":
|
|
26
|
+
if " " in content_type:
|
|
27
|
+
content_type = f'"{content_type}"'
|
|
28
|
+
message += f" Content-Type {content_type}"
|
|
11
29
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
30
|
+
if len(body_display) > MAX_MESSAGE_LEN:
|
|
31
|
+
truncated = body_display[:MAX_MESSAGE_LEN]
|
|
32
|
+
remaining = len(body_display) - MAX_MESSAGE_LEN
|
|
33
|
+
body_display = f"{truncated}...and {remaining} more chars"
|
|
16
34
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if len(self.body) > 0:
|
|
20
|
-
body = f"\n{self.body}"
|
|
35
|
+
message += f". Body: {body_display}"
|
|
36
|
+
message = message.strip()
|
|
21
37
|
|
|
22
|
-
|
|
38
|
+
super().__init__(message, raw_response, body)
|
|
@@ -13,13 +13,13 @@ class AssignServerVirtualNetworkPrivateNetworksType(str, Enum):
|
|
|
13
13
|
|
|
14
14
|
class AssignServerVirtualNetworkPrivateNetworksAttributesTypedDict(TypedDict):
|
|
15
15
|
server_id: str
|
|
16
|
-
virtual_network_id:
|
|
16
|
+
virtual_network_id: str
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class AssignServerVirtualNetworkPrivateNetworksAttributes(BaseModel):
|
|
20
20
|
server_id: str
|
|
21
21
|
|
|
22
|
-
virtual_network_id:
|
|
22
|
+
virtual_network_id: str
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class AssignServerVirtualNetworkPrivateNetworksDataTypedDict(TypedDict):
|
|
@@ -7,7 +7,7 @@ from typing import List, Optional
|
|
|
7
7
|
from typing_extensions import NotRequired, TypedDict
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class
|
|
10
|
+
class BandwidthPlanDataType(str, Enum):
|
|
11
11
|
BANDWIDTH_PLAN = "bandwidth_plan"
|
|
12
12
|
|
|
13
13
|
|
|
@@ -44,13 +44,13 @@ class Pricing(BaseModel):
|
|
|
44
44
|
brl: Optional[Brl] = None
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
class
|
|
47
|
+
class BandwidthPlanDataAttributesTypedDict(TypedDict):
|
|
48
48
|
region: NotRequired[str]
|
|
49
49
|
locations: NotRequired[List[str]]
|
|
50
50
|
pricing: NotRequired[PricingTypedDict]
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
class
|
|
53
|
+
class BandwidthPlanDataAttributes(BaseModel):
|
|
54
54
|
region: Optional[str] = None
|
|
55
55
|
|
|
56
56
|
locations: Optional[List[str]] = None
|
|
@@ -58,15 +58,15 @@ class BandwidthPlanAttributes(BaseModel):
|
|
|
58
58
|
pricing: Optional[Pricing] = None
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
class
|
|
61
|
+
class BandwidthPlanDataTypedDict(TypedDict):
|
|
62
62
|
id: NotRequired[str]
|
|
63
|
-
type: NotRequired[
|
|
64
|
-
attributes: NotRequired[
|
|
63
|
+
type: NotRequired[BandwidthPlanDataType]
|
|
64
|
+
attributes: NotRequired[BandwidthPlanDataAttributesTypedDict]
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
class
|
|
67
|
+
class BandwidthPlanData(BaseModel):
|
|
68
68
|
id: Optional[str] = None
|
|
69
69
|
|
|
70
|
-
type: Optional[
|
|
70
|
+
type: Optional[BandwidthPlanDataType] = None
|
|
71
71
|
|
|
72
|
-
attributes: Optional[
|
|
72
|
+
attributes: Optional[BandwidthPlanDataAttributes] = None
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .
|
|
4
|
+
from .bandwidth_plan_data import BandwidthPlanData, BandwidthPlanDataTypedDict
|
|
5
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
6
|
from typing import List, Optional
|
|
7
7
|
from typing_extensions import NotRequired, TypedDict
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
class BandwidthPlansMetaTypedDict(TypedDict):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class BandwidthPlansMeta(BaseModel):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
|
|
10
18
|
class BandwidthPlansTypedDict(TypedDict):
|
|
11
|
-
data: NotRequired[List[
|
|
19
|
+
data: NotRequired[List[BandwidthPlanDataTypedDict]]
|
|
20
|
+
meta: NotRequired[BandwidthPlansMetaTypedDict]
|
|
12
21
|
|
|
13
22
|
|
|
14
23
|
class BandwidthPlans(BaseModel):
|
|
15
|
-
data: Optional[List[
|
|
24
|
+
data: Optional[List[BandwidthPlanData]] = None
|
|
25
|
+
|
|
26
|
+
meta: Optional[BandwidthPlansMeta] = None
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .custom_tag_data import CustomTagData, CustomTagDataTypedDict
|
|
4
5
|
from .team_include import TeamInclude, TeamIncludeTypedDict
|
|
5
6
|
from enum import Enum
|
|
6
7
|
from latitudesh_python_sdk.types import BaseModel
|
|
@@ -40,10 +41,20 @@ class CustomTagAttributes(BaseModel):
|
|
|
40
41
|
team: Optional[TeamInclude] = None
|
|
41
42
|
|
|
42
43
|
|
|
44
|
+
class CustomTagMetaTypedDict(TypedDict):
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class CustomTagMeta(BaseModel):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
43
52
|
class CustomTagTypedDict(TypedDict):
|
|
44
53
|
id: NotRequired[str]
|
|
45
54
|
type: NotRequired[CustomTagType]
|
|
46
55
|
attributes: NotRequired[CustomTagAttributesTypedDict]
|
|
56
|
+
data: NotRequired[CustomTagDataTypedDict]
|
|
57
|
+
meta: NotRequired[CustomTagMetaTypedDict]
|
|
47
58
|
|
|
48
59
|
|
|
49
60
|
class CustomTag(BaseModel):
|
|
@@ -52,3 +63,7 @@ class CustomTag(BaseModel):
|
|
|
52
63
|
type: Optional[CustomTagType] = None
|
|
53
64
|
|
|
54
65
|
attributes: Optional[CustomTagAttributes] = None
|
|
66
|
+
|
|
67
|
+
data: Optional[CustomTagData] = None
|
|
68
|
+
|
|
69
|
+
meta: Optional[CustomTagMeta] = None
|
|
@@ -0,0 +1,54 @@
|
|
|
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 CustomTagDataType(str, Enum):
|
|
12
|
+
TAGS = "tags"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class CustomTagDataAttributesTypedDict(TypedDict):
|
|
16
|
+
name: NotRequired[str]
|
|
17
|
+
r"""Name of the Tag"""
|
|
18
|
+
slug: NotRequired[str]
|
|
19
|
+
r"""Slug of the Tag"""
|
|
20
|
+
description: NotRequired[str]
|
|
21
|
+
r"""Description of the Tag"""
|
|
22
|
+
color: NotRequired[str]
|
|
23
|
+
r"""Color of the Tag"""
|
|
24
|
+
team: NotRequired[TeamIncludeTypedDict]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class CustomTagDataAttributes(BaseModel):
|
|
28
|
+
name: Optional[str] = None
|
|
29
|
+
r"""Name of the Tag"""
|
|
30
|
+
|
|
31
|
+
slug: Optional[str] = None
|
|
32
|
+
r"""Slug of the Tag"""
|
|
33
|
+
|
|
34
|
+
description: Optional[str] = None
|
|
35
|
+
r"""Description of the Tag"""
|
|
36
|
+
|
|
37
|
+
color: Optional[str] = None
|
|
38
|
+
r"""Color of the Tag"""
|
|
39
|
+
|
|
40
|
+
team: Optional[TeamInclude] = None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class CustomTagDataTypedDict(TypedDict):
|
|
44
|
+
id: NotRequired[str]
|
|
45
|
+
type: NotRequired[CustomTagDataType]
|
|
46
|
+
attributes: NotRequired[CustomTagDataAttributesTypedDict]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class CustomTagData(BaseModel):
|
|
50
|
+
id: Optional[str] = None
|
|
51
|
+
|
|
52
|
+
type: Optional[CustomTagDataType] = None
|
|
53
|
+
|
|
54
|
+
attributes: Optional[CustomTagDataAttributes] = None
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .custom_tag_data import CustomTagData, CustomTagDataTypedDict
|
|
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 CustomTagsMetaTypedDict(TypedDict):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CustomTagsMeta(BaseModel):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CustomTagsTypedDict(TypedDict):
|
|
19
|
+
data: NotRequired[List[CustomTagDataTypedDict]]
|
|
20
|
+
meta: NotRequired[CustomTagsMetaTypedDict]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class CustomTags(BaseModel):
|
|
24
|
+
data: Optional[List[CustomTagData]] = None
|
|
25
|
+
|
|
26
|
+
meta: Optional[CustomTagsMeta] = 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 DeleteSSHKeyRequestTypedDict(TypedDict):
|
|
10
|
+
ssh_key_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DeleteSSHKeyRequest(BaseModel):
|
|
14
|
+
ssh_key_id: Annotated[
|
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
16
|
+
]
|
|
@@ -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 DeleteUserDataRequestTypedDict(TypedDict):
|
|
10
|
+
user_data_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DeleteUserDataRequest(BaseModel):
|
|
14
|
+
user_data_id: Annotated[
|
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
16
|
+
]
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
|
|
4
|
+
import httpx
|
|
5
|
+
from latitudesh_python_sdk.models import LatitudeshError
|
|
5
6
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
7
|
from typing import List, Optional
|
|
7
8
|
from typing_extensions import NotRequired, TypedDict
|
|
@@ -64,11 +65,15 @@ class DeployConfigErrorData(BaseModel):
|
|
|
64
65
|
data: Optional[DeployConfigData] = None
|
|
65
66
|
|
|
66
67
|
|
|
67
|
-
class DeployConfigError(
|
|
68
|
+
class DeployConfigError(LatitudeshError):
|
|
68
69
|
data: DeployConfigErrorData
|
|
69
70
|
|
|
70
|
-
def __init__(
|
|
71
|
+
def __init__(
|
|
72
|
+
self,
|
|
73
|
+
data: DeployConfigErrorData,
|
|
74
|
+
raw_response: httpx.Response,
|
|
75
|
+
body: Optional[str] = None,
|
|
76
|
+
):
|
|
77
|
+
message = body or raw_response.text
|
|
78
|
+
super().__init__(message, raw_response, body)
|
|
71
79
|
self.data = data
|
|
72
|
-
|
|
73
|
-
def __str__(self) -> str:
|
|
74
|
-
return utils.marshal_json(self.data, DeployConfigErrorData)
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
|
|
4
|
+
import httpx
|
|
5
|
+
from latitudesh_python_sdk.models import LatitudeshError
|
|
5
6
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
7
|
from typing import List, Optional
|
|
7
8
|
from typing_extensions import NotRequired, TypedDict
|
|
@@ -39,11 +40,15 @@ class ErrorObjectData(BaseModel):
|
|
|
39
40
|
errors: Optional[List[Errors]] = None
|
|
40
41
|
|
|
41
42
|
|
|
42
|
-
class ErrorObject(
|
|
43
|
+
class ErrorObject(LatitudeshError):
|
|
43
44
|
data: ErrorObjectData
|
|
44
45
|
|
|
45
|
-
def __init__(
|
|
46
|
+
def __init__(
|
|
47
|
+
self,
|
|
48
|
+
data: ErrorObjectData,
|
|
49
|
+
raw_response: httpx.Response,
|
|
50
|
+
body: Optional[str] = None,
|
|
51
|
+
):
|
|
52
|
+
message = body or raw_response.text
|
|
53
|
+
super().__init__(message, raw_response, body)
|
|
46
54
|
self.data = data
|
|
47
|
-
|
|
48
|
-
def __str__(self) -> str:
|
|
49
|
-
return utils.marshal_json(self.data, ErrorObjectData)
|
|
@@ -0,0 +1,98 @@
|
|
|
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 EventDataType(str, Enum):
|
|
11
|
+
EVENTS = "events"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class EventDataAuthorTypedDict(TypedDict):
|
|
15
|
+
id: NotRequired[str]
|
|
16
|
+
name: NotRequired[str]
|
|
17
|
+
email: NotRequired[str]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class EventDataAuthor(BaseModel):
|
|
21
|
+
id: Optional[str] = None
|
|
22
|
+
|
|
23
|
+
name: Optional[str] = None
|
|
24
|
+
|
|
25
|
+
email: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class EventDataProjectTypedDict(TypedDict):
|
|
29
|
+
id: NotRequired[str]
|
|
30
|
+
name: NotRequired[str]
|
|
31
|
+
slug: NotRequired[str]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class EventDataProject(BaseModel):
|
|
35
|
+
id: Optional[str] = None
|
|
36
|
+
|
|
37
|
+
name: Optional[str] = None
|
|
38
|
+
|
|
39
|
+
slug: Optional[str] = None
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class EventDataTeamTypedDict(TypedDict):
|
|
43
|
+
id: NotRequired[str]
|
|
44
|
+
name: NotRequired[str]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class EventDataTeam(BaseModel):
|
|
48
|
+
id: Optional[str] = None
|
|
49
|
+
|
|
50
|
+
name: Optional[str] = None
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class EventDataTargetTypedDict(TypedDict):
|
|
54
|
+
id: NotRequired[str]
|
|
55
|
+
name: NotRequired[str]
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class EventDataTarget(BaseModel):
|
|
59
|
+
id: Optional[str] = None
|
|
60
|
+
|
|
61
|
+
name: Optional[str] = None
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class EventDataAttributesTypedDict(TypedDict):
|
|
65
|
+
action: NotRequired[str]
|
|
66
|
+
created_at: NotRequired[str]
|
|
67
|
+
author: NotRequired[EventDataAuthorTypedDict]
|
|
68
|
+
project: NotRequired[EventDataProjectTypedDict]
|
|
69
|
+
team: NotRequired[EventDataTeamTypedDict]
|
|
70
|
+
target: NotRequired[EventDataTargetTypedDict]
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class EventDataAttributes(BaseModel):
|
|
74
|
+
action: Optional[str] = None
|
|
75
|
+
|
|
76
|
+
created_at: Optional[str] = None
|
|
77
|
+
|
|
78
|
+
author: Optional[EventDataAuthor] = None
|
|
79
|
+
|
|
80
|
+
project: Optional[EventDataProject] = None
|
|
81
|
+
|
|
82
|
+
team: Optional[EventDataTeam] = None
|
|
83
|
+
|
|
84
|
+
target: Optional[EventDataTarget] = None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class EventDataTypedDict(TypedDict):
|
|
88
|
+
id: NotRequired[str]
|
|
89
|
+
type: NotRequired[EventDataType]
|
|
90
|
+
attributes: NotRequired[EventDataAttributesTypedDict]
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class EventData(BaseModel):
|
|
94
|
+
id: Optional[str] = None
|
|
95
|
+
|
|
96
|
+
type: Optional[EventDataType] = None
|
|
97
|
+
|
|
98
|
+
attributes: Optional[EventDataAttributes] = None
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .event_data import EventData, EventDataTypedDict
|
|
4
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
|
-
from typing import Optional
|
|
6
|
+
from typing import List, Optional
|
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
|
7
8
|
|
|
8
9
|
|
|
@@ -79,12 +80,26 @@ class EventsAttributes(BaseModel):
|
|
|
79
80
|
target: Optional[Target] = None
|
|
80
81
|
|
|
81
82
|
|
|
83
|
+
class MetaTypedDict(TypedDict):
|
|
84
|
+
pass
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class Meta(BaseModel):
|
|
88
|
+
pass
|
|
89
|
+
|
|
90
|
+
|
|
82
91
|
class EventsTypedDict(TypedDict):
|
|
83
92
|
id: NotRequired[str]
|
|
84
93
|
attributes: NotRequired[EventsAttributesTypedDict]
|
|
94
|
+
data: NotRequired[List[EventDataTypedDict]]
|
|
95
|
+
meta: NotRequired[MetaTypedDict]
|
|
85
96
|
|
|
86
97
|
|
|
87
98
|
class Events(BaseModel):
|
|
88
99
|
id: Optional[str] = None
|
|
89
100
|
|
|
90
101
|
attributes: Optional[EventsAttributes] = None
|
|
102
|
+
|
|
103
|
+
data: Optional[List[EventData]] = None
|
|
104
|
+
|
|
105
|
+
meta: Optional[Meta] = None
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from datetime import datetime
|
|
4
5
|
from enum import Enum
|
|
5
6
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
7
|
from typing import Optional
|
|
@@ -29,6 +30,7 @@ class FilesystemDataAttributesTypedDict(TypedDict):
|
|
|
29
30
|
name: NotRequired[str]
|
|
30
31
|
size_in_gb: NotRequired[int]
|
|
31
32
|
project: NotRequired[FilesystemDataProjectTypedDict]
|
|
33
|
+
created_at: NotRequired[datetime]
|
|
32
34
|
|
|
33
35
|
|
|
34
36
|
class FilesystemDataAttributes(BaseModel):
|
|
@@ -38,6 +40,8 @@ class FilesystemDataAttributes(BaseModel):
|
|
|
38
40
|
|
|
39
41
|
project: Optional[FilesystemDataProject] = None
|
|
40
42
|
|
|
43
|
+
created_at: Optional[datetime] = None
|
|
44
|
+
|
|
41
45
|
|
|
42
46
|
class FilesystemDataTypedDict(TypedDict):
|
|
43
47
|
id: NotRequired[str]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .firewall_data import FirewallData, FirewallDataTypedDict
|
|
4
5
|
from enum import Enum
|
|
5
6
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
7
|
import pydantic
|
|
@@ -57,10 +58,20 @@ class FirewallAttributes(BaseModel):
|
|
|
57
58
|
project: Optional[FirewallProject] = None
|
|
58
59
|
|
|
59
60
|
|
|
61
|
+
class FirewallMetaTypedDict(TypedDict):
|
|
62
|
+
pass
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class FirewallMeta(BaseModel):
|
|
66
|
+
pass
|
|
67
|
+
|
|
68
|
+
|
|
60
69
|
class FirewallTypedDict(TypedDict):
|
|
61
70
|
id: NotRequired[str]
|
|
62
71
|
type: NotRequired[FirewallType]
|
|
63
72
|
attributes: NotRequired[FirewallAttributesTypedDict]
|
|
73
|
+
data: NotRequired[FirewallDataTypedDict]
|
|
74
|
+
meta: NotRequired[FirewallMetaTypedDict]
|
|
64
75
|
|
|
65
76
|
|
|
66
77
|
class Firewall(BaseModel):
|
|
@@ -69,3 +80,7 @@ class Firewall(BaseModel):
|
|
|
69
80
|
type: Optional[FirewallType] = None
|
|
70
81
|
|
|
71
82
|
attributes: Optional[FirewallAttributes] = None
|
|
83
|
+
|
|
84
|
+
data: Optional[FirewallData] = None
|
|
85
|
+
|
|
86
|
+
meta: Optional[FirewallMeta] = None
|
|
@@ -0,0 +1,50 @@
|
|
|
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 FirewallAssignmentDataType(str, Enum):
|
|
11
|
+
FIREWALL_ASSIGNMENTS = "firewall_assignments"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class FirewallAssignmentDataServerTypedDict(TypedDict):
|
|
15
|
+
id: NotRequired[str]
|
|
16
|
+
primary_ipv4: NotRequired[str]
|
|
17
|
+
hostname: NotRequired[str]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class FirewallAssignmentDataServer(BaseModel):
|
|
21
|
+
id: Optional[str] = None
|
|
22
|
+
|
|
23
|
+
primary_ipv4: Optional[str] = None
|
|
24
|
+
|
|
25
|
+
hostname: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class FirewallAssignmentDataAttributesTypedDict(TypedDict):
|
|
29
|
+
server: NotRequired[FirewallAssignmentDataServerTypedDict]
|
|
30
|
+
firewall_id: NotRequired[str]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class FirewallAssignmentDataAttributes(BaseModel):
|
|
34
|
+
server: Optional[FirewallAssignmentDataServer] = None
|
|
35
|
+
|
|
36
|
+
firewall_id: Optional[str] = None
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class FirewallAssignmentDataTypedDict(TypedDict):
|
|
40
|
+
id: NotRequired[str]
|
|
41
|
+
type: NotRequired[FirewallAssignmentDataType]
|
|
42
|
+
attributes: NotRequired[FirewallAssignmentDataAttributesTypedDict]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class FirewallAssignmentData(BaseModel):
|
|
46
|
+
id: Optional[str] = None
|
|
47
|
+
|
|
48
|
+
type: Optional[FirewallAssignmentDataType] = None
|
|
49
|
+
|
|
50
|
+
attributes: Optional[FirewallAssignmentDataAttributes] = None
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .firewall_assignment_data import (
|
|
5
|
+
FirewallAssignmentData,
|
|
6
|
+
FirewallAssignmentDataTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FirewallAssignmentsMetaTypedDict(TypedDict):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class FirewallAssignmentsMeta(BaseModel):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class FirewallAssignmentsTypedDict(TypedDict):
|
|
22
|
+
data: NotRequired[List[FirewallAssignmentDataTypedDict]]
|
|
23
|
+
meta: NotRequired[FirewallAssignmentsMetaTypedDict]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class FirewallAssignments(BaseModel):
|
|
27
|
+
data: Optional[List[FirewallAssignmentData]] = None
|
|
28
|
+
|
|
29
|
+
meta: Optional[FirewallAssignmentsMeta] = None
|