latitudesh-python-sdk 2.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +113 -0
- latitudesh_python_sdk/_version.py +17 -0
- latitudesh_python_sdk/apikeys.py +703 -0
- latitudesh_python_sdk/basesdk.py +374 -0
- latitudesh_python_sdk/billing.py +197 -0
- latitudesh_python_sdk/events_sdk.py +298 -0
- latitudesh_python_sdk/firewalls_sdk.py +1786 -0
- latitudesh_python_sdk/httpclient.py +125 -0
- latitudesh_python_sdk/ipaddresses_sdk.py +470 -0
- latitudesh_python_sdk/models/__init__.py +3581 -0
- latitudesh_python_sdk/models/api_key.py +81 -0
- latitudesh_python_sdk/models/apierror.py +40 -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_data.py +72 -0
- latitudesh_python_sdk/models/bandwidth_plans.py +26 -0
- latitudesh_python_sdk/models/billing_usage.py +249 -0
- latitudesh_python_sdk/models/container_plan_data.py +163 -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 +73 -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_machine_actionop.py +63 -0
- latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
- latitudesh_python_sdk/models/custom_tag.py +26 -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_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_ssh_keyop.py +16 -0
- latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
- latitudesh_python_sdk/models/delete_storage_volumesop.py +16 -0
- latitudesh_python_sdk/models/delete_user_dataop.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 +62 -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/event_data.py +98 -0
- latitudesh_python_sdk/models/events.py +26 -0
- latitudesh_python_sdk/models/filesystem_data.py +57 -0
- latitudesh_python_sdk/models/firewall.py +26 -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 +75 -0
- latitudesh_python_sdk/models/firewall_server.py +36 -0
- latitudesh_python_sdk/models/firewalls.py +26 -0
- latitudesh_python_sdk/models/get_all_firewall_assignmentsop.py +51 -0
- latitudesh_python_sdk/models/get_bandwidth_plansop.py +62 -0
- latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
- latitudesh_python_sdk/models/get_containers_planop.py +18 -0
- latitudesh_python_sdk/models/get_eventsop.py +126 -0
- latitudesh_python_sdk/models/get_firewall_assignmentsop.py +53 -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 +120 -0
- latitudesh_python_sdk/models/get_planop.py +16 -0
- latitudesh_python_sdk/models/get_plans_operating_systemop.py +54 -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 +105 -0
- latitudesh_python_sdk/models/get_regionop.py +18 -0
- latitudesh_python_sdk/models/get_regionsop.py +42 -0
- latitudesh_python_sdk/models/get_role_idop.py +16 -0
- latitudesh_python_sdk/models/get_rolesop.py +54 -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 +185 -0
- latitudesh_python_sdk/models/get_ssh_keyop.py +30 -0
- latitudesh_python_sdk/models/get_ssh_keysop.py +31 -0
- latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
- latitudesh_python_sdk/models/get_storage_volumeop.py +32 -0
- latitudesh_python_sdk/models/get_storage_volumesop.py +35 -0
- latitudesh_python_sdk/models/get_team_membersop.py +42 -0
- latitudesh_python_sdk/models/get_traffic_consumptionop.py +49 -0
- latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
- latitudesh_python_sdk/models/get_user_dataop.py +31 -0
- latitudesh_python_sdk/models/get_user_profileop.py +19 -0
- latitudesh_python_sdk/models/get_users_dataop.py +44 -0
- latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
- latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +72 -0
- latitudesh_python_sdk/models/get_virtual_networksop.py +69 -0
- latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
- latitudesh_python_sdk/models/index_virtual_machineop.py +31 -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/latitudesherror.py +30 -0
- latitudesh_python_sdk/models/list_firewallsop.py +49 -0
- latitudesh_python_sdk/models/membership.py +63 -0
- latitudesh_python_sdk/models/no_response_error.py +17 -0
- latitudesh_python_sdk/models/operating_system_data.py +65 -0
- latitudesh_python_sdk/models/operating_systems.py +26 -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_dataop.py +69 -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 +210 -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_ssh_keyop.py +63 -0
- latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
- latitudesh_python_sdk/models/post_storage_volumes_mountop.py +62 -0
- latitudesh_python_sdk/models/post_storage_volumesop.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_user_dataop.py +50 -0
- latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
- latitudesh_python_sdk/models/project.py +131 -0
- latitudesh_python_sdk/models/project_include.py +75 -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_ssh_keyop.py +80 -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/responsevalidationerror.py +27 -0
- latitudesh_python_sdk/models/role.py +26 -0
- latitudesh_python_sdk/models/role_data.py +35 -0
- latitudesh_python_sdk/models/security.py +25 -0
- latitudesh_python_sdk/models/server.py +26 -0
- latitudesh_python_sdk/models/server_action.py +52 -0
- latitudesh_python_sdk/models/server_data.py +280 -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_region_resource_data.py +40 -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_data.py +55 -0
- latitudesh_python_sdk/models/ssh_keys.py +26 -0
- latitudesh_python_sdk/models/storage_plan_data.py +47 -0
- latitudesh_python_sdk/models/storage_plans.py +26 -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 +85 -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 +26 -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 +29 -0
- latitudesh_python_sdk/models/virtual_machine_attributes.py +115 -0
- latitudesh_python_sdk/models/virtual_machine_payload.py +47 -0
- latitudesh_python_sdk/models/virtual_machine_plans.py +181 -0
- latitudesh_python_sdk/models/virtual_network.py +26 -0
- latitudesh_python_sdk/models/virtual_network_assignment.py +29 -0
- latitudesh_python_sdk/models/virtual_network_assignment_data.py +65 -0
- latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
- latitudesh_python_sdk/models/virtual_network_data.py +114 -0
- latitudesh_python_sdk/models/virtual_networks.py +26 -0
- latitudesh_python_sdk/models/volume_data.py +111 -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 +238 -0
- latitudesh_python_sdk/plans.py +1304 -0
- latitudesh_python_sdk/privatenetworks.py +1612 -0
- latitudesh_python_sdk/projects_sdk.py +830 -0
- latitudesh_python_sdk/py.typed +1 -0
- latitudesh_python_sdk/regions_sdk.py +398 -0
- latitudesh_python_sdk/roles.py +398 -0
- latitudesh_python_sdk/sdk.py +264 -0
- latitudesh_python_sdk/sdkconfiguration.py +50 -0
- latitudesh_python_sdk/servers_sdk.py +3414 -0
- latitudesh_python_sdk/sshkeys_sdk.py +1882 -0
- latitudesh_python_sdk/storage.py +1651 -0
- latitudesh_python_sdk/tags.py +715 -0
- latitudesh_python_sdk/teams_sdk.py +527 -0
- latitudesh_python_sdk/teamsmembers.py +576 -0
- latitudesh_python_sdk/traffic_sdk.py +357 -0
- latitudesh_python_sdk/types/__init__.py +21 -0
- latitudesh_python_sdk/types/basemodel.py +39 -0
- latitudesh_python_sdk/userdata_sdk.py +1888 -0
- latitudesh_python_sdk/userprofile.py +531 -0
- latitudesh_python_sdk/utils/__init__.py +200 -0
- latitudesh_python_sdk/utils/annotations.py +79 -0
- latitudesh_python_sdk/utils/datetimes.py +23 -0
- latitudesh_python_sdk/utils/enums.py +74 -0
- latitudesh_python_sdk/utils/eventstreaming.py +248 -0
- latitudesh_python_sdk/utils/forms.py +234 -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 +217 -0
- latitudesh_python_sdk/utils/requestbodies.py +66 -0
- latitudesh_python_sdk/utils/retries.py +281 -0
- latitudesh_python_sdk/utils/security.py +192 -0
- latitudesh_python_sdk/utils/serializers.py +249 -0
- latitudesh_python_sdk/utils/unmarshal_json_response.py +38 -0
- latitudesh_python_sdk/utils/url.py +155 -0
- latitudesh_python_sdk/utils/values.py +137 -0
- latitudesh_python_sdk/virtualmachines.py +941 -0
- latitudesh_python_sdk/vpnsessions.py +715 -0
- latitudesh_python_sdk-2.3.0.dist-info/METADATA +787 -0
- latitudesh_python_sdk-2.3.0.dist-info/RECORD +242 -0
- latitudesh_python_sdk-2.3.0.dist-info/WHEEL +4 -0
- latitudesh_python_sdk-2.3.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .virtual_networks import VirtualNetworks, VirtualNetworksTypedDict
|
|
5
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
6
|
+
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from typing import Callable, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class GetVirtualNetworksRequestTypedDict(TypedDict):
|
|
13
|
+
filter_location: NotRequired[str]
|
|
14
|
+
r"""The location slug to filter by"""
|
|
15
|
+
filter_project: NotRequired[str]
|
|
16
|
+
r"""The project id or slug to filter by"""
|
|
17
|
+
filter_tags: NotRequired[str]
|
|
18
|
+
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`"""
|
|
19
|
+
page_size: NotRequired[int]
|
|
20
|
+
r"""Number of items to return per page"""
|
|
21
|
+
page_number: NotRequired[int]
|
|
22
|
+
r"""Page number to return (starts at 1)"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GetVirtualNetworksRequest(BaseModel):
|
|
26
|
+
filter_location: Annotated[
|
|
27
|
+
Optional[str],
|
|
28
|
+
pydantic.Field(alias="filter[location]"),
|
|
29
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
30
|
+
] = None
|
|
31
|
+
r"""The location slug to filter by"""
|
|
32
|
+
|
|
33
|
+
filter_project: Annotated[
|
|
34
|
+
Optional[str],
|
|
35
|
+
pydantic.Field(alias="filter[project]"),
|
|
36
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
37
|
+
] = None
|
|
38
|
+
r"""The project id or slug to filter by"""
|
|
39
|
+
|
|
40
|
+
filter_tags: Annotated[
|
|
41
|
+
Optional[str],
|
|
42
|
+
pydantic.Field(alias="filter[tags]"),
|
|
43
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
44
|
+
] = None
|
|
45
|
+
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`"""
|
|
46
|
+
|
|
47
|
+
page_size: Annotated[
|
|
48
|
+
Optional[int],
|
|
49
|
+
pydantic.Field(alias="page[size]"),
|
|
50
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
51
|
+
] = 20
|
|
52
|
+
r"""Number of items to return per page"""
|
|
53
|
+
|
|
54
|
+
page_number: Annotated[
|
|
55
|
+
Optional[int],
|
|
56
|
+
pydantic.Field(alias="page[number]"),
|
|
57
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
58
|
+
] = 1
|
|
59
|
+
r"""Page number to return (starts at 1)"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class GetVirtualNetworksResponseTypedDict(TypedDict):
|
|
63
|
+
result: VirtualNetworksTypedDict
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class GetVirtualNetworksResponse(BaseModel):
|
|
67
|
+
next: Callable[[], Optional[GetVirtualNetworksResponse]]
|
|
68
|
+
|
|
69
|
+
result: VirtualNetworks
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .vpn_session_data_with_password import (
|
|
5
|
+
VpnSessionDataWithPassword,
|
|
6
|
+
VpnSessionDataWithPasswordTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from enum import Enum
|
|
9
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
10
|
+
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
11
|
+
import pydantic
|
|
12
|
+
from typing import List, Optional
|
|
13
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class FilterLocation(str, Enum):
|
|
17
|
+
ASH = "ASH"
|
|
18
|
+
BGT = "BGT"
|
|
19
|
+
BUE = "BUE"
|
|
20
|
+
CHI = "CHI"
|
|
21
|
+
DAL = "DAL"
|
|
22
|
+
FRA = "FRA"
|
|
23
|
+
LAX = "LAX"
|
|
24
|
+
LON = "LON"
|
|
25
|
+
MEX = "MEX"
|
|
26
|
+
MEX2 = "MEX2"
|
|
27
|
+
MIA = "MIA"
|
|
28
|
+
MIA2 = "MIA2"
|
|
29
|
+
NYC = "NYC"
|
|
30
|
+
SAN = "SAN"
|
|
31
|
+
SAO = "SAO"
|
|
32
|
+
SAO2 = "SAO2"
|
|
33
|
+
SYD = "SYD"
|
|
34
|
+
TYO = "TYO"
|
|
35
|
+
TYO2 = "TYO2"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class GetVpnSessionsRequestTypedDict(TypedDict):
|
|
39
|
+
filter_location: NotRequired[FilterLocation]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class GetVpnSessionsRequest(BaseModel):
|
|
43
|
+
filter_location: Annotated[
|
|
44
|
+
Optional[FilterLocation],
|
|
45
|
+
pydantic.Field(alias="filter[location]"),
|
|
46
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
47
|
+
] = None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class GetVpnSessionsMetaTypedDict(TypedDict):
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class GetVpnSessionsMeta(BaseModel):
|
|
55
|
+
pass
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class GetVpnSessionsResponseBodyTypedDict(TypedDict):
|
|
59
|
+
r"""Success"""
|
|
60
|
+
|
|
61
|
+
data: NotRequired[List[VpnSessionDataWithPasswordTypedDict]]
|
|
62
|
+
meta: NotRequired[GetVpnSessionsMetaTypedDict]
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class GetVpnSessionsResponseBody(BaseModel):
|
|
66
|
+
r"""Success"""
|
|
67
|
+
|
|
68
|
+
data: Optional[List[VpnSessionDataWithPassword]] = None
|
|
69
|
+
|
|
70
|
+
meta: Optional[GetVpnSessionsMeta] = None
|
|
@@ -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 FieldMetadata, QueryParamMetadata
|
|
6
|
+
import pydantic
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class IndexVirtualMachineRequestTypedDict(TypedDict):
|
|
12
|
+
filter_project: NotRequired[str]
|
|
13
|
+
r"""The project ID or Slug to filter by"""
|
|
14
|
+
extra_fields_virtual_machines: NotRequired[str]
|
|
15
|
+
r"""The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[virtual_machines]=credentials` in the query string."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class IndexVirtualMachineRequest(BaseModel):
|
|
19
|
+
filter_project: Annotated[
|
|
20
|
+
Optional[str],
|
|
21
|
+
pydantic.Field(alias="filter[project]"),
|
|
22
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
23
|
+
] = None
|
|
24
|
+
r"""The project ID or Slug to filter by"""
|
|
25
|
+
|
|
26
|
+
extra_fields_virtual_machines: Annotated[
|
|
27
|
+
Optional[str],
|
|
28
|
+
pydantic.Field(alias="extra_fields[virtual_machines]"),
|
|
29
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
30
|
+
] = None
|
|
31
|
+
r"""The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[virtual_machines]=credentials` in the query string."""
|
|
@@ -0,0 +1,122 @@
|
|
|
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 Family(str, Enum):
|
|
11
|
+
I_PV4 = "IPv4"
|
|
12
|
+
I_PV6 = "IPv6"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class IPAddressType(str, Enum):
|
|
16
|
+
PUBLIC = "Public"
|
|
17
|
+
PRIVATE = "Private"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class IPAddressProjectTypedDict(TypedDict):
|
|
21
|
+
id: NotRequired[str]
|
|
22
|
+
name: NotRequired[str]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class IPAddressProject(BaseModel):
|
|
26
|
+
id: Optional[str] = None
|
|
27
|
+
|
|
28
|
+
name: Optional[str] = None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class LocationTypedDict(TypedDict):
|
|
32
|
+
id: NotRequired[str]
|
|
33
|
+
name: NotRequired[str]
|
|
34
|
+
slug: NotRequired[str]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class Location(BaseModel):
|
|
38
|
+
id: Optional[str] = None
|
|
39
|
+
|
|
40
|
+
name: Optional[str] = None
|
|
41
|
+
|
|
42
|
+
slug: Optional[str] = None
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class IPAddressRegionTypedDict(TypedDict):
|
|
46
|
+
id: NotRequired[str]
|
|
47
|
+
name: NotRequired[str]
|
|
48
|
+
location: NotRequired[LocationTypedDict]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class IPAddressRegion(BaseModel):
|
|
52
|
+
id: Optional[str] = None
|
|
53
|
+
|
|
54
|
+
name: Optional[str] = None
|
|
55
|
+
|
|
56
|
+
location: Optional[Location] = None
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class AssignmentTypedDict(TypedDict):
|
|
60
|
+
server_id: NotRequired[str]
|
|
61
|
+
hostname: NotRequired[str]
|
|
62
|
+
assigned_at: NotRequired[str]
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class Assignment(BaseModel):
|
|
66
|
+
server_id: Optional[str] = None
|
|
67
|
+
|
|
68
|
+
hostname: Optional[str] = None
|
|
69
|
+
|
|
70
|
+
assigned_at: Optional[str] = None
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class IPAddressAttributesTypedDict(TypedDict):
|
|
74
|
+
address: NotRequired[str]
|
|
75
|
+
cidr: NotRequired[str]
|
|
76
|
+
family: NotRequired[Family]
|
|
77
|
+
gateway: NotRequired[str]
|
|
78
|
+
netmask: NotRequired[str]
|
|
79
|
+
type: NotRequired[IPAddressType]
|
|
80
|
+
public: NotRequired[bool]
|
|
81
|
+
management: NotRequired[bool]
|
|
82
|
+
project: NotRequired[IPAddressProjectTypedDict]
|
|
83
|
+
region: NotRequired[IPAddressRegionTypedDict]
|
|
84
|
+
available: NotRequired[bool]
|
|
85
|
+
assignment: NotRequired[AssignmentTypedDict]
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class IPAddressAttributes(BaseModel):
|
|
89
|
+
address: Optional[str] = None
|
|
90
|
+
|
|
91
|
+
cidr: Optional[str] = None
|
|
92
|
+
|
|
93
|
+
family: Optional[Family] = None
|
|
94
|
+
|
|
95
|
+
gateway: Optional[str] = None
|
|
96
|
+
|
|
97
|
+
netmask: Optional[str] = None
|
|
98
|
+
|
|
99
|
+
type: Optional[IPAddressType] = None
|
|
100
|
+
|
|
101
|
+
public: Optional[bool] = None
|
|
102
|
+
|
|
103
|
+
management: Optional[bool] = None
|
|
104
|
+
|
|
105
|
+
project: Optional[IPAddressProject] = None
|
|
106
|
+
|
|
107
|
+
region: Optional[IPAddressRegion] = None
|
|
108
|
+
|
|
109
|
+
available: Optional[bool] = None
|
|
110
|
+
|
|
111
|
+
assignment: Optional[Assignment] = None
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class IPAddressTypedDict(TypedDict):
|
|
115
|
+
id: NotRequired[str]
|
|
116
|
+
attributes: NotRequired[IPAddressAttributesTypedDict]
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class IPAddress(BaseModel):
|
|
120
|
+
id: Optional[str] = None
|
|
121
|
+
|
|
122
|
+
attributes: Optional[IPAddressAttributes] = None
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .ip_address import IPAddress, IPAddressTypedDict
|
|
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 IPAddressesTypedDict(TypedDict):
|
|
11
|
+
data: NotRequired[List[IPAddressTypedDict]]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class IPAddresses(BaseModel):
|
|
15
|
+
data: Optional[List[IPAddress]] = None
|
|
@@ -0,0 +1,53 @@
|
|
|
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 IpmiSessionType(str, Enum):
|
|
11
|
+
IPMI_SESSIONS = "ipmi_sessions"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class IpmiSessionAttributesTypedDict(TypedDict):
|
|
15
|
+
ipmi_address: NotRequired[str]
|
|
16
|
+
r"""The IPMI IP Address"""
|
|
17
|
+
ipmi_username: NotRequired[str]
|
|
18
|
+
r"""The IPMI username"""
|
|
19
|
+
ipmi_password: NotRequired[str]
|
|
20
|
+
r"""The IPMI password"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class IpmiSessionAttributes(BaseModel):
|
|
24
|
+
ipmi_address: Optional[str] = None
|
|
25
|
+
r"""The IPMI IP Address"""
|
|
26
|
+
|
|
27
|
+
ipmi_username: Optional[str] = None
|
|
28
|
+
r"""The IPMI username"""
|
|
29
|
+
|
|
30
|
+
ipmi_password: Optional[str] = None
|
|
31
|
+
r"""The IPMI password"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class IpmiSessionDataTypedDict(TypedDict):
|
|
35
|
+
id: NotRequired[str]
|
|
36
|
+
type: NotRequired[IpmiSessionType]
|
|
37
|
+
attributes: NotRequired[IpmiSessionAttributesTypedDict]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class IpmiSessionData(BaseModel):
|
|
41
|
+
id: Optional[str] = None
|
|
42
|
+
|
|
43
|
+
type: Optional[IpmiSessionType] = None
|
|
44
|
+
|
|
45
|
+
attributes: Optional[IpmiSessionAttributes] = None
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class IpmiSessionTypedDict(TypedDict):
|
|
49
|
+
data: NotRequired[IpmiSessionDataTypedDict]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class IpmiSession(BaseModel):
|
|
53
|
+
data: Optional[IpmiSessionData] = None
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
import httpx
|
|
4
|
+
from typing import Optional
|
|
5
|
+
from dataclasses import dataclass, field
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass(unsafe_hash=True)
|
|
9
|
+
class LatitudeshError(Exception):
|
|
10
|
+
"""The base class for all HTTP error responses."""
|
|
11
|
+
|
|
12
|
+
message: str
|
|
13
|
+
status_code: int
|
|
14
|
+
body: str
|
|
15
|
+
headers: httpx.Headers = field(hash=False)
|
|
16
|
+
raw_response: httpx.Response = field(hash=False)
|
|
17
|
+
|
|
18
|
+
def __init__(
|
|
19
|
+
self, message: str, raw_response: httpx.Response, body: Optional[str] = None
|
|
20
|
+
):
|
|
21
|
+
object.__setattr__(self, "message", message)
|
|
22
|
+
object.__setattr__(self, "status_code", raw_response.status_code)
|
|
23
|
+
object.__setattr__(
|
|
24
|
+
self, "body", body if body is not None else raw_response.text
|
|
25
|
+
)
|
|
26
|
+
object.__setattr__(self, "headers", raw_response.headers)
|
|
27
|
+
object.__setattr__(self, "raw_response", raw_response)
|
|
28
|
+
|
|
29
|
+
def __str__(self):
|
|
30
|
+
return self.message
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .firewalls import Firewalls, FirewallsTypedDict
|
|
5
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
6
|
+
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from typing import Callable, Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ListFirewallsRequestTypedDict(TypedDict):
|
|
13
|
+
filter_project: NotRequired[str]
|
|
14
|
+
page_size: NotRequired[int]
|
|
15
|
+
r"""Number of items to return per page"""
|
|
16
|
+
page_number: NotRequired[int]
|
|
17
|
+
r"""Page number to return (starts at 1)"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ListFirewallsRequest(BaseModel):
|
|
21
|
+
filter_project: Annotated[
|
|
22
|
+
Optional[str],
|
|
23
|
+
pydantic.Field(alias="filter[project]"),
|
|
24
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
25
|
+
] = None
|
|
26
|
+
|
|
27
|
+
page_size: Annotated[
|
|
28
|
+
Optional[int],
|
|
29
|
+
pydantic.Field(alias="page[size]"),
|
|
30
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
31
|
+
] = 20
|
|
32
|
+
r"""Number of items to return per page"""
|
|
33
|
+
|
|
34
|
+
page_number: Annotated[
|
|
35
|
+
Optional[int],
|
|
36
|
+
pydantic.Field(alias="page[number]"),
|
|
37
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
38
|
+
] = 1
|
|
39
|
+
r"""Page number to return (starts at 1)"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class ListFirewallsResponseTypedDict(TypedDict):
|
|
43
|
+
result: FirewallsTypedDict
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ListFirewallsResponse(BaseModel):
|
|
47
|
+
next: Callable[[], Optional[ListFirewallsResponse]]
|
|
48
|
+
|
|
49
|
+
result: Firewalls
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from latitudesh_python_sdk.types import BaseModel
|
|
7
|
+
from typing import Optional
|
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MembershipRole(str, Enum):
|
|
12
|
+
OWNER = "owner"
|
|
13
|
+
ADMINISTRATOR = "administrator"
|
|
14
|
+
COLLABORATOR = "collaborator"
|
|
15
|
+
BILLING = "billing"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class MembershipAttributesTypedDict(TypedDict):
|
|
19
|
+
first_name: NotRequired[str]
|
|
20
|
+
last_name: NotRequired[str]
|
|
21
|
+
email: NotRequired[str]
|
|
22
|
+
role: NotRequired[MembershipRole]
|
|
23
|
+
mfa_enabled: NotRequired[bool]
|
|
24
|
+
created_at: NotRequired[datetime]
|
|
25
|
+
updated_at: NotRequired[datetime]
|
|
26
|
+
last_login_at: NotRequired[datetime]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class MembershipAttributes(BaseModel):
|
|
30
|
+
first_name: Optional[str] = None
|
|
31
|
+
|
|
32
|
+
last_name: Optional[str] = None
|
|
33
|
+
|
|
34
|
+
email: Optional[str] = None
|
|
35
|
+
|
|
36
|
+
role: Optional[MembershipRole] = None
|
|
37
|
+
|
|
38
|
+
mfa_enabled: Optional[bool] = None
|
|
39
|
+
|
|
40
|
+
created_at: Optional[datetime] = None
|
|
41
|
+
|
|
42
|
+
updated_at: Optional[datetime] = None
|
|
43
|
+
|
|
44
|
+
last_login_at: Optional[datetime] = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class MembershipDataTypedDict(TypedDict):
|
|
48
|
+
id: NotRequired[str]
|
|
49
|
+
attributes: NotRequired[MembershipAttributesTypedDict]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class MembershipData(BaseModel):
|
|
53
|
+
id: Optional[str] = None
|
|
54
|
+
|
|
55
|
+
attributes: Optional[MembershipAttributes] = None
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class MembershipTypedDict(TypedDict):
|
|
59
|
+
data: NotRequired[MembershipDataTypedDict]
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class Membership(BaseModel):
|
|
63
|
+
data: Optional[MembershipData] = None
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass(unsafe_hash=True)
|
|
7
|
+
class NoResponseError(Exception):
|
|
8
|
+
"""Error raised when no HTTP response is received from the server."""
|
|
9
|
+
|
|
10
|
+
message: str
|
|
11
|
+
|
|
12
|
+
def __init__(self, message: str = "No response received"):
|
|
13
|
+
object.__setattr__(self, "message", message)
|
|
14
|
+
super().__init__(message)
|
|
15
|
+
|
|
16
|
+
def __str__(self):
|
|
17
|
+
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 FeaturesTypedDict(TypedDict):
|
|
15
|
+
raid: NotRequired[bool]
|
|
16
|
+
ssh_keys: NotRequired[bool]
|
|
17
|
+
user_data: NotRequired[bool]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class Features(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[FeaturesTypedDict]
|
|
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[Features] = 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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .operating_system_data import OperatingSystemData, OperatingSystemDataTypedDict
|
|
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 OperatingSystemsMetaTypedDict(TypedDict):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class OperatingSystemsMeta(BaseModel):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class OperatingSystemsTypedDict(TypedDict):
|
|
19
|
+
data: NotRequired[List[OperatingSystemDataTypedDict]]
|
|
20
|
+
meta: NotRequired[OperatingSystemsMetaTypedDict]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class OperatingSystems(BaseModel):
|
|
24
|
+
data: Optional[List[OperatingSystemData]] = None
|
|
25
|
+
|
|
26
|
+
meta: Optional[OperatingSystemsMeta] = None
|