latitudesh-python-sdk 1.1.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of latitudesh-python-sdk might be problematic. Click here for more details.

Files changed (81) hide show
  1. latitudesh_python_sdk/_hooks/types.py +7 -0
  2. latitudesh_python_sdk/_version.py +6 -4
  3. latitudesh_python_sdk/apikeys.py +22 -18
  4. latitudesh_python_sdk/basesdk.py +12 -20
  5. latitudesh_python_sdk/billing.py +2 -0
  6. latitudesh_python_sdk/events_sdk.py +2 -0
  7. latitudesh_python_sdk/firewalls_sdk.py +18 -2
  8. latitudesh_python_sdk/httpclient.py +6 -16
  9. latitudesh_python_sdk/ipaddresses_sdk.py +4 -0
  10. latitudesh_python_sdk/models/__init__.py +2563 -1126
  11. latitudesh_python_sdk/models/assign_server_virtual_networkop.py +2 -2
  12. latitudesh_python_sdk/models/{bandwidth_plan.py → bandwidth_plan_data.py} +9 -9
  13. latitudesh_python_sdk/models/bandwidth_plans.py +14 -3
  14. latitudesh_python_sdk/models/custom_tag.py +15 -0
  15. latitudesh_python_sdk/models/custom_tag_data.py +54 -0
  16. latitudesh_python_sdk/models/custom_tags.py +26 -0
  17. latitudesh_python_sdk/models/delete_ssh_keyop.py +16 -0
  18. latitudesh_python_sdk/models/delete_user_dataop.py +16 -0
  19. latitudesh_python_sdk/models/event_data.py +98 -0
  20. latitudesh_python_sdk/models/events.py +16 -1
  21. latitudesh_python_sdk/models/filesystem_data.py +4 -0
  22. latitudesh_python_sdk/models/firewall.py +15 -0
  23. latitudesh_python_sdk/models/firewall_assignment_data.py +50 -0
  24. latitudesh_python_sdk/models/firewall_assignments.py +29 -0
  25. latitudesh_python_sdk/models/firewall_data.py +71 -0
  26. latitudesh_python_sdk/models/firewall_server.py +4 -1
  27. latitudesh_python_sdk/models/firewalls.py +7 -7
  28. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +3 -3
  29. latitudesh_python_sdk/models/get_ssh_keyop.py +30 -0
  30. latitudesh_python_sdk/models/get_ssh_keysop.py +22 -0
  31. latitudesh_python_sdk/models/get_traffic_consumptionop.py +8 -4
  32. latitudesh_python_sdk/models/get_user_dataop.py +31 -0
  33. latitudesh_python_sdk/models/get_users_dataop.py +35 -0
  34. latitudesh_python_sdk/models/operating_system_data.py +65 -0
  35. latitudesh_python_sdk/models/operating_systems.py +15 -0
  36. latitudesh_python_sdk/models/out_of_band_connection.py +4 -4
  37. latitudesh_python_sdk/models/patch_user_dataop.py +69 -0
  38. latitudesh_python_sdk/models/post_ssh_keyop.py +58 -0
  39. latitudesh_python_sdk/models/post_user_dataop.py +45 -0
  40. latitudesh_python_sdk/models/project_include.py +3 -0
  41. latitudesh_python_sdk/models/put_ssh_keyop.py +80 -0
  42. latitudesh_python_sdk/models/role.py +11 -0
  43. latitudesh_python_sdk/models/server_data.py +8 -0
  44. latitudesh_python_sdk/models/{ssh_key.py → ssh_keys.py} +13 -2
  45. latitudesh_python_sdk/models/storage_plan_data.py +47 -0
  46. latitudesh_python_sdk/models/storage_plans.py +14 -3
  47. latitudesh_python_sdk/models/update_serverop.py +60 -10
  48. latitudesh_python_sdk/models/user_data.py +11 -0
  49. latitudesh_python_sdk/models/virtual_network.py +19 -0
  50. latitudesh_python_sdk/models/virtual_network1.py +15 -0
  51. latitudesh_python_sdk/models/virtual_network_assignment.py +41 -0
  52. latitudesh_python_sdk/models/virtual_network_assignment_data.py +68 -0
  53. latitudesh_python_sdk/models/virtual_network_assignments.py +5 -5
  54. latitudesh_python_sdk/models/virtual_network_data.py +88 -0
  55. latitudesh_python_sdk/models/virtual_networks.py +3 -3
  56. latitudesh_python_sdk/operatingsystems_sdk.py +2 -0
  57. latitudesh_python_sdk/plans.py +42 -26
  58. latitudesh_python_sdk/privatenetworks.py +44 -28
  59. latitudesh_python_sdk/projects_sdk.py +36 -28
  60. latitudesh_python_sdk/regions_sdk.py +4 -0
  61. latitudesh_python_sdk/roles.py +4 -0
  62. latitudesh_python_sdk/sdk.py +110 -73
  63. latitudesh_python_sdk/sdkconfiguration.py +0 -7
  64. latitudesh_python_sdk/servers_sdk.py +102 -46
  65. latitudesh_python_sdk/{sshkeys.py → sshkeys_sdk.py} +1030 -5
  66. latitudesh_python_sdk/storage.py +8 -0
  67. latitudesh_python_sdk/tags.py +30 -22
  68. latitudesh_python_sdk/teams_sdk.py +6 -0
  69. latitudesh_python_sdk/teamsmembers.py +6 -0
  70. latitudesh_python_sdk/traffic_sdk.py +12 -8
  71. latitudesh_python_sdk/userdata_sdk.py +1029 -0
  72. latitudesh_python_sdk/userprofile.py +6 -0
  73. latitudesh_python_sdk/utils/__init__.py +131 -46
  74. latitudesh_python_sdk/utils/forms.py +49 -28
  75. latitudesh_python_sdk/virtualmachines.py +36 -18
  76. latitudesh_python_sdk/vpnsessions.py +38 -26
  77. {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/METADATA +30 -20
  78. {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/RECORD +80 -61
  79. {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/WHEEL +1 -1
  80. latitudesh_python_sdk/models/storage_plan.py +0 -36
  81. {latitudesh_python_sdk-1.1.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/LICENSE +0 -0
@@ -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[int]
17
- filter_project: NotRequired[int]
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[int],
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[int],
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,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 OutOfBandConnectionSSHKeyTypedDict(TypedDict):
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 OutOfBandConnectionSSHKey(BaseModel):
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[OutOfBandConnectionSSHKeyTypedDict]
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[OutOfBandConnectionSSHKey] = None
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
@@ -0,0 +1,80 @@
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 latitudesh_python_sdk.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ from typing import List, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class PutSSHKeySSHKeysType(str, Enum):
17
+ SSH_KEYS = "ssh_keys"
18
+
19
+
20
+ class PutSSHKeySSHKeysAttributesTypedDict(TypedDict):
21
+ tags: NotRequired[List[str]]
22
+ name: NotRequired[str]
23
+ r"""Name of the SSH Key"""
24
+
25
+
26
+ class PutSSHKeySSHKeysAttributes(BaseModel):
27
+ tags: Optional[List[str]] = None
28
+
29
+ name: Optional[str] = "New SSH Key Name"
30
+ r"""Name of the SSH Key"""
31
+
32
+
33
+ class PutSSHKeySSHKeysDataTypedDict(TypedDict):
34
+ type: PutSSHKeySSHKeysType
35
+ id: NotRequired[str]
36
+ attributes: NotRequired[PutSSHKeySSHKeysAttributesTypedDict]
37
+
38
+
39
+ class PutSSHKeySSHKeysData(BaseModel):
40
+ type: PutSSHKeySSHKeysType
41
+
42
+ id: Optional[str] = "ssh_81EVOtR1N4J2Z"
43
+
44
+ attributes: Optional[PutSSHKeySSHKeysAttributes] = None
45
+
46
+
47
+ class PutSSHKeySSHKeysRequestBodyTypedDict(TypedDict):
48
+ data: PutSSHKeySSHKeysDataTypedDict
49
+
50
+
51
+ class PutSSHKeySSHKeysRequestBody(BaseModel):
52
+ data: PutSSHKeySSHKeysData
53
+
54
+
55
+ class PutSSHKeyRequestTypedDict(TypedDict):
56
+ ssh_key_id: str
57
+ request_body: PutSSHKeySSHKeysRequestBodyTypedDict
58
+
59
+
60
+ class PutSSHKeyRequest(BaseModel):
61
+ ssh_key_id: Annotated[
62
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
63
+ ]
64
+
65
+ request_body: Annotated[
66
+ PutSSHKeySSHKeysRequestBody,
67
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
68
+ ]
69
+
70
+
71
+ class PutSSHKeyResponseBodyTypedDict(TypedDict):
72
+ r"""Success"""
73
+
74
+ data: NotRequired[SSHKeyDataTypedDict]
75
+
76
+
77
+ class PutSSHKeyResponseBody(BaseModel):
78
+ r"""Success"""
79
+
80
+ data: Optional[SSHKeyData] = None
@@ -7,9 +7,20 @@ from typing import Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
+ class RoleMetaTypedDict(TypedDict):
11
+ pass
12
+
13
+
14
+ class RoleMeta(BaseModel):
15
+ pass
16
+
17
+
10
18
  class RoleTypedDict(TypedDict):
11
19
  data: NotRequired[RoleDataTypedDict]
20
+ meta: NotRequired[RoleMetaTypedDict]
12
21
 
13
22
 
14
23
  class Role(BaseModel):
15
24
  data: Optional[RoleData] = None
25
+
26
+ meta: Optional[RoleMeta] = None
@@ -45,6 +45,8 @@ class ServerDataPlanTypedDict(TypedDict):
45
45
  r"""The plan name"""
46
46
  billing: NotRequired[str]
47
47
  r"""hourly/monthly pricing. Defaults to `hourly`. Appliable for `on_demand` projects only."""
48
+ slug: NotRequired[str]
49
+ r"""The plan slug"""
48
50
 
49
51
 
50
52
  class ServerDataPlan(BaseModel):
@@ -57,6 +59,9 @@ class ServerDataPlan(BaseModel):
57
59
  billing: Optional[str] = None
58
60
  r"""hourly/monthly pricing. Defaults to `hourly`. Appliable for `on_demand` projects only."""
59
61
 
62
+ slug: Optional[str] = None
63
+ r"""The plan slug"""
64
+
60
65
 
61
66
  class ServerDataFeaturesTypedDict(TypedDict):
62
67
  raid: NotRequired[bool]
@@ -159,6 +164,7 @@ class ServerDataAttributesTypedDict(TypedDict):
159
164
  specs: NotRequired[ServerDataSpecsTypedDict]
160
165
  project: NotRequired[ProjectIncludeTypedDict]
161
166
  team: NotRequired[TeamIncludeTypedDict]
167
+ primary_ipv6: NotRequired[str]
162
168
 
163
169
 
164
170
  class ServerDataAttributes(BaseModel):
@@ -204,6 +210,8 @@ class ServerDataAttributes(BaseModel):
204
210
 
205
211
  team: Optional[TeamInclude] = None
206
212
 
213
+ primary_ipv6: Optional[str] = None
214
+
207
215
 
208
216
  class ServerDataTypedDict(TypedDict):
209
217
  id: NotRequired[str]
@@ -7,9 +7,20 @@ from typing import List, Optional
7
7
  from typing_extensions import NotRequired, TypedDict
8
8
 
9
9
 
10
- class SSHKeyTypedDict(TypedDict):
10
+ class SSHKeysMetaTypedDict(TypedDict):
11
+ pass
12
+
13
+
14
+ class SSHKeysMeta(BaseModel):
15
+ pass
16
+
17
+
18
+ class SSHKeysTypedDict(TypedDict):
11
19
  data: NotRequired[List[SSHKeyDataTypedDict]]
20
+ meta: NotRequired[SSHKeysMetaTypedDict]
12
21
 
13
22
 
14
- class SSHKey(BaseModel):
23
+ class SSHKeys(BaseModel):
15
24
  data: Optional[List[SSHKeyData]] = None
25
+
26
+ meta: Optional[SSHKeysMeta] = None
@@ -0,0 +1,47 @@
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 StoragePlanDataType(str, Enum):
11
+ STORAGE_PLANS = "storage_plans"
12
+
13
+
14
+ class StoragePlanDataPricingTypedDict(TypedDict):
15
+ month: NotRequired[float]
16
+
17
+
18
+ class StoragePlanDataPricing(BaseModel):
19
+ month: Optional[float] = None
20
+
21
+
22
+ class StoragePlanDataAttributesTypedDict(TypedDict):
23
+ name: NotRequired[str]
24
+ locations: NotRequired[List[str]]
25
+ pricing: NotRequired[StoragePlanDataPricingTypedDict]
26
+
27
+
28
+ class StoragePlanDataAttributes(BaseModel):
29
+ name: Optional[str] = None
30
+
31
+ locations: Optional[List[str]] = None
32
+
33
+ pricing: Optional[StoragePlanDataPricing] = None
34
+
35
+
36
+ class StoragePlanDataTypedDict(TypedDict):
37
+ id: NotRequired[str]
38
+ type: NotRequired[StoragePlanDataType]
39
+ attributes: NotRequired[StoragePlanDataAttributesTypedDict]
40
+
41
+
42
+ class StoragePlanData(BaseModel):
43
+ id: Optional[str] = None
44
+
45
+ type: Optional[StoragePlanDataType] = None
46
+
47
+ attributes: Optional[StoragePlanDataAttributes] = None