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
|
@@ -0,0 +1,71 @@
|
|
|
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 FirewallDataType(str, Enum):
|
|
12
|
+
FIREWALLS = "firewalls"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FirewallDataRulesTypedDict(TypedDict):
|
|
16
|
+
from_: NotRequired[str]
|
|
17
|
+
to: NotRequired[str]
|
|
18
|
+
port: NotRequired[str]
|
|
19
|
+
protocol: NotRequired[str]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class FirewallDataRules(BaseModel):
|
|
23
|
+
from_: Annotated[Optional[str], pydantic.Field(alias="from")] = None
|
|
24
|
+
|
|
25
|
+
to: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
port: Optional[str] = None
|
|
28
|
+
|
|
29
|
+
protocol: Optional[str] = None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class FirewallDataProjectTypedDict(TypedDict):
|
|
33
|
+
id: NotRequired[str]
|
|
34
|
+
slug: NotRequired[str]
|
|
35
|
+
name: NotRequired[str]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class FirewallDataProject(BaseModel):
|
|
39
|
+
id: Optional[str] = None
|
|
40
|
+
|
|
41
|
+
slug: Optional[str] = None
|
|
42
|
+
|
|
43
|
+
name: Optional[str] = None
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class FirewallDataAttributesTypedDict(TypedDict):
|
|
47
|
+
name: NotRequired[str]
|
|
48
|
+
rules: NotRequired[List[FirewallDataRulesTypedDict]]
|
|
49
|
+
project: NotRequired[FirewallDataProjectTypedDict]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class FirewallDataAttributes(BaseModel):
|
|
53
|
+
name: Optional[str] = None
|
|
54
|
+
|
|
55
|
+
rules: Optional[List[FirewallDataRules]] = None
|
|
56
|
+
|
|
57
|
+
project: Optional[FirewallDataProject] = None
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class FirewallDataTypedDict(TypedDict):
|
|
61
|
+
id: NotRequired[str]
|
|
62
|
+
type: NotRequired[FirewallDataType]
|
|
63
|
+
attributes: NotRequired[FirewallDataAttributesTypedDict]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class FirewallData(BaseModel):
|
|
67
|
+
id: Optional[str] = None
|
|
68
|
+
|
|
69
|
+
type: Optional[FirewallDataType] = None
|
|
70
|
+
|
|
71
|
+
attributes: Optional[FirewallDataAttributes] = None
|
|
@@ -8,7 +8,7 @@ from typing_extensions import NotRequired, TypedDict
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class FirewallServerType(str, Enum):
|
|
11
|
-
|
|
11
|
+
FIREWALL_SERVERS = "firewall_servers"
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class FirewallServerServerTypedDict(TypedDict):
|
|
@@ -28,6 +28,7 @@ class FirewallServerServer(BaseModel):
|
|
|
28
28
|
class FirewallServerAttributesTypedDict(TypedDict):
|
|
29
29
|
server: NotRequired[FirewallServerServerTypedDict]
|
|
30
30
|
firewall_id: NotRequired[str]
|
|
31
|
+
server_id: NotRequired[str]
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
class FirewallServerAttributes(BaseModel):
|
|
@@ -35,6 +36,8 @@ class FirewallServerAttributes(BaseModel):
|
|
|
35
36
|
|
|
36
37
|
firewall_id: Optional[str] = None
|
|
37
38
|
|
|
39
|
+
server_id: Optional[str] = None
|
|
40
|
+
|
|
38
41
|
|
|
39
42
|
class FirewallServerTypedDict(TypedDict):
|
|
40
43
|
id: NotRequired[str]
|
|
@@ -1,26 +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 .firewall_data import FirewallData, FirewallDataTypedDict
|
|
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
|
|
10
|
+
class FirewallsMetaTypedDict(TypedDict):
|
|
11
11
|
pass
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class
|
|
14
|
+
class FirewallsMeta(BaseModel):
|
|
15
15
|
pass
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class FirewallsTypedDict(TypedDict):
|
|
19
|
-
data: NotRequired[List[
|
|
20
|
-
meta: NotRequired[
|
|
19
|
+
data: NotRequired[List[FirewallDataTypedDict]]
|
|
20
|
+
meta: NotRequired[FirewallsMetaTypedDict]
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class Firewalls(BaseModel):
|
|
24
|
-
data: Optional[List[
|
|
24
|
+
data: Optional[List[FirewallData]] = None
|
|
25
25
|
|
|
26
|
-
meta: Optional[
|
|
26
|
+
meta: Optional[FirewallsMeta] = None
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .
|
|
4
|
+
from .firewall_assignments import FirewallAssignments, FirewallAssignmentsTypedDict
|
|
5
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
6
6
|
from latitudesh_python_sdk.utils import (
|
|
7
7
|
FieldMetadata,
|
|
@@ -44,10 +44,10 @@ class GetFirewallAssignmentsRequest(BaseModel):
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
class GetFirewallAssignmentsResponseTypedDict(TypedDict):
|
|
47
|
-
result:
|
|
47
|
+
result: FirewallAssignmentsTypedDict
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
class GetFirewallAssignmentsResponse(BaseModel):
|
|
51
51
|
next: Callable[[], Optional[GetFirewallAssignmentsResponse]]
|
|
52
52
|
|
|
53
|
-
result:
|
|
53
|
+
result: FirewallAssignments
|
|
@@ -0,0 +1,30 @@
|
|
|
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 latitudesh_python_sdk.types import BaseModel
|
|
6
|
+
from latitudesh_python_sdk.utils import FieldMetadata, PathParamMetadata
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetSSHKeyRequestTypedDict(TypedDict):
|
|
12
|
+
ssh_key_id: str
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetSSHKeyRequest(BaseModel):
|
|
16
|
+
ssh_key_id: Annotated[
|
|
17
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class GetSSHKeyResponseBodyTypedDict(TypedDict):
|
|
22
|
+
r"""Success"""
|
|
23
|
+
|
|
24
|
+
data: NotRequired[SSHKeyDataTypedDict]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class GetSSHKeyResponseBody(BaseModel):
|
|
28
|
+
r"""Success"""
|
|
29
|
+
|
|
30
|
+
data: Optional[SSHKeyData] = None
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
5
|
+
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
|
+
import pydantic
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetSSHKeysRequestTypedDict(TypedDict):
|
|
12
|
+
filter_tags: NotRequired[str]
|
|
13
|
+
r"""The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`"""
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class GetSSHKeysRequest(BaseModel):
|
|
17
|
+
filter_tags: Annotated[
|
|
18
|
+
Optional[str],
|
|
19
|
+
pydantic.Field(alias="filter[tags]"),
|
|
20
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
21
|
+
] = None
|
|
22
|
+
r"""The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`"""
|
|
@@ -13,8 +13,10 @@ class GetTrafficConsumptionRequestTypedDict(TypedDict):
|
|
|
13
13
|
r"""The start timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-01T00:00:00Z"""
|
|
14
14
|
filter_date_lte: str
|
|
15
15
|
r"""The end timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-31T23:59:59Z"""
|
|
16
|
-
filter_server: NotRequired[
|
|
17
|
-
|
|
16
|
+
filter_server: NotRequired[str]
|
|
17
|
+
r"""The server id to filter by"""
|
|
18
|
+
filter_project: NotRequired[str]
|
|
19
|
+
r"""The project id to filter by"""
|
|
18
20
|
|
|
19
21
|
|
|
20
22
|
class GetTrafficConsumptionRequest(BaseModel):
|
|
@@ -33,13 +35,15 @@ class GetTrafficConsumptionRequest(BaseModel):
|
|
|
33
35
|
r"""The end timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-31T23:59:59Z"""
|
|
34
36
|
|
|
35
37
|
filter_server: Annotated[
|
|
36
|
-
Optional[
|
|
38
|
+
Optional[str],
|
|
37
39
|
pydantic.Field(alias="filter[server]"),
|
|
38
40
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
39
41
|
] = None
|
|
42
|
+
r"""The server id to filter by"""
|
|
40
43
|
|
|
41
44
|
filter_project: Annotated[
|
|
42
|
-
Optional[
|
|
45
|
+
Optional[str],
|
|
43
46
|
pydantic.Field(alias="filter[project]"),
|
|
44
47
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
45
48
|
] = None
|
|
49
|
+
r"""The project id to filter by"""
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
5
|
+
from latitudesh_python_sdk.utils import (
|
|
6
|
+
FieldMetadata,
|
|
7
|
+
PathParamMetadata,
|
|
8
|
+
QueryParamMetadata,
|
|
9
|
+
)
|
|
10
|
+
import pydantic
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GetUserDataRequestTypedDict(TypedDict):
|
|
16
|
+
user_data_id: str
|
|
17
|
+
extra_fields_user_data: NotRequired[str]
|
|
18
|
+
r"""The `decoded_content` is provided as an extra attribute that shows content in decoded form."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class GetUserDataRequest(BaseModel):
|
|
22
|
+
user_data_id: Annotated[
|
|
23
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
extra_fields_user_data: Annotated[
|
|
27
|
+
Optional[str],
|
|
28
|
+
pydantic.Field(alias="extra_fields[user_data]"),
|
|
29
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
30
|
+
] = "decoded_content"
|
|
31
|
+
r"""The `decoded_content` is provided as an extra attribute that shows content in decoded form."""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .user_data import UserData, UserDataTypedDict
|
|
5
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
6
|
+
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class GetUsersDataRequestTypedDict(TypedDict):
|
|
13
|
+
extra_fields_user_data: NotRequired[str]
|
|
14
|
+
r"""The `decoded_content` is provided as an extra attribute that shows content in decoded form."""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GetUsersDataRequest(BaseModel):
|
|
18
|
+
extra_fields_user_data: Annotated[
|
|
19
|
+
Optional[str],
|
|
20
|
+
pydantic.Field(alias="extra_fields[user_data]"),
|
|
21
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
22
|
+
] = "decoded_content"
|
|
23
|
+
r"""The `decoded_content` is provided as an extra attribute that shows content in decoded form."""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class GetUsersDataResponseBodyTypedDict(TypedDict):
|
|
27
|
+
r"""Success"""
|
|
28
|
+
|
|
29
|
+
data: NotRequired[List[UserDataTypedDict]]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class GetUsersDataResponseBody(BaseModel):
|
|
33
|
+
r"""Success"""
|
|
34
|
+
|
|
35
|
+
data: Optional[List[UserData]] = None
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
import httpx
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class LatitudeshError(Exception):
|
|
8
|
+
"""The base class for all HTTP error responses."""
|
|
9
|
+
|
|
10
|
+
message: str
|
|
11
|
+
status_code: int
|
|
12
|
+
body: str
|
|
13
|
+
headers: httpx.Headers
|
|
14
|
+
raw_response: httpx.Response
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self, message: str, raw_response: httpx.Response, body: Optional[str] = None
|
|
18
|
+
):
|
|
19
|
+
self.message = message
|
|
20
|
+
self.status_code = raw_response.status_code
|
|
21
|
+
self.body = body if body is not None else raw_response.text
|
|
22
|
+
self.headers = raw_response.headers
|
|
23
|
+
self.raw_response = raw_response
|
|
24
|
+
|
|
25
|
+
def __str__(self):
|
|
26
|
+
return self.message
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
class NoResponseError(Exception):
|
|
4
|
+
"""Error raised when no HTTP response is received from the server."""
|
|
5
|
+
|
|
6
|
+
message: str
|
|
7
|
+
|
|
8
|
+
def __init__(self, message: str = "No response received"):
|
|
9
|
+
self.message = message
|
|
10
|
+
super().__init__(message)
|
|
11
|
+
|
|
12
|
+
def __str__(self):
|
|
13
|
+
return self.message
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OperatingSystemDataType(str, Enum):
|
|
11
|
+
OPERATING_SYSTEMS = "operating_systems"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class OperatingSystemDataFeaturesTypedDict(TypedDict):
|
|
15
|
+
raid: NotRequired[bool]
|
|
16
|
+
ssh_keys: NotRequired[bool]
|
|
17
|
+
user_data: NotRequired[bool]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class OperatingSystemDataFeatures(BaseModel):
|
|
21
|
+
raid: Optional[bool] = None
|
|
22
|
+
|
|
23
|
+
ssh_keys: Optional[bool] = None
|
|
24
|
+
|
|
25
|
+
user_data: Optional[bool] = None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class OperatingSystemDataAttributesTypedDict(TypedDict):
|
|
29
|
+
features: NotRequired[OperatingSystemDataFeaturesTypedDict]
|
|
30
|
+
name: NotRequired[str]
|
|
31
|
+
slug: NotRequired[str]
|
|
32
|
+
distro: NotRequired[str]
|
|
33
|
+
user: NotRequired[str]
|
|
34
|
+
version: NotRequired[str]
|
|
35
|
+
provisionable_on: NotRequired[List[str]]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class OperatingSystemDataAttributes(BaseModel):
|
|
39
|
+
features: Optional[OperatingSystemDataFeatures] = None
|
|
40
|
+
|
|
41
|
+
name: Optional[str] = None
|
|
42
|
+
|
|
43
|
+
slug: Optional[str] = None
|
|
44
|
+
|
|
45
|
+
distro: Optional[str] = None
|
|
46
|
+
|
|
47
|
+
user: Optional[str] = None
|
|
48
|
+
|
|
49
|
+
version: Optional[str] = None
|
|
50
|
+
|
|
51
|
+
provisionable_on: Optional[List[str]] = None
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class OperatingSystemDataTypedDict(TypedDict):
|
|
55
|
+
id: NotRequired[str]
|
|
56
|
+
type: NotRequired[OperatingSystemDataType]
|
|
57
|
+
attributes: NotRequired[OperatingSystemDataAttributesTypedDict]
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class OperatingSystemData(BaseModel):
|
|
61
|
+
id: Optional[str] = None
|
|
62
|
+
|
|
63
|
+
type: Optional[OperatingSystemDataType] = None
|
|
64
|
+
|
|
65
|
+
attributes: Optional[OperatingSystemDataAttributes] = None
|
|
@@ -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 .operating_system_data import OperatingSystemData, OperatingSystemDataTypedDict
|
|
4
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
6
|
from typing import List, Optional
|
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
|
@@ -46,12 +47,26 @@ class OperatingSystemsAttributes(BaseModel):
|
|
|
46
47
|
provisionable_on: Optional[List[str]] = None
|
|
47
48
|
|
|
48
49
|
|
|
50
|
+
class OperatingSystemsMetaTypedDict(TypedDict):
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class OperatingSystemsMeta(BaseModel):
|
|
55
|
+
pass
|
|
56
|
+
|
|
57
|
+
|
|
49
58
|
class OperatingSystemsTypedDict(TypedDict):
|
|
50
59
|
id: NotRequired[str]
|
|
51
60
|
attributes: NotRequired[OperatingSystemsAttributesTypedDict]
|
|
61
|
+
data: NotRequired[List[OperatingSystemDataTypedDict]]
|
|
62
|
+
meta: NotRequired[OperatingSystemsMetaTypedDict]
|
|
52
63
|
|
|
53
64
|
|
|
54
65
|
class OperatingSystems(BaseModel):
|
|
55
66
|
id: Optional[str] = None
|
|
56
67
|
|
|
57
68
|
attributes: Optional[OperatingSystemsAttributes] = None
|
|
69
|
+
|
|
70
|
+
data: Optional[List[OperatingSystemData]] = None
|
|
71
|
+
|
|
72
|
+
meta: Optional[OperatingSystemsMeta] = None
|
|
@@ -6,13 +6,13 @@ from typing import Optional
|
|
|
6
6
|
from typing_extensions import NotRequired, TypedDict
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class SSHKeyTypedDict(TypedDict):
|
|
10
10
|
id: NotRequired[str]
|
|
11
11
|
description: NotRequired[str]
|
|
12
12
|
fingerprint: NotRequired[str]
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class SSHKey(BaseModel):
|
|
16
16
|
id: Optional[str] = None
|
|
17
17
|
|
|
18
18
|
description: Optional[str] = None
|
|
@@ -36,7 +36,7 @@ class Credentials(BaseModel):
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
class OutOfBandConnectionAttributesTypedDict(TypedDict):
|
|
39
|
-
ssh_key: NotRequired[
|
|
39
|
+
ssh_key: NotRequired[SSHKeyTypedDict]
|
|
40
40
|
created_at: NotRequired[str]
|
|
41
41
|
username: NotRequired[str]
|
|
42
42
|
credentials: NotRequired[CredentialsTypedDict]
|
|
@@ -48,7 +48,7 @@ class OutOfBandConnectionAttributesTypedDict(TypedDict):
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
class OutOfBandConnectionAttributes(BaseModel):
|
|
51
|
-
ssh_key: Optional[
|
|
51
|
+
ssh_key: Optional[SSHKey] = None
|
|
52
52
|
|
|
53
53
|
created_at: Optional[str] = None
|
|
54
54
|
|
|
@@ -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
|
+
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 PatchUserDataUserDataType(str, Enum):
|
|
16
|
+
USER_DATA = "user_data"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class PatchUserDataUserDataAttributesTypedDict(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 PatchUserDataUserDataAttributes(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 PatchUserDataUserDataDataTypedDict(TypedDict):
|
|
35
|
+
id: str
|
|
36
|
+
type: PatchUserDataUserDataType
|
|
37
|
+
attributes: NotRequired[PatchUserDataUserDataAttributesTypedDict]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class PatchUserDataUserDataData(BaseModel):
|
|
41
|
+
id: str
|
|
42
|
+
|
|
43
|
+
type: PatchUserDataUserDataType
|
|
44
|
+
|
|
45
|
+
attributes: Optional[PatchUserDataUserDataAttributes] = None
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class PatchUserDataUserDataRequestBodyTypedDict(TypedDict):
|
|
49
|
+
data: PatchUserDataUserDataDataTypedDict
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class PatchUserDataUserDataRequestBody(BaseModel):
|
|
53
|
+
data: PatchUserDataUserDataData
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class PatchUserDataRequestTypedDict(TypedDict):
|
|
57
|
+
user_data_id: str
|
|
58
|
+
request_body: NotRequired[PatchUserDataUserDataRequestBodyTypedDict]
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class PatchUserDataRequest(BaseModel):
|
|
62
|
+
user_data_id: Annotated[
|
|
63
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
64
|
+
]
|
|
65
|
+
|
|
66
|
+
request_body: Annotated[
|
|
67
|
+
Optional[PatchUserDataUserDataRequestBody],
|
|
68
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
69
|
+
] = None
|
|
@@ -0,0 +1,58 @@
|
|
|
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 typing import Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PostSSHKeySSHKeysType(str, Enum):
|
|
12
|
+
SSH_KEYS = "ssh_keys"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PostSSHKeySSHKeysAttributesTypedDict(TypedDict):
|
|
16
|
+
name: NotRequired[str]
|
|
17
|
+
r"""Name of the SSH Key"""
|
|
18
|
+
public_key: NotRequired[str]
|
|
19
|
+
r"""SSH Public Key"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PostSSHKeySSHKeysAttributes(BaseModel):
|
|
23
|
+
name: Optional[str] = None
|
|
24
|
+
r"""Name of the SSH Key"""
|
|
25
|
+
|
|
26
|
+
public_key: Optional[str] = None
|
|
27
|
+
r"""SSH Public Key"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class PostSSHKeySSHKeysDataTypedDict(TypedDict):
|
|
31
|
+
type: PostSSHKeySSHKeysType
|
|
32
|
+
attributes: NotRequired[PostSSHKeySSHKeysAttributesTypedDict]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class PostSSHKeySSHKeysData(BaseModel):
|
|
36
|
+
type: PostSSHKeySSHKeysType
|
|
37
|
+
|
|
38
|
+
attributes: Optional[PostSSHKeySSHKeysAttributes] = None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class PostSSHKeySSHKeysRequestBodyTypedDict(TypedDict):
|
|
42
|
+
data: PostSSHKeySSHKeysDataTypedDict
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class PostSSHKeySSHKeysRequestBody(BaseModel):
|
|
46
|
+
data: PostSSHKeySSHKeysData
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class PostSSHKeyResponseBodyTypedDict(TypedDict):
|
|
50
|
+
r"""Created"""
|
|
51
|
+
|
|
52
|
+
data: NotRequired[SSHKeyDataTypedDict]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class PostSSHKeyResponseBody(BaseModel):
|
|
56
|
+
r"""Created"""
|
|
57
|
+
|
|
58
|
+
data: Optional[SSHKeyData] = None
|
|
@@ -0,0 +1,45 @@
|
|
|
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 PostUserDataUserDataType(str, Enum):
|
|
11
|
+
USER_DATA = "user_data"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class PostUserDataUserDataAttributesTypedDict(TypedDict):
|
|
15
|
+
description: str
|
|
16
|
+
r"""description of the User Data"""
|
|
17
|
+
content: str
|
|
18
|
+
r"""base64 encoded content of the User Data"""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class PostUserDataUserDataAttributes(BaseModel):
|
|
22
|
+
description: str
|
|
23
|
+
r"""description of the User Data"""
|
|
24
|
+
|
|
25
|
+
content: str
|
|
26
|
+
r"""base64 encoded content of the User Data"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PostUserDataUserDataDataTypedDict(TypedDict):
|
|
30
|
+
type: PostUserDataUserDataType
|
|
31
|
+
attributes: NotRequired[PostUserDataUserDataAttributesTypedDict]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PostUserDataUserDataData(BaseModel):
|
|
35
|
+
type: PostUserDataUserDataType
|
|
36
|
+
|
|
37
|
+
attributes: Optional[PostUserDataUserDataAttributes] = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class PostUserDataUserDataRequestBodyTypedDict(TypedDict):
|
|
41
|
+
data: PostUserDataUserDataDataTypedDict
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class PostUserDataUserDataRequestBody(BaseModel):
|
|
45
|
+
data: PostUserDataUserDataData
|
|
@@ -48,6 +48,7 @@ class ProjectIncludeTypedDict(TypedDict):
|
|
|
48
48
|
environment: NotRequired[str]
|
|
49
49
|
billing: NotRequired[BillingModelTypedDict]
|
|
50
50
|
stats: NotRequired[StatsTypedDict]
|
|
51
|
+
provisioning_type: NotRequired[str]
|
|
51
52
|
|
|
52
53
|
|
|
53
54
|
class ProjectInclude(BaseModel):
|
|
@@ -70,3 +71,5 @@ class ProjectInclude(BaseModel):
|
|
|
70
71
|
billing: Optional[BillingModel] = None
|
|
71
72
|
|
|
72
73
|
stats: Optional[Stats] = None
|
|
74
|
+
|
|
75
|
+
provisioning_type: Optional[str] = None
|