latitudesh-python-sdk 1.0.0__py3-none-any.whl → 1.1.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.
- latitudesh_python_sdk/_version.py +3 -3
- latitudesh_python_sdk/events_sdk.py +84 -5
- latitudesh_python_sdk/firewalls_sdk.py +130 -9
- latitudesh_python_sdk/ipaddresses_sdk.py +78 -5
- latitudesh_python_sdk/models/__init__.py +94 -5
- latitudesh_python_sdk/models/billing_usage.py +3 -0
- latitudesh_python_sdk/models/get_bandwidth_plansop.py +30 -1
- latitudesh_python_sdk/models/get_eventsop.py +29 -1
- latitudesh_python_sdk/models/get_firewall_assignmentsop.py +37 -2
- latitudesh_python_sdk/models/get_ipsop.py +30 -1
- latitudesh_python_sdk/models/get_plans_operating_systemop.py +37 -2
- latitudesh_python_sdk/models/get_projectsop.py +30 -1
- latitudesh_python_sdk/models/get_regionsop.py +42 -0
- latitudesh_python_sdk/models/get_rolesop.py +37 -2
- latitudesh_python_sdk/models/get_serversop.py +30 -1
- latitudesh_python_sdk/models/get_team_membersop.py +42 -0
- latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +33 -1
- latitudesh_python_sdk/models/get_virtual_networksop.py +30 -1
- latitudesh_python_sdk/models/list_firewallsop.py +30 -1
- latitudesh_python_sdk/models/virtual_network.py +0 -1
- latitudesh_python_sdk/operatingsystems_sdk.py +76 -9
- latitudesh_python_sdk/plans.py +68 -5
- latitudesh_python_sdk/privatenetworks.py +142 -9
- latitudesh_python_sdk/projects_sdk.py +78 -5
- latitudesh_python_sdk/regions_sdk.py +74 -7
- latitudesh_python_sdk/roles.py +74 -7
- latitudesh_python_sdk/servers_sdk.py +94 -5
- latitudesh_python_sdk/teamsmembers.py +74 -7
- latitudesh_python_sdk/utils/__init__.py +1 -0
- latitudesh_python_sdk/utils/datetimes.py +23 -0
- latitudesh_python_sdk/utils/serializers.py +32 -3
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/METADATA +30 -4
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/RECORD +35 -32
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/LICENSE +0 -0
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .servers import Servers, ServersTypedDict
|
|
4
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
6
|
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
7
|
import pydantic
|
|
7
|
-
from typing import Optional
|
|
8
|
+
from typing import Callable, Optional
|
|
8
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
10
|
|
|
10
11
|
|
|
@@ -43,6 +44,10 @@ class GetServersRequestTypedDict(TypedDict):
|
|
|
43
44
|
r"""The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return servers with `tag_1` AND `tag_2`"""
|
|
44
45
|
extra_fields_servers: NotRequired[str]
|
|
45
46
|
r"""The `credentials` are provided as extra attributes that is lazy loaded. To request it, just set `extra_fields[servers]=credentials` in the query string."""
|
|
47
|
+
page_size: NotRequired[int]
|
|
48
|
+
r"""Number of items to return per page"""
|
|
49
|
+
page_number: NotRequired[int]
|
|
50
|
+
r"""Page number to return (starts at 1)"""
|
|
46
51
|
|
|
47
52
|
|
|
48
53
|
class GetServersRequest(BaseModel):
|
|
@@ -154,3 +159,27 @@ class GetServersRequest(BaseModel):
|
|
|
154
159
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
155
160
|
] = None
|
|
156
161
|
r"""The `credentials` are provided as extra attributes that is lazy loaded. To request it, just set `extra_fields[servers]=credentials` in the query string."""
|
|
162
|
+
|
|
163
|
+
page_size: Annotated[
|
|
164
|
+
Optional[int],
|
|
165
|
+
pydantic.Field(alias="page[size]"),
|
|
166
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
167
|
+
] = 20
|
|
168
|
+
r"""Number of items to return per page"""
|
|
169
|
+
|
|
170
|
+
page_number: Annotated[
|
|
171
|
+
Optional[int],
|
|
172
|
+
pydantic.Field(alias="page[number]"),
|
|
173
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
174
|
+
] = 1
|
|
175
|
+
r"""Page number to return (starts at 1)"""
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class GetServersResponseTypedDict(TypedDict):
|
|
179
|
+
result: ServersTypedDict
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class GetServersResponse(BaseModel):
|
|
183
|
+
next: Callable[[], Optional[GetServersResponse]]
|
|
184
|
+
|
|
185
|
+
result: Servers
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .team_members import TeamMembers, TeamMembersTypedDict
|
|
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 GetTeamMembersRequestTypedDict(TypedDict):
|
|
13
|
+
page_size: NotRequired[int]
|
|
14
|
+
r"""Number of items to return per page"""
|
|
15
|
+
page_number: NotRequired[int]
|
|
16
|
+
r"""Page number to return (starts at 1)"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GetTeamMembersRequest(BaseModel):
|
|
20
|
+
page_size: Annotated[
|
|
21
|
+
Optional[int],
|
|
22
|
+
pydantic.Field(alias="page[size]"),
|
|
23
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
24
|
+
] = 20
|
|
25
|
+
r"""Number of items to return per page"""
|
|
26
|
+
|
|
27
|
+
page_number: Annotated[
|
|
28
|
+
Optional[int],
|
|
29
|
+
pydantic.Field(alias="page[number]"),
|
|
30
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
31
|
+
] = 1
|
|
32
|
+
r"""Page number to return (starts at 1)"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class GetTeamMembersResponseTypedDict(TypedDict):
|
|
36
|
+
result: TeamMembersTypedDict
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class GetTeamMembersResponse(BaseModel):
|
|
40
|
+
next: Callable[[], Optional[GetTeamMembersResponse]]
|
|
41
|
+
|
|
42
|
+
result: TeamMembers
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .virtual_network_assignments import (
|
|
5
|
+
VirtualNetworkAssignments,
|
|
6
|
+
VirtualNetworkAssignmentsTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
9
|
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
10
|
import pydantic
|
|
7
|
-
from typing import Optional
|
|
11
|
+
from typing import Callable, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -15,6 +19,10 @@ class GetVirtualNetworksAssignmentsRequestTypedDict(TypedDict):
|
|
|
15
19
|
r"""The vlan ID to filter by"""
|
|
16
20
|
filter_virtual_network_id: NotRequired[str]
|
|
17
21
|
r"""The virtual network ID to filter by"""
|
|
22
|
+
page_size: NotRequired[int]
|
|
23
|
+
r"""Number of items to return per page"""
|
|
24
|
+
page_number: NotRequired[int]
|
|
25
|
+
r"""Page number to return (starts at 1)"""
|
|
18
26
|
|
|
19
27
|
|
|
20
28
|
class GetVirtualNetworksAssignmentsRequest(BaseModel):
|
|
@@ -38,3 +46,27 @@ class GetVirtualNetworksAssignmentsRequest(BaseModel):
|
|
|
38
46
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
39
47
|
] = None
|
|
40
48
|
r"""The virtual network ID to filter by"""
|
|
49
|
+
|
|
50
|
+
page_size: Annotated[
|
|
51
|
+
Optional[int],
|
|
52
|
+
pydantic.Field(alias="page[size]"),
|
|
53
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
54
|
+
] = 20
|
|
55
|
+
r"""Number of items to return per page"""
|
|
56
|
+
|
|
57
|
+
page_number: Annotated[
|
|
58
|
+
Optional[int],
|
|
59
|
+
pydantic.Field(alias="page[number]"),
|
|
60
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
61
|
+
] = 1
|
|
62
|
+
r"""Page number to return (starts at 1)"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class GetVirtualNetworksAssignmentsResponseTypedDict(TypedDict):
|
|
66
|
+
result: VirtualNetworkAssignmentsTypedDict
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class GetVirtualNetworksAssignmentsResponse(BaseModel):
|
|
70
|
+
next: Callable[[], Optional[GetVirtualNetworksAssignmentsResponse]]
|
|
71
|
+
|
|
72
|
+
result: VirtualNetworkAssignments
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .virtual_networks import VirtualNetworks, VirtualNetworksTypedDict
|
|
4
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
6
|
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
7
|
import pydantic
|
|
7
|
-
from typing import Optional
|
|
8
|
+
from typing import Callable, Optional
|
|
8
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
10
|
|
|
10
11
|
|
|
@@ -15,6 +16,10 @@ class GetVirtualNetworksRequestTypedDict(TypedDict):
|
|
|
15
16
|
r"""The project id or slug to filter by"""
|
|
16
17
|
filter_tags: NotRequired[str]
|
|
17
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)"""
|
|
18
23
|
|
|
19
24
|
|
|
20
25
|
class GetVirtualNetworksRequest(BaseModel):
|
|
@@ -38,3 +43,27 @@ class GetVirtualNetworksRequest(BaseModel):
|
|
|
38
43
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
39
44
|
] = None
|
|
40
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
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .firewalls import Firewalls, FirewallsTypedDict
|
|
4
5
|
from latitudesh_python_sdk.types import BaseModel
|
|
5
6
|
from latitudesh_python_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
7
|
import pydantic
|
|
7
|
-
from typing import Optional
|
|
8
|
+
from typing import Callable, Optional
|
|
8
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class ListFirewallsRequestTypedDict(TypedDict):
|
|
12
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)"""
|
|
13
18
|
|
|
14
19
|
|
|
15
20
|
class ListFirewallsRequest(BaseModel):
|
|
@@ -18,3 +23,27 @@ class ListFirewallsRequest(BaseModel):
|
|
|
18
23
|
pydantic.Field(alias="filter[project]"),
|
|
19
24
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
20
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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .virtual_network_error import VirtualNetworkAttributesSiteTypedDict
|
|
5
4
|
from enum import Enum
|
|
6
5
|
from latitudesh_python_sdk import utils
|
|
7
6
|
from latitudesh_python_sdk.types import BaseModel
|
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from .basesdk import BaseSDK
|
|
4
|
+
from jsonpath import JSONPath
|
|
4
5
|
from latitudesh_python_sdk import models, utils
|
|
5
6
|
from latitudesh_python_sdk._hooks import HookContext
|
|
6
7
|
from latitudesh_python_sdk.types import OptionalNullable, UNSET
|
|
7
8
|
from latitudesh_python_sdk.utils import get_security_from_env
|
|
8
|
-
from typing import Mapping, Optional
|
|
9
|
+
from typing import Any, Dict, List, Mapping, Optional, Union
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class OperatingSystemsSDK(BaseSDK):
|
|
12
13
|
def list(
|
|
13
14
|
self,
|
|
14
15
|
*,
|
|
16
|
+
page_size: Optional[int] = 20,
|
|
17
|
+
page_number: Optional[int] = 1,
|
|
15
18
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
16
19
|
server_url: Optional[str] = None,
|
|
17
20
|
timeout_ms: Optional[int] = None,
|
|
18
21
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
19
|
-
) -> models.
|
|
22
|
+
) -> Optional[models.GetPlansOperatingSystemResponse]:
|
|
20
23
|
r"""List all operating systems available
|
|
21
24
|
|
|
22
25
|
Lists all operating systems available to deploy and reinstall.
|
|
23
26
|
|
|
24
27
|
|
|
28
|
+
:param page_size: Number of items to return per page
|
|
29
|
+
:param page_number: Page number to return (starts at 1)
|
|
25
30
|
:param retries: Override the default retry configuration for this method
|
|
26
31
|
:param server_url: Override the default server URL for this method
|
|
27
32
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -36,12 +41,18 @@ class OperatingSystemsSDK(BaseSDK):
|
|
|
36
41
|
base_url = server_url
|
|
37
42
|
else:
|
|
38
43
|
base_url = self._get_url(base_url, url_variables)
|
|
44
|
+
|
|
45
|
+
request = models.GetPlansOperatingSystemRequest(
|
|
46
|
+
page_size=page_size,
|
|
47
|
+
page_number=page_number,
|
|
48
|
+
)
|
|
49
|
+
|
|
39
50
|
req = self._build_request(
|
|
40
51
|
method="GET",
|
|
41
52
|
path="/plans/operating_systems",
|
|
42
53
|
base_url=base_url,
|
|
43
54
|
url_variables=url_variables,
|
|
44
|
-
request=
|
|
55
|
+
request=request,
|
|
45
56
|
request_body_required=False,
|
|
46
57
|
request_has_path_params=False,
|
|
47
58
|
request_has_query_params=True,
|
|
@@ -74,9 +85,32 @@ class OperatingSystemsSDK(BaseSDK):
|
|
|
74
85
|
retry_config=retry_config,
|
|
75
86
|
)
|
|
76
87
|
|
|
88
|
+
def next_func() -> Optional[models.GetPlansOperatingSystemResponse]:
|
|
89
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
90
|
+
page = request.page_number if not request.page_number is None else 1
|
|
91
|
+
next_page = page + 1
|
|
92
|
+
|
|
93
|
+
if not http_res.text:
|
|
94
|
+
return None
|
|
95
|
+
results = JSONPath("$.data").parse(body)
|
|
96
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
97
|
+
return None
|
|
98
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
99
|
+
if len(results[0]) < limit:
|
|
100
|
+
return None
|
|
101
|
+
|
|
102
|
+
return self.list(
|
|
103
|
+
page_size=page_size,
|
|
104
|
+
page_number=next_page,
|
|
105
|
+
retries=retries,
|
|
106
|
+
)
|
|
107
|
+
|
|
77
108
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
78
|
-
return
|
|
79
|
-
|
|
109
|
+
return models.GetPlansOperatingSystemResponse(
|
|
110
|
+
result=utils.unmarshal_json(
|
|
111
|
+
http_res.text, models.GetPlansOperatingSystemResponseBody
|
|
112
|
+
),
|
|
113
|
+
next=next_func,
|
|
80
114
|
)
|
|
81
115
|
if utils.match_response(http_res, "4XX", "*"):
|
|
82
116
|
http_res_text = utils.stream_to_text(http_res)
|
|
@@ -101,16 +135,20 @@ class OperatingSystemsSDK(BaseSDK):
|
|
|
101
135
|
async def list_async(
|
|
102
136
|
self,
|
|
103
137
|
*,
|
|
138
|
+
page_size: Optional[int] = 20,
|
|
139
|
+
page_number: Optional[int] = 1,
|
|
104
140
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
105
141
|
server_url: Optional[str] = None,
|
|
106
142
|
timeout_ms: Optional[int] = None,
|
|
107
143
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
108
|
-
) -> models.
|
|
144
|
+
) -> Optional[models.GetPlansOperatingSystemResponse]:
|
|
109
145
|
r"""List all operating systems available
|
|
110
146
|
|
|
111
147
|
Lists all operating systems available to deploy and reinstall.
|
|
112
148
|
|
|
113
149
|
|
|
150
|
+
:param page_size: Number of items to return per page
|
|
151
|
+
:param page_number: Page number to return (starts at 1)
|
|
114
152
|
:param retries: Override the default retry configuration for this method
|
|
115
153
|
:param server_url: Override the default server URL for this method
|
|
116
154
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -125,12 +163,18 @@ class OperatingSystemsSDK(BaseSDK):
|
|
|
125
163
|
base_url = server_url
|
|
126
164
|
else:
|
|
127
165
|
base_url = self._get_url(base_url, url_variables)
|
|
166
|
+
|
|
167
|
+
request = models.GetPlansOperatingSystemRequest(
|
|
168
|
+
page_size=page_size,
|
|
169
|
+
page_number=page_number,
|
|
170
|
+
)
|
|
171
|
+
|
|
128
172
|
req = self._build_request_async(
|
|
129
173
|
method="GET",
|
|
130
174
|
path="/plans/operating_systems",
|
|
131
175
|
base_url=base_url,
|
|
132
176
|
url_variables=url_variables,
|
|
133
|
-
request=
|
|
177
|
+
request=request,
|
|
134
178
|
request_body_required=False,
|
|
135
179
|
request_has_path_params=False,
|
|
136
180
|
request_has_query_params=True,
|
|
@@ -163,9 +207,32 @@ class OperatingSystemsSDK(BaseSDK):
|
|
|
163
207
|
retry_config=retry_config,
|
|
164
208
|
)
|
|
165
209
|
|
|
210
|
+
def next_func() -> Optional[models.GetPlansOperatingSystemResponse]:
|
|
211
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
212
|
+
page = request.page_number if not request.page_number is None else 1
|
|
213
|
+
next_page = page + 1
|
|
214
|
+
|
|
215
|
+
if not http_res.text:
|
|
216
|
+
return None
|
|
217
|
+
results = JSONPath("$.data").parse(body)
|
|
218
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
219
|
+
return None
|
|
220
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
221
|
+
if len(results[0]) < limit:
|
|
222
|
+
return None
|
|
223
|
+
|
|
224
|
+
return self.list(
|
|
225
|
+
page_size=page_size,
|
|
226
|
+
page_number=next_page,
|
|
227
|
+
retries=retries,
|
|
228
|
+
)
|
|
229
|
+
|
|
166
230
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
167
|
-
return
|
|
168
|
-
|
|
231
|
+
return models.GetPlansOperatingSystemResponse(
|
|
232
|
+
result=utils.unmarshal_json(
|
|
233
|
+
http_res.text, models.GetPlansOperatingSystemResponseBody
|
|
234
|
+
),
|
|
235
|
+
next=next_func,
|
|
169
236
|
)
|
|
170
237
|
if utils.match_response(http_res, "4XX", "*"):
|
|
171
238
|
http_res_text = await utils.stream_to_text_async(http_res)
|
latitudesh_python_sdk/plans.py
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from .basesdk import BaseSDK
|
|
4
|
+
from jsonpath import JSONPath
|
|
4
5
|
from latitudesh_python_sdk import models, utils
|
|
5
6
|
from latitudesh_python_sdk._hooks import HookContext
|
|
6
7
|
from latitudesh_python_sdk.types import BaseModel, OptionalNullable, UNSET
|
|
7
8
|
from latitudesh_python_sdk.utils import get_security_from_env
|
|
8
|
-
from typing import Any, Mapping, Optional, Union, cast
|
|
9
|
+
from typing import Any, Dict, List, Mapping, Optional, Union, cast
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class Plans(BaseSDK):
|
|
@@ -434,17 +435,21 @@ class Plans(BaseSDK):
|
|
|
434
435
|
*,
|
|
435
436
|
api_version: Optional[str] = "2023-06-01",
|
|
436
437
|
filter_id: Optional[str] = None,
|
|
438
|
+
page_size: Optional[int] = 20,
|
|
439
|
+
page_number: Optional[int] = 1,
|
|
437
440
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
438
441
|
server_url: Optional[str] = None,
|
|
439
442
|
timeout_ms: Optional[int] = None,
|
|
440
443
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
441
|
-
) -> models.
|
|
444
|
+
) -> Optional[models.GetBandwidthPlansResponse]:
|
|
442
445
|
r"""List all bandwidth plans
|
|
443
446
|
|
|
444
447
|
Lists all bandwidth plans.
|
|
445
448
|
|
|
446
449
|
:param api_version:
|
|
447
450
|
:param filter_id: The plan ID to filter by
|
|
451
|
+
:param page_size: Number of items to return per page
|
|
452
|
+
:param page_number: Page number to return (starts at 1)
|
|
448
453
|
:param retries: Override the default retry configuration for this method
|
|
449
454
|
:param server_url: Override the default server URL for this method
|
|
450
455
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -463,6 +468,8 @@ class Plans(BaseSDK):
|
|
|
463
468
|
request = models.GetBandwidthPlansRequest(
|
|
464
469
|
api_version=api_version,
|
|
465
470
|
filter_id=filter_id,
|
|
471
|
+
page_size=page_size,
|
|
472
|
+
page_number=page_number,
|
|
466
473
|
)
|
|
467
474
|
|
|
468
475
|
req = self._build_request(
|
|
@@ -503,8 +510,33 @@ class Plans(BaseSDK):
|
|
|
503
510
|
retry_config=retry_config,
|
|
504
511
|
)
|
|
505
512
|
|
|
513
|
+
def next_func() -> Optional[models.GetBandwidthPlansResponse]:
|
|
514
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
515
|
+
page = request.page_number if not request.page_number is None else 1
|
|
516
|
+
next_page = page + 1
|
|
517
|
+
|
|
518
|
+
if not http_res.text:
|
|
519
|
+
return None
|
|
520
|
+
results = JSONPath("$.data").parse(body)
|
|
521
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
522
|
+
return None
|
|
523
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
524
|
+
if len(results[0]) < limit:
|
|
525
|
+
return None
|
|
526
|
+
|
|
527
|
+
return self.list_bandwidth(
|
|
528
|
+
api_version=api_version,
|
|
529
|
+
filter_id=filter_id,
|
|
530
|
+
page_size=page_size,
|
|
531
|
+
page_number=next_page,
|
|
532
|
+
retries=retries,
|
|
533
|
+
)
|
|
534
|
+
|
|
506
535
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
507
|
-
return
|
|
536
|
+
return models.GetBandwidthPlansResponse(
|
|
537
|
+
result=utils.unmarshal_json(http_res.text, models.BandwidthPlans),
|
|
538
|
+
next=next_func,
|
|
539
|
+
)
|
|
508
540
|
if utils.match_response(http_res, "4XX", "*"):
|
|
509
541
|
http_res_text = utils.stream_to_text(http_res)
|
|
510
542
|
raise models.APIError(
|
|
@@ -530,17 +562,21 @@ class Plans(BaseSDK):
|
|
|
530
562
|
*,
|
|
531
563
|
api_version: Optional[str] = "2023-06-01",
|
|
532
564
|
filter_id: Optional[str] = None,
|
|
565
|
+
page_size: Optional[int] = 20,
|
|
566
|
+
page_number: Optional[int] = 1,
|
|
533
567
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
534
568
|
server_url: Optional[str] = None,
|
|
535
569
|
timeout_ms: Optional[int] = None,
|
|
536
570
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
537
|
-
) -> models.
|
|
571
|
+
) -> Optional[models.GetBandwidthPlansResponse]:
|
|
538
572
|
r"""List all bandwidth plans
|
|
539
573
|
|
|
540
574
|
Lists all bandwidth plans.
|
|
541
575
|
|
|
542
576
|
:param api_version:
|
|
543
577
|
:param filter_id: The plan ID to filter by
|
|
578
|
+
:param page_size: Number of items to return per page
|
|
579
|
+
:param page_number: Page number to return (starts at 1)
|
|
544
580
|
:param retries: Override the default retry configuration for this method
|
|
545
581
|
:param server_url: Override the default server URL for this method
|
|
546
582
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -559,6 +595,8 @@ class Plans(BaseSDK):
|
|
|
559
595
|
request = models.GetBandwidthPlansRequest(
|
|
560
596
|
api_version=api_version,
|
|
561
597
|
filter_id=filter_id,
|
|
598
|
+
page_size=page_size,
|
|
599
|
+
page_number=page_number,
|
|
562
600
|
)
|
|
563
601
|
|
|
564
602
|
req = self._build_request_async(
|
|
@@ -599,8 +637,33 @@ class Plans(BaseSDK):
|
|
|
599
637
|
retry_config=retry_config,
|
|
600
638
|
)
|
|
601
639
|
|
|
640
|
+
def next_func() -> Optional[models.GetBandwidthPlansResponse]:
|
|
641
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
642
|
+
page = request.page_number if not request.page_number is None else 1
|
|
643
|
+
next_page = page + 1
|
|
644
|
+
|
|
645
|
+
if not http_res.text:
|
|
646
|
+
return None
|
|
647
|
+
results = JSONPath("$.data").parse(body)
|
|
648
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
649
|
+
return None
|
|
650
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
651
|
+
if len(results[0]) < limit:
|
|
652
|
+
return None
|
|
653
|
+
|
|
654
|
+
return self.list_bandwidth(
|
|
655
|
+
api_version=api_version,
|
|
656
|
+
filter_id=filter_id,
|
|
657
|
+
page_size=page_size,
|
|
658
|
+
page_number=next_page,
|
|
659
|
+
retries=retries,
|
|
660
|
+
)
|
|
661
|
+
|
|
602
662
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
603
|
-
return
|
|
663
|
+
return models.GetBandwidthPlansResponse(
|
|
664
|
+
result=utils.unmarshal_json(http_res.text, models.BandwidthPlans),
|
|
665
|
+
next=next_func,
|
|
666
|
+
)
|
|
604
667
|
if utils.match_response(http_res, "4XX", "*"):
|
|
605
668
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
606
669
|
raise models.APIError(
|