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.
- latitudesh_python_sdk/__init__.py +18 -0
- latitudesh_python_sdk/_hooks/__init__.py +5 -0
- latitudesh_python_sdk/_hooks/registration.py +13 -0
- latitudesh_python_sdk/_hooks/sdkhooks.py +76 -0
- latitudesh_python_sdk/_hooks/types.py +106 -0
- latitudesh_python_sdk/_version.py +15 -0
- latitudesh_python_sdk/apikeys.py +802 -0
- latitudesh_python_sdk/basesdk.py +366 -0
- latitudesh_python_sdk/billing.py +210 -0
- latitudesh_python_sdk/events_sdk.py +240 -0
- latitudesh_python_sdk/firewalls_sdk.py +1640 -0
- latitudesh_python_sdk/httpclient.py +136 -0
- latitudesh_python_sdk/ipaddresses_sdk.py +448 -0
- latitudesh_python_sdk/models/__init__.py +1927 -0
- latitudesh_python_sdk/models/api_key.py +81 -0
- latitudesh_python_sdk/models/apierror.py +22 -0
- latitudesh_python_sdk/models/assign_server_virtual_networkop.py +43 -0
- latitudesh_python_sdk/models/bandwidth_packages.py +67 -0
- latitudesh_python_sdk/models/bandwidth_plan.py +72 -0
- latitudesh_python_sdk/models/bandwidth_plans.py +15 -0
- latitudesh_python_sdk/models/billing_usage.py +158 -0
- latitudesh_python_sdk/models/create_api_key.py +40 -0
- latitudesh_python_sdk/models/create_firewall_assignmentop.py +61 -0
- latitudesh_python_sdk/models/create_firewallop.py +69 -0
- latitudesh_python_sdk/models/create_ipmi_sessionop.py +16 -0
- latitudesh_python_sdk/models/create_projectop.py +79 -0
- latitudesh_python_sdk/models/create_server_actionop.py +69 -0
- latitudesh_python_sdk/models/create_server_out_of_bandop.py +61 -0
- latitudesh_python_sdk/models/create_server_reinstallop.py +140 -0
- latitudesh_python_sdk/models/create_serverop.py +173 -0
- latitudesh_python_sdk/models/create_tagop.py +50 -0
- latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
- latitudesh_python_sdk/models/custom_tag.py +54 -0
- latitudesh_python_sdk/models/delete_api_keyop.py +16 -0
- latitudesh_python_sdk/models/delete_firewall_assignmentop.py +25 -0
- latitudesh_python_sdk/models/delete_firewallop.py +18 -0
- latitudesh_python_sdk/models/delete_project_ssh_keyop.py +23 -0
- latitudesh_python_sdk/models/delete_project_user_dataop.py +23 -0
- latitudesh_python_sdk/models/delete_projectop.py +18 -0
- latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
- latitudesh_python_sdk/models/delete_virtual_networks_assignmentsop.py +16 -0
- latitudesh_python_sdk/models/delete_vpn_sessionop.py +16 -0
- latitudesh_python_sdk/models/deploy_config.py +74 -0
- latitudesh_python_sdk/models/destroy_serverop.py +31 -0
- latitudesh_python_sdk/models/destroy_tagop.py +16 -0
- latitudesh_python_sdk/models/destroy_team_memberop.py +18 -0
- latitudesh_python_sdk/models/destroy_virtual_machineop.py +16 -0
- latitudesh_python_sdk/models/destroy_virtual_networkop.py +18 -0
- latitudesh_python_sdk/models/error_object.py +49 -0
- latitudesh_python_sdk/models/events.py +90 -0
- latitudesh_python_sdk/models/filesystem_data.py +53 -0
- latitudesh_python_sdk/models/firewall.py +71 -0
- latitudesh_python_sdk/models/firewall_server.py +50 -0
- latitudesh_python_sdk/models/firewalls.py +26 -0
- latitudesh_python_sdk/models/get_bandwidth_plansop.py +33 -0
- latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
- latitudesh_python_sdk/models/get_eventsop.py +98 -0
- latitudesh_python_sdk/models/get_firewall_assignmentsop.py +18 -0
- latitudesh_python_sdk/models/get_firewallop.py +18 -0
- latitudesh_python_sdk/models/get_ipop.py +33 -0
- latitudesh_python_sdk/models/get_ipsop.py +91 -0
- latitudesh_python_sdk/models/get_planop.py +16 -0
- latitudesh_python_sdk/models/get_plans_operating_systemop.py +19 -0
- latitudesh_python_sdk/models/get_plansop.py +125 -0
- latitudesh_python_sdk/models/get_project_ssh_keyop.py +37 -0
- latitudesh_python_sdk/models/get_project_ssh_keysop.py +33 -0
- latitudesh_python_sdk/models/get_project_user_dataop.py +38 -0
- latitudesh_python_sdk/models/get_project_users_dataop.py +46 -0
- latitudesh_python_sdk/models/get_projectsop.py +76 -0
- latitudesh_python_sdk/models/get_regionop.py +18 -0
- latitudesh_python_sdk/models/get_role_idop.py +16 -0
- latitudesh_python_sdk/models/get_rolesop.py +19 -0
- latitudesh_python_sdk/models/get_server_deploy_configop.py +18 -0
- latitudesh_python_sdk/models/get_server_out_of_bandop.py +18 -0
- latitudesh_python_sdk/models/get_serverop.py +33 -0
- latitudesh_python_sdk/models/get_serversop.py +156 -0
- latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
- latitudesh_python_sdk/models/get_traffic_consumptionop.py +45 -0
- latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
- latitudesh_python_sdk/models/get_user_profileop.py +19 -0
- latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
- latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +40 -0
- latitudesh_python_sdk/models/get_virtual_networksop.py +40 -0
- latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
- latitudesh_python_sdk/models/index_virtual_machineop.py +22 -0
- latitudesh_python_sdk/models/ip_address.py +122 -0
- latitudesh_python_sdk/models/ip_addresses.py +15 -0
- latitudesh_python_sdk/models/ipmi_session.py +53 -0
- latitudesh_python_sdk/models/list_firewallsop.py +20 -0
- latitudesh_python_sdk/models/membership.py +63 -0
- latitudesh_python_sdk/models/operating_systems.py +57 -0
- latitudesh_python_sdk/models/out_of_band_connection.py +88 -0
- latitudesh_python_sdk/models/patch_current_teamop.py +91 -0
- latitudesh_python_sdk/models/patch_storage_filesystemsop.py +79 -0
- latitudesh_python_sdk/models/patch_user_profileop.py +88 -0
- latitudesh_python_sdk/models/plan.py +15 -0
- latitudesh_python_sdk/models/plan_data.py +206 -0
- latitudesh_python_sdk/models/post_api_keyop.py +19 -0
- latitudesh_python_sdk/models/post_project_ssh_keyop.py +81 -0
- latitudesh_python_sdk/models/post_project_user_dataop.py +68 -0
- latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
- latitudesh_python_sdk/models/post_team_membersop.py +54 -0
- latitudesh_python_sdk/models/post_teamop.py +67 -0
- latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
- latitudesh_python_sdk/models/project.py +130 -0
- latitudesh_python_sdk/models/project_include.py +72 -0
- latitudesh_python_sdk/models/projects.py +15 -0
- latitudesh_python_sdk/models/put_project_ssh_keyop.py +87 -0
- latitudesh_python_sdk/models/put_project_user_dataop.py +76 -0
- latitudesh_python_sdk/models/put_vpn_sessionop.py +16 -0
- latitudesh_python_sdk/models/region.py +50 -0
- latitudesh_python_sdk/models/region_resource_data.py +37 -0
- latitudesh_python_sdk/models/regions.py +50 -0
- latitudesh_python_sdk/models/role.py +15 -0
- latitudesh_python_sdk/models/role_data.py +35 -0
- latitudesh_python_sdk/models/security.py +25 -0
- latitudesh_python_sdk/models/server.py +54 -0
- latitudesh_python_sdk/models/server_action.py +52 -0
- latitudesh_python_sdk/models/server_data.py +219 -0
- latitudesh_python_sdk/models/server_exit_rescue_modeop.py +16 -0
- latitudesh_python_sdk/models/server_lockop.py +16 -0
- latitudesh_python_sdk/models/server_rescue.py +22 -0
- latitudesh_python_sdk/models/server_schedule_deletion.py +44 -0
- latitudesh_python_sdk/models/server_schedule_deletionop.py +16 -0
- latitudesh_python_sdk/models/server_start_rescue_modeop.py +16 -0
- latitudesh_python_sdk/models/server_unlockop.py +16 -0
- latitudesh_python_sdk/models/server_unschedule_deletionop.py +16 -0
- latitudesh_python_sdk/models/servers.py +26 -0
- latitudesh_python_sdk/models/show_virtual_machineop.py +16 -0
- latitudesh_python_sdk/models/ssh_key.py +15 -0
- latitudesh_python_sdk/models/ssh_key_data.py +55 -0
- latitudesh_python_sdk/models/storage_plan.py +36 -0
- latitudesh_python_sdk/models/storage_plans.py +15 -0
- latitudesh_python_sdk/models/team.py +74 -0
- latitudesh_python_sdk/models/team_include.py +43 -0
- latitudesh_python_sdk/models/team_members.py +51 -0
- latitudesh_python_sdk/models/teams.py +26 -0
- latitudesh_python_sdk/models/traffic.py +133 -0
- latitudesh_python_sdk/models/traffic_quota.py +106 -0
- latitudesh_python_sdk/models/update_api_key.py +48 -0
- latitudesh_python_sdk/models/update_api_keyop.py +41 -0
- latitudesh_python_sdk/models/update_firewallop.py +89 -0
- latitudesh_python_sdk/models/update_plans_bandwidthop.py +50 -0
- latitudesh_python_sdk/models/update_projectop.py +95 -0
- latitudesh_python_sdk/models/update_server_deploy_configop.py +122 -0
- latitudesh_python_sdk/models/update_serverop.py +69 -0
- latitudesh_python_sdk/models/update_tagop.py +74 -0
- latitudesh_python_sdk/models/update_virtual_networkop.py +67 -0
- latitudesh_python_sdk/models/user.py +59 -0
- latitudesh_python_sdk/models/user_data.py +15 -0
- latitudesh_python_sdk/models/user_data_properties.py +46 -0
- latitudesh_python_sdk/models/user_include.py +52 -0
- latitudesh_python_sdk/models/user_team.py +61 -0
- latitudesh_python_sdk/models/user_teams.py +26 -0
- latitudesh_python_sdk/models/user_update.py +37 -0
- latitudesh_python_sdk/models/virtual_machine.py +25 -0
- latitudesh_python_sdk/models/virtual_machine_payload.py +41 -0
- latitudesh_python_sdk/models/virtual_machine_plans.py +180 -0
- latitudesh_python_sdk/models/virtual_network.py +103 -0
- latitudesh_python_sdk/models/virtual_network1.py +84 -0
- latitudesh_python_sdk/models/virtual_network_assignment.py +37 -0
- latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
- latitudesh_python_sdk/models/virtual_networks.py +26 -0
- latitudesh_python_sdk/models/vpn_session_data_with_password.py +77 -0
- latitudesh_python_sdk/models/vpn_session_with_password.py +18 -0
- latitudesh_python_sdk/operatingsystems_sdk.py +188 -0
- latitudesh_python_sdk/plans.py +1178 -0
- latitudesh_python_sdk/privatenetworks.py +1672 -0
- latitudesh_python_sdk/projects_sdk.py +864 -0
- latitudesh_python_sdk/py.typed +1 -0
- latitudesh_python_sdk/regions_sdk.py +376 -0
- latitudesh_python_sdk/roles.py +374 -0
- latitudesh_python_sdk/sdk.py +214 -0
- latitudesh_python_sdk/sdkconfiguration.py +57 -0
- latitudesh_python_sdk/servers_sdk.py +3810 -0
- latitudesh_python_sdk/sshkeys.py +1050 -0
- latitudesh_python_sdk/storage.py +820 -0
- latitudesh_python_sdk/tags.py +786 -0
- latitudesh_python_sdk/teams_sdk.py +596 -0
- latitudesh_python_sdk/teamsmembers.py +578 -0
- latitudesh_python_sdk/traffic_sdk.py +400 -0
- latitudesh_python_sdk/types/__init__.py +21 -0
- latitudesh_python_sdk/types/basemodel.py +39 -0
- latitudesh_python_sdk/userdata_sdk.py +1052 -0
- latitudesh_python_sdk/userprofile.py +596 -0
- latitudesh_python_sdk/utils/__init__.py +101 -0
- latitudesh_python_sdk/utils/annotations.py +55 -0
- latitudesh_python_sdk/utils/enums.py +34 -0
- latitudesh_python_sdk/utils/eventstreaming.py +238 -0
- latitudesh_python_sdk/utils/forms.py +202 -0
- latitudesh_python_sdk/utils/headers.py +136 -0
- latitudesh_python_sdk/utils/logger.py +27 -0
- latitudesh_python_sdk/utils/metadata.py +118 -0
- latitudesh_python_sdk/utils/queryparams.py +205 -0
- latitudesh_python_sdk/utils/requestbodies.py +66 -0
- latitudesh_python_sdk/utils/retries.py +217 -0
- latitudesh_python_sdk/utils/security.py +192 -0
- latitudesh_python_sdk/utils/serializers.py +219 -0
- latitudesh_python_sdk/utils/url.py +155 -0
- latitudesh_python_sdk/utils/values.py +137 -0
- latitudesh_python_sdk/virtualmachines.py +772 -0
- latitudesh_python_sdk/vpnsessions.py +818 -0
- latitudesh_python_sdk-0.0.6.dist-info/LICENSE +21 -0
- latitudesh_python_sdk-0.0.6.dist-info/METADATA +730 -0
- latitudesh_python_sdk-0.0.6.dist-info/RECORD +206 -0
- latitudesh_python_sdk-0.0.6.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,35 @@
|
|
|
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 RoleDataType(str, Enum):
|
|
11
|
+
ROLES = "roles"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class RoleDataAttributesTypedDict(TypedDict):
|
|
15
|
+
name: NotRequired[str]
|
|
16
|
+
r"""Name of the Role"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class RoleDataAttributes(BaseModel):
|
|
20
|
+
name: Optional[str] = None
|
|
21
|
+
r"""Name of the Role"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class RoleDataTypedDict(TypedDict):
|
|
25
|
+
id: NotRequired[str]
|
|
26
|
+
type: NotRequired[RoleDataType]
|
|
27
|
+
attributes: NotRequired[RoleDataAttributesTypedDict]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class RoleData(BaseModel):
|
|
31
|
+
id: Optional[str] = None
|
|
32
|
+
|
|
33
|
+
type: Optional[RoleDataType] = None
|
|
34
|
+
|
|
35
|
+
attributes: Optional[RoleDataAttributes] = None
|
|
@@ -0,0 +1,25 @@
|
|
|
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, SecurityMetadata
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SecurityTypedDict(TypedDict):
|
|
11
|
+
bearer: NotRequired[str]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Security(BaseModel):
|
|
15
|
+
bearer: Annotated[
|
|
16
|
+
Optional[str],
|
|
17
|
+
FieldMetadata(
|
|
18
|
+
security=SecurityMetadata(
|
|
19
|
+
scheme=True,
|
|
20
|
+
scheme_type="apiKey",
|
|
21
|
+
sub_type="header",
|
|
22
|
+
field_name="Authorization",
|
|
23
|
+
)
|
|
24
|
+
),
|
|
25
|
+
] = None
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .server_data import ServerData, ServerDataTypedDict
|
|
5
|
+
from latitudesh_python_sdk import utils
|
|
6
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ServerMetaTypedDict(TypedDict):
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ServerMeta(BaseModel):
|
|
16
|
+
pass
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ServerTypedDict(TypedDict):
|
|
20
|
+
data: NotRequired[ServerDataTypedDict]
|
|
21
|
+
meta: NotRequired[ServerMetaTypedDict]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Server(BaseModel):
|
|
25
|
+
data: Optional[ServerData] = None
|
|
26
|
+
|
|
27
|
+
meta: Optional[ServerMeta] = None
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ServerErrorData(BaseModel):
|
|
31
|
+
data: Optional[ServerData] = None
|
|
32
|
+
|
|
33
|
+
meta: Optional[ServerMeta] = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class ServerError(Exception):
|
|
37
|
+
data: ServerErrorData
|
|
38
|
+
|
|
39
|
+
def __init__(self, data: ServerErrorData):
|
|
40
|
+
self.data = data
|
|
41
|
+
|
|
42
|
+
def __str__(self) -> str:
|
|
43
|
+
return utils.marshal_json(self.data, ServerErrorData)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class Server1TypedDict(TypedDict):
|
|
47
|
+
data: NotRequired[ServerDataTypedDict]
|
|
48
|
+
meta: NotRequired[ServerMetaTypedDict]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class Server1(BaseModel):
|
|
52
|
+
data: Optional[ServerData] = None
|
|
53
|
+
|
|
54
|
+
meta: Optional[ServerMeta] = None
|
|
@@ -0,0 +1,52 @@
|
|
|
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 ServerActionType(str, Enum):
|
|
11
|
+
ACTIONS = "actions"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ServerActionAttributesTypedDict(TypedDict):
|
|
15
|
+
status: NotRequired[str]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ServerActionAttributes(BaseModel):
|
|
19
|
+
status: Optional[str] = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ServerActionDataTypedDict(TypedDict):
|
|
23
|
+
id: NotRequired[str]
|
|
24
|
+
type: NotRequired[ServerActionType]
|
|
25
|
+
attributes: NotRequired[ServerActionAttributesTypedDict]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ServerActionData(BaseModel):
|
|
29
|
+
id: Optional[str] = None
|
|
30
|
+
|
|
31
|
+
type: Optional[ServerActionType] = None
|
|
32
|
+
|
|
33
|
+
attributes: Optional[ServerActionAttributes] = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class ServerActionMetaTypedDict(TypedDict):
|
|
37
|
+
pass
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ServerActionMeta(BaseModel):
|
|
41
|
+
pass
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class ServerActionTypedDict(TypedDict):
|
|
45
|
+
data: NotRequired[ServerActionDataTypedDict]
|
|
46
|
+
meta: NotRequired[ServerActionMetaTypedDict]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class ServerAction(BaseModel):
|
|
50
|
+
data: Optional[ServerActionData] = None
|
|
51
|
+
|
|
52
|
+
meta: Optional[ServerActionMeta] = None
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .project_include import ProjectInclude, ProjectIncludeTypedDict
|
|
5
|
+
from .region_resource_data import RegionResourceData, RegionResourceDataTypedDict
|
|
6
|
+
from .team_include import TeamInclude, TeamIncludeTypedDict
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
9
|
+
from typing import Optional
|
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Status(str, Enum):
|
|
14
|
+
r"""`on` - The server is powered ON
|
|
15
|
+
`off` - The server is powered OFF
|
|
16
|
+
`unknown` - The server power status is unknown
|
|
17
|
+
`ready` - The server is in reinstalling state `ready` and should start `disk_erasing` shortly
|
|
18
|
+
`disk_erasing` - The server is in reinstalling state `disk_erasing`
|
|
19
|
+
`failed_disk_erasing` - The server has failed disk erasing in reinstall
|
|
20
|
+
`deploying` - The server is in the last reinstalling stage and is `deploying`
|
|
21
|
+
`failed_deployment` The server has failed deployment in reinstall
|
|
22
|
+
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
ON = "on"
|
|
26
|
+
OFF = "off"
|
|
27
|
+
UNKNOWN = "unknown"
|
|
28
|
+
READY = "ready"
|
|
29
|
+
DISK_ERASING = "disk_erasing"
|
|
30
|
+
FAILED_DISK_ERASING = "failed_disk_erasing"
|
|
31
|
+
DEPLOYING = "deploying"
|
|
32
|
+
FAILED_DEPLOYMENT = "failed_deployment"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class IpmiStatus(str, Enum):
|
|
36
|
+
UNAVAILABLE = "Unavailable"
|
|
37
|
+
INTERMITTENT = "Intermittent"
|
|
38
|
+
NORMAL = "Normal"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class ServerDataPlanTypedDict(TypedDict):
|
|
42
|
+
id: NotRequired[str]
|
|
43
|
+
r"""The plan ID"""
|
|
44
|
+
name: NotRequired[str]
|
|
45
|
+
r"""The plan name"""
|
|
46
|
+
billing: NotRequired[str]
|
|
47
|
+
r"""hourly/monthly pricing. Defaults to `hourly`. Appliable for `on_demand` projects only."""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class ServerDataPlan(BaseModel):
|
|
51
|
+
id: Optional[str] = None
|
|
52
|
+
r"""The plan ID"""
|
|
53
|
+
|
|
54
|
+
name: Optional[str] = None
|
|
55
|
+
r"""The plan name"""
|
|
56
|
+
|
|
57
|
+
billing: Optional[str] = None
|
|
58
|
+
r"""hourly/monthly pricing. Defaults to `hourly`. Appliable for `on_demand` projects only."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class ServerDataFeaturesTypedDict(TypedDict):
|
|
62
|
+
raid: NotRequired[bool]
|
|
63
|
+
ssh_keys: NotRequired[bool]
|
|
64
|
+
user_data: NotRequired[bool]
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class ServerDataFeatures(BaseModel):
|
|
68
|
+
raid: Optional[bool] = None
|
|
69
|
+
|
|
70
|
+
ssh_keys: Optional[bool] = None
|
|
71
|
+
|
|
72
|
+
user_data: Optional[bool] = None
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class DistroTypedDict(TypedDict):
|
|
76
|
+
name: NotRequired[str]
|
|
77
|
+
r"""The OS Distro name"""
|
|
78
|
+
slug: NotRequired[str]
|
|
79
|
+
r"""The OS Distro slug"""
|
|
80
|
+
series: NotRequired[str]
|
|
81
|
+
r"""The OS Distro Series"""
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class Distro(BaseModel):
|
|
85
|
+
name: Optional[str] = None
|
|
86
|
+
r"""The OS Distro name"""
|
|
87
|
+
|
|
88
|
+
slug: Optional[str] = None
|
|
89
|
+
r"""The OS Distro slug"""
|
|
90
|
+
|
|
91
|
+
series: Optional[str] = None
|
|
92
|
+
r"""The OS Distro Series"""
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class OperatingSystemTypedDict(TypedDict):
|
|
96
|
+
name: NotRequired[str]
|
|
97
|
+
r"""The OS name"""
|
|
98
|
+
slug: NotRequired[str]
|
|
99
|
+
r"""The OS slug"""
|
|
100
|
+
version: NotRequired[str]
|
|
101
|
+
r"""The OS description"""
|
|
102
|
+
features: NotRequired[ServerDataFeaturesTypedDict]
|
|
103
|
+
distro: NotRequired[DistroTypedDict]
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class OperatingSystem(BaseModel):
|
|
107
|
+
name: Optional[str] = None
|
|
108
|
+
r"""The OS name"""
|
|
109
|
+
|
|
110
|
+
slug: Optional[str] = None
|
|
111
|
+
r"""The OS slug"""
|
|
112
|
+
|
|
113
|
+
version: Optional[str] = None
|
|
114
|
+
r"""The OS description"""
|
|
115
|
+
|
|
116
|
+
features: Optional[ServerDataFeatures] = None
|
|
117
|
+
|
|
118
|
+
distro: Optional[Distro] = None
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class ServerDataSpecsTypedDict(TypedDict):
|
|
122
|
+
cpu: NotRequired[str]
|
|
123
|
+
disk: NotRequired[str]
|
|
124
|
+
ram: NotRequired[str]
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class ServerDataSpecs(BaseModel):
|
|
128
|
+
cpu: Optional[str] = None
|
|
129
|
+
|
|
130
|
+
disk: Optional[str] = None
|
|
131
|
+
|
|
132
|
+
ram: Optional[str] = None
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class ServerDataAttributesTypedDict(TypedDict):
|
|
136
|
+
hostname: NotRequired[str]
|
|
137
|
+
status: NotRequired[Status]
|
|
138
|
+
r"""`on` - The server is powered ON
|
|
139
|
+
`off` - The server is powered OFF
|
|
140
|
+
`unknown` - The server power status is unknown
|
|
141
|
+
`ready` - The server is in reinstalling state `ready` and should start `disk_erasing` shortly
|
|
142
|
+
`disk_erasing` - The server is in reinstalling state `disk_erasing`
|
|
143
|
+
`failed_disk_erasing` - The server has failed disk erasing in reinstall
|
|
144
|
+
`deploying` - The server is in the last reinstalling stage and is `deploying`
|
|
145
|
+
`failed_deployment` The server has failed deployment in reinstall
|
|
146
|
+
|
|
147
|
+
"""
|
|
148
|
+
ipmi_status: NotRequired[IpmiStatus]
|
|
149
|
+
role: NotRequired[str]
|
|
150
|
+
site: NotRequired[str]
|
|
151
|
+
locked: NotRequired[bool]
|
|
152
|
+
rescue: NotRequired[bool]
|
|
153
|
+
primary_ipv4: NotRequired[str]
|
|
154
|
+
created_at: NotRequired[str]
|
|
155
|
+
scheduled_deletion_at: NotRequired[str]
|
|
156
|
+
plan: NotRequired[ServerDataPlanTypedDict]
|
|
157
|
+
operating_system: NotRequired[OperatingSystemTypedDict]
|
|
158
|
+
region: NotRequired[RegionResourceDataTypedDict]
|
|
159
|
+
specs: NotRequired[ServerDataSpecsTypedDict]
|
|
160
|
+
project: NotRequired[ProjectIncludeTypedDict]
|
|
161
|
+
team: NotRequired[TeamIncludeTypedDict]
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class ServerDataAttributes(BaseModel):
|
|
165
|
+
hostname: Optional[str] = None
|
|
166
|
+
|
|
167
|
+
status: Optional[Status] = None
|
|
168
|
+
r"""`on` - The server is powered ON
|
|
169
|
+
`off` - The server is powered OFF
|
|
170
|
+
`unknown` - The server power status is unknown
|
|
171
|
+
`ready` - The server is in reinstalling state `ready` and should start `disk_erasing` shortly
|
|
172
|
+
`disk_erasing` - The server is in reinstalling state `disk_erasing`
|
|
173
|
+
`failed_disk_erasing` - The server has failed disk erasing in reinstall
|
|
174
|
+
`deploying` - The server is in the last reinstalling stage and is `deploying`
|
|
175
|
+
`failed_deployment` The server has failed deployment in reinstall
|
|
176
|
+
|
|
177
|
+
"""
|
|
178
|
+
|
|
179
|
+
ipmi_status: Optional[IpmiStatus] = None
|
|
180
|
+
|
|
181
|
+
role: Optional[str] = None
|
|
182
|
+
|
|
183
|
+
site: Optional[str] = None
|
|
184
|
+
|
|
185
|
+
locked: Optional[bool] = None
|
|
186
|
+
|
|
187
|
+
rescue: Optional[bool] = None
|
|
188
|
+
|
|
189
|
+
primary_ipv4: Optional[str] = None
|
|
190
|
+
|
|
191
|
+
created_at: Optional[str] = None
|
|
192
|
+
|
|
193
|
+
scheduled_deletion_at: Optional[str] = None
|
|
194
|
+
|
|
195
|
+
plan: Optional[ServerDataPlan] = None
|
|
196
|
+
|
|
197
|
+
operating_system: Optional[OperatingSystem] = None
|
|
198
|
+
|
|
199
|
+
region: Optional[RegionResourceData] = None
|
|
200
|
+
|
|
201
|
+
specs: Optional[ServerDataSpecs] = None
|
|
202
|
+
|
|
203
|
+
project: Optional[ProjectInclude] = None
|
|
204
|
+
|
|
205
|
+
team: Optional[TeamInclude] = None
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
class ServerDataTypedDict(TypedDict):
|
|
209
|
+
id: NotRequired[str]
|
|
210
|
+
type: NotRequired[str]
|
|
211
|
+
attributes: NotRequired[ServerDataAttributesTypedDict]
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
class ServerData(BaseModel):
|
|
215
|
+
id: Optional[str] = None
|
|
216
|
+
|
|
217
|
+
type: Optional[str] = None
|
|
218
|
+
|
|
219
|
+
attributes: Optional[ServerDataAttributes] = 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 ServerExitRescueModeRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerExitRescueModeRequest(BaseModel):
|
|
14
|
+
server_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 ServerLockRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerLockRequest(BaseModel):
|
|
14
|
+
server_id: Annotated[
|
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
16
|
+
]
|
|
@@ -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 typing import Optional
|
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ServerRescueMetaTypedDict(TypedDict):
|
|
10
|
+
pass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerRescueMeta(BaseModel):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ServerRescueTypedDict(TypedDict):
|
|
18
|
+
meta: NotRequired[ServerRescueMetaTypedDict]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ServerRescue(BaseModel):
|
|
22
|
+
meta: Optional[ServerRescueMeta] = None
|
|
@@ -0,0 +1,44 @@
|
|
|
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 ServerScheduleDeletionType(str, Enum):
|
|
11
|
+
SCHEDULE_DELETION = "schedule_deletion"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ServerScheduleDeletionAttributesTypedDict(TypedDict):
|
|
15
|
+
server_id: NotRequired[str]
|
|
16
|
+
scheduled_deletion_at: NotRequired[str]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ServerScheduleDeletionAttributes(BaseModel):
|
|
20
|
+
server_id: Optional[str] = None
|
|
21
|
+
|
|
22
|
+
scheduled_deletion_at: Optional[str] = None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ServerScheduleDeletionDataTypedDict(TypedDict):
|
|
26
|
+
id: NotRequired[str]
|
|
27
|
+
type: NotRequired[ServerScheduleDeletionType]
|
|
28
|
+
attributes: NotRequired[ServerScheduleDeletionAttributesTypedDict]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ServerScheduleDeletionData(BaseModel):
|
|
32
|
+
id: Optional[str] = None
|
|
33
|
+
|
|
34
|
+
type: Optional[ServerScheduleDeletionType] = None
|
|
35
|
+
|
|
36
|
+
attributes: Optional[ServerScheduleDeletionAttributes] = None
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class ServerScheduleDeletionTypedDict(TypedDict):
|
|
40
|
+
data: NotRequired[ServerScheduleDeletionDataTypedDict]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class ServerScheduleDeletion(BaseModel):
|
|
44
|
+
data: Optional[ServerScheduleDeletionData] = 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 ServerScheduleDeletionRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerScheduleDeletionRequest(BaseModel):
|
|
14
|
+
server_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 ServerStartRescueModeRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerStartRescueModeRequest(BaseModel):
|
|
14
|
+
server_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 ServerUnlockRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerUnlockRequest(BaseModel):
|
|
14
|
+
server_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 ServerUnscheduleDeletionRequestTypedDict(TypedDict):
|
|
10
|
+
server_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServerUnscheduleDeletionRequest(BaseModel):
|
|
14
|
+
server_id: Annotated[
|
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
16
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .server_data import ServerData, ServerDataTypedDict
|
|
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 ServersMetaTypedDict(TypedDict):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ServersMeta(BaseModel):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ServersTypedDict(TypedDict):
|
|
19
|
+
data: NotRequired[List[ServerDataTypedDict]]
|
|
20
|
+
meta: NotRequired[ServersMetaTypedDict]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Servers(BaseModel):
|
|
24
|
+
data: Optional[List[ServerData]] = None
|
|
25
|
+
|
|
26
|
+
meta: Optional[ServersMeta] = 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 ShowVirtualMachineRequestTypedDict(TypedDict):
|
|
10
|
+
virtual_machine_id: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ShowVirtualMachineRequest(BaseModel):
|
|
14
|
+
virtual_machine_id: Annotated[
|
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
16
|
+
]
|
|
@@ -0,0 +1,15 @@
|
|
|
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 typing import List, Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SSHKeyTypedDict(TypedDict):
|
|
11
|
+
data: NotRequired[List[SSHKeyDataTypedDict]]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class SSHKey(BaseModel):
|
|
15
|
+
data: Optional[List[SSHKeyData]] = None
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .user_include import UserInclude, UserIncludeTypedDict
|
|
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 SSHKeyDataType(str, Enum):
|
|
12
|
+
SSH_KEYS = "ssh_keys"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SSHKeyDataAttributesTypedDict(TypedDict):
|
|
16
|
+
name: NotRequired[str]
|
|
17
|
+
r"""Name of the SSH Key"""
|
|
18
|
+
public_key: NotRequired[str]
|
|
19
|
+
r"""SSH Public Key"""
|
|
20
|
+
fingerprint: NotRequired[str]
|
|
21
|
+
r"""SSH Key fingerprint"""
|
|
22
|
+
user: NotRequired[UserIncludeTypedDict]
|
|
23
|
+
created_at: NotRequired[str]
|
|
24
|
+
updated_at: NotRequired[str]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class SSHKeyDataAttributes(BaseModel):
|
|
28
|
+
name: Optional[str] = None
|
|
29
|
+
r"""Name of the SSH Key"""
|
|
30
|
+
|
|
31
|
+
public_key: Optional[str] = None
|
|
32
|
+
r"""SSH Public Key"""
|
|
33
|
+
|
|
34
|
+
fingerprint: Optional[str] = None
|
|
35
|
+
r"""SSH Key fingerprint"""
|
|
36
|
+
|
|
37
|
+
user: Optional[UserInclude] = None
|
|
38
|
+
|
|
39
|
+
created_at: Optional[str] = None
|
|
40
|
+
|
|
41
|
+
updated_at: Optional[str] = None
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class SSHKeyDataTypedDict(TypedDict):
|
|
45
|
+
type: SSHKeyDataType
|
|
46
|
+
id: NotRequired[str]
|
|
47
|
+
attributes: NotRequired[SSHKeyDataAttributesTypedDict]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class SSHKeyData(BaseModel):
|
|
51
|
+
type: SSHKeyDataType
|
|
52
|
+
|
|
53
|
+
id: Optional[str] = None
|
|
54
|
+
|
|
55
|
+
attributes: Optional[SSHKeyDataAttributes] = None
|