latitudesh-python-sdk 0.0.8__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 +108 -19
- 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/server.py +11 -11
- latitudesh_python_sdk/models/virtual_networks.py +1 -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-0.0.8.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/METADATA +31 -5
- {latitudesh_python_sdk-0.0.8.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/RECORD +38 -35
- latitudesh_python_sdk/models/{deploy_config_error.py → deploy_config.py} +8 -8
- latitudesh_python_sdk/models/{virtual_network_error.py → virtual_network.py} +14 -14
- {latitudesh_python_sdk-0.0.8.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/LICENSE +0 -0
- {latitudesh_python_sdk-0.0.8.dist-info → latitudesh_python_sdk-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -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 PrivateNetworks(BaseSDK):
|
|
@@ -15,11 +16,13 @@ class PrivateNetworks(BaseSDK):
|
|
|
15
16
|
filter_location: Optional[str] = None,
|
|
16
17
|
filter_project: Optional[str] = None,
|
|
17
18
|
filter_tags: Optional[str] = None,
|
|
19
|
+
page_size: Optional[int] = 20,
|
|
20
|
+
page_number: Optional[int] = 1,
|
|
18
21
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
19
22
|
server_url: Optional[str] = None,
|
|
20
23
|
timeout_ms: Optional[int] = None,
|
|
21
24
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
22
|
-
) -> models.
|
|
25
|
+
) -> Optional[models.GetVirtualNetworksResponse]:
|
|
23
26
|
r"""List all Virtual Networks
|
|
24
27
|
|
|
25
28
|
Lists virtual networks assigned to a project
|
|
@@ -28,6 +31,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
28
31
|
:param filter_location: The location slug to filter by
|
|
29
32
|
:param filter_project: The project id or slug to filter by
|
|
30
33
|
:param filter_tags: 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`
|
|
34
|
+
:param page_size: Number of items to return per page
|
|
35
|
+
:param page_number: Page number to return (starts at 1)
|
|
31
36
|
:param retries: Override the default retry configuration for this method
|
|
32
37
|
:param server_url: Override the default server URL for this method
|
|
33
38
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -47,6 +52,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
47
52
|
filter_location=filter_location,
|
|
48
53
|
filter_project=filter_project,
|
|
49
54
|
filter_tags=filter_tags,
|
|
55
|
+
page_size=page_size,
|
|
56
|
+
page_number=page_number,
|
|
50
57
|
)
|
|
51
58
|
|
|
52
59
|
req = self._build_request(
|
|
@@ -87,8 +94,34 @@ class PrivateNetworks(BaseSDK):
|
|
|
87
94
|
retry_config=retry_config,
|
|
88
95
|
)
|
|
89
96
|
|
|
97
|
+
def next_func() -> Optional[models.GetVirtualNetworksResponse]:
|
|
98
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
99
|
+
page = request.page_number if not request.page_number is None else 1
|
|
100
|
+
next_page = page + 1
|
|
101
|
+
|
|
102
|
+
if not http_res.text:
|
|
103
|
+
return None
|
|
104
|
+
results = JSONPath("$.data").parse(body)
|
|
105
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
106
|
+
return None
|
|
107
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
108
|
+
if len(results[0]) < limit:
|
|
109
|
+
return None
|
|
110
|
+
|
|
111
|
+
return self.list(
|
|
112
|
+
filter_location=filter_location,
|
|
113
|
+
filter_project=filter_project,
|
|
114
|
+
filter_tags=filter_tags,
|
|
115
|
+
page_size=page_size,
|
|
116
|
+
page_number=next_page,
|
|
117
|
+
retries=retries,
|
|
118
|
+
)
|
|
119
|
+
|
|
90
120
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
91
|
-
return
|
|
121
|
+
return models.GetVirtualNetworksResponse(
|
|
122
|
+
result=utils.unmarshal_json(http_res.text, models.VirtualNetworks),
|
|
123
|
+
next=next_func,
|
|
124
|
+
)
|
|
92
125
|
if utils.match_response(http_res, "4XX", "*"):
|
|
93
126
|
http_res_text = utils.stream_to_text(http_res)
|
|
94
127
|
raise models.APIError(
|
|
@@ -115,11 +148,13 @@ class PrivateNetworks(BaseSDK):
|
|
|
115
148
|
filter_location: Optional[str] = None,
|
|
116
149
|
filter_project: Optional[str] = None,
|
|
117
150
|
filter_tags: Optional[str] = None,
|
|
151
|
+
page_size: Optional[int] = 20,
|
|
152
|
+
page_number: Optional[int] = 1,
|
|
118
153
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
119
154
|
server_url: Optional[str] = None,
|
|
120
155
|
timeout_ms: Optional[int] = None,
|
|
121
156
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
122
|
-
) -> models.
|
|
157
|
+
) -> Optional[models.GetVirtualNetworksResponse]:
|
|
123
158
|
r"""List all Virtual Networks
|
|
124
159
|
|
|
125
160
|
Lists virtual networks assigned to a project
|
|
@@ -128,6 +163,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
128
163
|
:param filter_location: The location slug to filter by
|
|
129
164
|
:param filter_project: The project id or slug to filter by
|
|
130
165
|
:param filter_tags: 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`
|
|
166
|
+
:param page_size: Number of items to return per page
|
|
167
|
+
:param page_number: Page number to return (starts at 1)
|
|
131
168
|
:param retries: Override the default retry configuration for this method
|
|
132
169
|
:param server_url: Override the default server URL for this method
|
|
133
170
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -147,6 +184,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
147
184
|
filter_location=filter_location,
|
|
148
185
|
filter_project=filter_project,
|
|
149
186
|
filter_tags=filter_tags,
|
|
187
|
+
page_size=page_size,
|
|
188
|
+
page_number=page_number,
|
|
150
189
|
)
|
|
151
190
|
|
|
152
191
|
req = self._build_request_async(
|
|
@@ -187,8 +226,34 @@ class PrivateNetworks(BaseSDK):
|
|
|
187
226
|
retry_config=retry_config,
|
|
188
227
|
)
|
|
189
228
|
|
|
229
|
+
def next_func() -> Optional[models.GetVirtualNetworksResponse]:
|
|
230
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
231
|
+
page = request.page_number if not request.page_number is None else 1
|
|
232
|
+
next_page = page + 1
|
|
233
|
+
|
|
234
|
+
if not http_res.text:
|
|
235
|
+
return None
|
|
236
|
+
results = JSONPath("$.data").parse(body)
|
|
237
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
238
|
+
return None
|
|
239
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
240
|
+
if len(results[0]) < limit:
|
|
241
|
+
return None
|
|
242
|
+
|
|
243
|
+
return self.list(
|
|
244
|
+
filter_location=filter_location,
|
|
245
|
+
filter_project=filter_project,
|
|
246
|
+
filter_tags=filter_tags,
|
|
247
|
+
page_size=page_size,
|
|
248
|
+
page_number=next_page,
|
|
249
|
+
retries=retries,
|
|
250
|
+
)
|
|
251
|
+
|
|
190
252
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
191
|
-
return
|
|
253
|
+
return models.GetVirtualNetworksResponse(
|
|
254
|
+
result=utils.unmarshal_json(http_res.text, models.VirtualNetworks),
|
|
255
|
+
next=next_func,
|
|
256
|
+
)
|
|
192
257
|
if utils.match_response(http_res, "4XX", "*"):
|
|
193
258
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
194
259
|
raise models.APIError(
|
|
@@ -1063,11 +1128,13 @@ class PrivateNetworks(BaseSDK):
|
|
|
1063
1128
|
filter_server: Optional[str] = None,
|
|
1064
1129
|
filter_vid: Optional[str] = None,
|
|
1065
1130
|
filter_virtual_network_id: Optional[str] = None,
|
|
1131
|
+
page_size: Optional[int] = 20,
|
|
1132
|
+
page_number: Optional[int] = 1,
|
|
1066
1133
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1067
1134
|
server_url: Optional[str] = None,
|
|
1068
1135
|
timeout_ms: Optional[int] = None,
|
|
1069
1136
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
1070
|
-
) -> models.
|
|
1137
|
+
) -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
|
|
1071
1138
|
r"""List all servers assigned to virtual networks
|
|
1072
1139
|
|
|
1073
1140
|
Returns a list of all servers assigned to virtual networks.
|
|
@@ -1076,6 +1143,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
1076
1143
|
:param filter_server: The server ID to filter by
|
|
1077
1144
|
:param filter_vid: The vlan ID to filter by
|
|
1078
1145
|
:param filter_virtual_network_id: The virtual network ID to filter by
|
|
1146
|
+
:param page_size: Number of items to return per page
|
|
1147
|
+
:param page_number: Page number to return (starts at 1)
|
|
1079
1148
|
:param retries: Override the default retry configuration for this method
|
|
1080
1149
|
:param server_url: Override the default server URL for this method
|
|
1081
1150
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -1095,6 +1164,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
1095
1164
|
filter_server=filter_server,
|
|
1096
1165
|
filter_vid=filter_vid,
|
|
1097
1166
|
filter_virtual_network_id=filter_virtual_network_id,
|
|
1167
|
+
page_size=page_size,
|
|
1168
|
+
page_number=page_number,
|
|
1098
1169
|
)
|
|
1099
1170
|
|
|
1100
1171
|
req = self._build_request(
|
|
@@ -1135,8 +1206,36 @@ class PrivateNetworks(BaseSDK):
|
|
|
1135
1206
|
retry_config=retry_config,
|
|
1136
1207
|
)
|
|
1137
1208
|
|
|
1209
|
+
def next_func() -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
|
|
1210
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1211
|
+
page = request.page_number if not request.page_number is None else 1
|
|
1212
|
+
next_page = page + 1
|
|
1213
|
+
|
|
1214
|
+
if not http_res.text:
|
|
1215
|
+
return None
|
|
1216
|
+
results = JSONPath("$.data").parse(body)
|
|
1217
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
1218
|
+
return None
|
|
1219
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
1220
|
+
if len(results[0]) < limit:
|
|
1221
|
+
return None
|
|
1222
|
+
|
|
1223
|
+
return self.list_assignments(
|
|
1224
|
+
filter_server=filter_server,
|
|
1225
|
+
filter_vid=filter_vid,
|
|
1226
|
+
filter_virtual_network_id=filter_virtual_network_id,
|
|
1227
|
+
page_size=page_size,
|
|
1228
|
+
page_number=next_page,
|
|
1229
|
+
retries=retries,
|
|
1230
|
+
)
|
|
1231
|
+
|
|
1138
1232
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
1139
|
-
return
|
|
1233
|
+
return models.GetVirtualNetworksAssignmentsResponse(
|
|
1234
|
+
result=utils.unmarshal_json(
|
|
1235
|
+
http_res.text, models.VirtualNetworkAssignments
|
|
1236
|
+
),
|
|
1237
|
+
next=next_func,
|
|
1238
|
+
)
|
|
1140
1239
|
if utils.match_response(http_res, "4XX", "*"):
|
|
1141
1240
|
http_res_text = utils.stream_to_text(http_res)
|
|
1142
1241
|
raise models.APIError(
|
|
@@ -1163,11 +1262,13 @@ class PrivateNetworks(BaseSDK):
|
|
|
1163
1262
|
filter_server: Optional[str] = None,
|
|
1164
1263
|
filter_vid: Optional[str] = None,
|
|
1165
1264
|
filter_virtual_network_id: Optional[str] = None,
|
|
1265
|
+
page_size: Optional[int] = 20,
|
|
1266
|
+
page_number: Optional[int] = 1,
|
|
1166
1267
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1167
1268
|
server_url: Optional[str] = None,
|
|
1168
1269
|
timeout_ms: Optional[int] = None,
|
|
1169
1270
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
1170
|
-
) -> models.
|
|
1271
|
+
) -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
|
|
1171
1272
|
r"""List all servers assigned to virtual networks
|
|
1172
1273
|
|
|
1173
1274
|
Returns a list of all servers assigned to virtual networks.
|
|
@@ -1176,6 +1277,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
1176
1277
|
:param filter_server: The server ID to filter by
|
|
1177
1278
|
:param filter_vid: The vlan ID to filter by
|
|
1178
1279
|
:param filter_virtual_network_id: The virtual network ID to filter by
|
|
1280
|
+
:param page_size: Number of items to return per page
|
|
1281
|
+
:param page_number: Page number to return (starts at 1)
|
|
1179
1282
|
:param retries: Override the default retry configuration for this method
|
|
1180
1283
|
:param server_url: Override the default server URL for this method
|
|
1181
1284
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -1195,6 +1298,8 @@ class PrivateNetworks(BaseSDK):
|
|
|
1195
1298
|
filter_server=filter_server,
|
|
1196
1299
|
filter_vid=filter_vid,
|
|
1197
1300
|
filter_virtual_network_id=filter_virtual_network_id,
|
|
1301
|
+
page_size=page_size,
|
|
1302
|
+
page_number=page_number,
|
|
1198
1303
|
)
|
|
1199
1304
|
|
|
1200
1305
|
req = self._build_request_async(
|
|
@@ -1235,8 +1340,36 @@ class PrivateNetworks(BaseSDK):
|
|
|
1235
1340
|
retry_config=retry_config,
|
|
1236
1341
|
)
|
|
1237
1342
|
|
|
1343
|
+
def next_func() -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
|
|
1344
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1345
|
+
page = request.page_number if not request.page_number is None else 1
|
|
1346
|
+
next_page = page + 1
|
|
1347
|
+
|
|
1348
|
+
if not http_res.text:
|
|
1349
|
+
return None
|
|
1350
|
+
results = JSONPath("$.data").parse(body)
|
|
1351
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
1352
|
+
return None
|
|
1353
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
1354
|
+
if len(results[0]) < limit:
|
|
1355
|
+
return None
|
|
1356
|
+
|
|
1357
|
+
return self.list_assignments(
|
|
1358
|
+
filter_server=filter_server,
|
|
1359
|
+
filter_vid=filter_vid,
|
|
1360
|
+
filter_virtual_network_id=filter_virtual_network_id,
|
|
1361
|
+
page_size=page_size,
|
|
1362
|
+
page_number=next_page,
|
|
1363
|
+
retries=retries,
|
|
1364
|
+
)
|
|
1365
|
+
|
|
1238
1366
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
1239
|
-
return
|
|
1367
|
+
return models.GetVirtualNetworksAssignmentsResponse(
|
|
1368
|
+
result=utils.unmarshal_json(
|
|
1369
|
+
http_res.text, models.VirtualNetworkAssignments
|
|
1370
|
+
),
|
|
1371
|
+
next=next_func,
|
|
1372
|
+
)
|
|
1240
1373
|
if utils.match_response(http_res, "4XX", "*"):
|
|
1241
1374
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1242
1375
|
raise models.APIError(
|
|
@@ -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 ProjectsSDK(BaseSDK):
|
|
@@ -19,11 +20,13 @@ class ProjectsSDK(BaseSDK):
|
|
|
19
20
|
filter_environment: Optional[str] = None,
|
|
20
21
|
filter_tags: Optional[str] = None,
|
|
21
22
|
extra_fields_projects: Optional[str] = None,
|
|
23
|
+
page_size: Optional[int] = 20,
|
|
24
|
+
page_number: Optional[int] = 1,
|
|
22
25
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
23
26
|
server_url: Optional[str] = None,
|
|
24
27
|
timeout_ms: Optional[int] = None,
|
|
25
28
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
26
|
-
) -> models.
|
|
29
|
+
) -> Optional[models.GetProjectsResponse]:
|
|
27
30
|
r"""List all Projects
|
|
28
31
|
|
|
29
32
|
Returns a list of all projects for the current team
|
|
@@ -36,6 +39,8 @@ class ProjectsSDK(BaseSDK):
|
|
|
36
39
|
:param filter_environment: The environment to filter by
|
|
37
40
|
:param filter_tags: The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return projects with `tag_1` AND `tag_2`
|
|
38
41
|
:param extra_fields_projects: The `last_renewal_date` and `next_renewal_date` are provided as extra attributes that show previous and future billing cycle dates. To request it, just set `extra_fields[projects]=last_renewal_date,next_renewal_date` in the query string.
|
|
42
|
+
:param page_size: Number of items to return per page
|
|
43
|
+
:param page_number: Page number to return (starts at 1)
|
|
39
44
|
:param retries: Override the default retry configuration for this method
|
|
40
45
|
:param server_url: Override the default server URL for this method
|
|
41
46
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -59,6 +64,8 @@ class ProjectsSDK(BaseSDK):
|
|
|
59
64
|
filter_environment=filter_environment,
|
|
60
65
|
filter_tags=filter_tags,
|
|
61
66
|
extra_fields_projects=extra_fields_projects,
|
|
67
|
+
page_size=page_size,
|
|
68
|
+
page_number=page_number,
|
|
62
69
|
)
|
|
63
70
|
|
|
64
71
|
req = self._build_request(
|
|
@@ -99,8 +106,38 @@ class ProjectsSDK(BaseSDK):
|
|
|
99
106
|
retry_config=retry_config,
|
|
100
107
|
)
|
|
101
108
|
|
|
109
|
+
def next_func() -> Optional[models.GetProjectsResponse]:
|
|
110
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
111
|
+
page = request.page_number if not request.page_number is None else 1
|
|
112
|
+
next_page = page + 1
|
|
113
|
+
|
|
114
|
+
if not http_res.text:
|
|
115
|
+
return None
|
|
116
|
+
results = JSONPath("$.data").parse(body)
|
|
117
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
118
|
+
return None
|
|
119
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
120
|
+
if len(results[0]) < limit:
|
|
121
|
+
return None
|
|
122
|
+
|
|
123
|
+
return self.list(
|
|
124
|
+
filter_name=filter_name,
|
|
125
|
+
filter_slug=filter_slug,
|
|
126
|
+
filter_description=filter_description,
|
|
127
|
+
filter_billing_type=filter_billing_type,
|
|
128
|
+
filter_environment=filter_environment,
|
|
129
|
+
filter_tags=filter_tags,
|
|
130
|
+
extra_fields_projects=extra_fields_projects,
|
|
131
|
+
page_size=page_size,
|
|
132
|
+
page_number=next_page,
|
|
133
|
+
retries=retries,
|
|
134
|
+
)
|
|
135
|
+
|
|
102
136
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
103
|
-
return
|
|
137
|
+
return models.GetProjectsResponse(
|
|
138
|
+
result=utils.unmarshal_json(http_res.text, models.Projects),
|
|
139
|
+
next=next_func,
|
|
140
|
+
)
|
|
104
141
|
if utils.match_response(http_res, "4XX", "*"):
|
|
105
142
|
http_res_text = utils.stream_to_text(http_res)
|
|
106
143
|
raise models.APIError(
|
|
@@ -131,11 +168,13 @@ class ProjectsSDK(BaseSDK):
|
|
|
131
168
|
filter_environment: Optional[str] = None,
|
|
132
169
|
filter_tags: Optional[str] = None,
|
|
133
170
|
extra_fields_projects: Optional[str] = None,
|
|
171
|
+
page_size: Optional[int] = 20,
|
|
172
|
+
page_number: Optional[int] = 1,
|
|
134
173
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
135
174
|
server_url: Optional[str] = None,
|
|
136
175
|
timeout_ms: Optional[int] = None,
|
|
137
176
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
138
|
-
) -> models.
|
|
177
|
+
) -> Optional[models.GetProjectsResponse]:
|
|
139
178
|
r"""List all Projects
|
|
140
179
|
|
|
141
180
|
Returns a list of all projects for the current team
|
|
@@ -148,6 +187,8 @@ class ProjectsSDK(BaseSDK):
|
|
|
148
187
|
:param filter_environment: The environment to filter by
|
|
149
188
|
:param filter_tags: The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return projects with `tag_1` AND `tag_2`
|
|
150
189
|
:param extra_fields_projects: The `last_renewal_date` and `next_renewal_date` are provided as extra attributes that show previous and future billing cycle dates. To request it, just set `extra_fields[projects]=last_renewal_date,next_renewal_date` in the query string.
|
|
190
|
+
:param page_size: Number of items to return per page
|
|
191
|
+
:param page_number: Page number to return (starts at 1)
|
|
151
192
|
:param retries: Override the default retry configuration for this method
|
|
152
193
|
:param server_url: Override the default server URL for this method
|
|
153
194
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -171,6 +212,8 @@ class ProjectsSDK(BaseSDK):
|
|
|
171
212
|
filter_environment=filter_environment,
|
|
172
213
|
filter_tags=filter_tags,
|
|
173
214
|
extra_fields_projects=extra_fields_projects,
|
|
215
|
+
page_size=page_size,
|
|
216
|
+
page_number=page_number,
|
|
174
217
|
)
|
|
175
218
|
|
|
176
219
|
req = self._build_request_async(
|
|
@@ -211,8 +254,38 @@ class ProjectsSDK(BaseSDK):
|
|
|
211
254
|
retry_config=retry_config,
|
|
212
255
|
)
|
|
213
256
|
|
|
257
|
+
def next_func() -> Optional[models.GetProjectsResponse]:
|
|
258
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
259
|
+
page = request.page_number if not request.page_number is None else 1
|
|
260
|
+
next_page = page + 1
|
|
261
|
+
|
|
262
|
+
if not http_res.text:
|
|
263
|
+
return None
|
|
264
|
+
results = JSONPath("$.data").parse(body)
|
|
265
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
266
|
+
return None
|
|
267
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
268
|
+
if len(results[0]) < limit:
|
|
269
|
+
return None
|
|
270
|
+
|
|
271
|
+
return self.list(
|
|
272
|
+
filter_name=filter_name,
|
|
273
|
+
filter_slug=filter_slug,
|
|
274
|
+
filter_description=filter_description,
|
|
275
|
+
filter_billing_type=filter_billing_type,
|
|
276
|
+
filter_environment=filter_environment,
|
|
277
|
+
filter_tags=filter_tags,
|
|
278
|
+
extra_fields_projects=extra_fields_projects,
|
|
279
|
+
page_size=page_size,
|
|
280
|
+
page_number=next_page,
|
|
281
|
+
retries=retries,
|
|
282
|
+
)
|
|
283
|
+
|
|
214
284
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
215
|
-
return
|
|
285
|
+
return models.GetProjectsResponse(
|
|
286
|
+
result=utils.unmarshal_json(http_res.text, models.Projects),
|
|
287
|
+
next=next_func,
|
|
288
|
+
)
|
|
216
289
|
if utils.match_response(http_res, "4XX", "*"):
|
|
217
290
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
218
291
|
raise models.APIError(
|
|
@@ -1,28 +1,33 @@
|
|
|
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 Any, Mapping, Optional
|
|
9
|
+
from typing import Any, Dict, List, Mapping, Optional, Union
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class RegionsSDK(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.GetRegionsResponse]:
|
|
20
23
|
r"""List all Regions
|
|
21
24
|
|
|
22
25
|
Lists all [available locations](https://latitude.sh/locations). For server availability by location, please see the [Plans API](/reference/get-plans).
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
|
|
29
|
+
:param page_size: Number of items to return per page
|
|
30
|
+
:param page_number: Page number to return (starts at 1)
|
|
26
31
|
:param retries: Override the default retry configuration for this method
|
|
27
32
|
:param server_url: Override the default server URL for this method
|
|
28
33
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -37,12 +42,18 @@ class RegionsSDK(BaseSDK):
|
|
|
37
42
|
base_url = server_url
|
|
38
43
|
else:
|
|
39
44
|
base_url = self._get_url(base_url, url_variables)
|
|
45
|
+
|
|
46
|
+
request = models.GetRegionsRequest(
|
|
47
|
+
page_size=page_size,
|
|
48
|
+
page_number=page_number,
|
|
49
|
+
)
|
|
50
|
+
|
|
40
51
|
req = self._build_request(
|
|
41
52
|
method="GET",
|
|
42
53
|
path="/regions",
|
|
43
54
|
base_url=base_url,
|
|
44
55
|
url_variables=url_variables,
|
|
45
|
-
request=
|
|
56
|
+
request=request,
|
|
46
57
|
request_body_required=False,
|
|
47
58
|
request_has_path_params=False,
|
|
48
59
|
request_has_query_params=True,
|
|
@@ -75,8 +86,31 @@ class RegionsSDK(BaseSDK):
|
|
|
75
86
|
retry_config=retry_config,
|
|
76
87
|
)
|
|
77
88
|
|
|
89
|
+
def next_func() -> Optional[models.GetRegionsResponse]:
|
|
90
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
91
|
+
page = request.page_number if not request.page_number is None else 1
|
|
92
|
+
next_page = page + 1
|
|
93
|
+
|
|
94
|
+
if not http_res.text:
|
|
95
|
+
return None
|
|
96
|
+
results = JSONPath("$.data").parse(body)
|
|
97
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
98
|
+
return None
|
|
99
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
100
|
+
if len(results[0]) < limit:
|
|
101
|
+
return None
|
|
102
|
+
|
|
103
|
+
return self.list(
|
|
104
|
+
page_size=page_size,
|
|
105
|
+
page_number=next_page,
|
|
106
|
+
retries=retries,
|
|
107
|
+
)
|
|
108
|
+
|
|
78
109
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
79
|
-
return
|
|
110
|
+
return models.GetRegionsResponse(
|
|
111
|
+
result=utils.unmarshal_json(http_res.text, models.Regions),
|
|
112
|
+
next=next_func,
|
|
113
|
+
)
|
|
80
114
|
if utils.match_response(http_res, "4XX", "*"):
|
|
81
115
|
http_res_text = utils.stream_to_text(http_res)
|
|
82
116
|
raise models.APIError(
|
|
@@ -100,17 +134,21 @@ class RegionsSDK(BaseSDK):
|
|
|
100
134
|
async def list_async(
|
|
101
135
|
self,
|
|
102
136
|
*,
|
|
137
|
+
page_size: Optional[int] = 20,
|
|
138
|
+
page_number: Optional[int] = 1,
|
|
103
139
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
104
140
|
server_url: Optional[str] = None,
|
|
105
141
|
timeout_ms: Optional[int] = None,
|
|
106
142
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
107
|
-
) -> models.
|
|
143
|
+
) -> Optional[models.GetRegionsResponse]:
|
|
108
144
|
r"""List all Regions
|
|
109
145
|
|
|
110
146
|
Lists all [available locations](https://latitude.sh/locations). For server availability by location, please see the [Plans API](/reference/get-plans).
|
|
111
147
|
|
|
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 RegionsSDK(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.GetRegionsRequest(
|
|
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="/regions",
|
|
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,8 +207,31 @@ class RegionsSDK(BaseSDK):
|
|
|
163
207
|
retry_config=retry_config,
|
|
164
208
|
)
|
|
165
209
|
|
|
210
|
+
def next_func() -> Optional[models.GetRegionsResponse]:
|
|
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
|
|
231
|
+
return models.GetRegionsResponse(
|
|
232
|
+
result=utils.unmarshal_json(http_res.text, models.Regions),
|
|
233
|
+
next=next_func,
|
|
234
|
+
)
|
|
168
235
|
if utils.match_response(http_res, "4XX", "*"):
|
|
169
236
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
170
237
|
raise models.APIError(
|