latitudesh-python-sdk 1.0.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.
- latitudesh_python_sdk/_hooks/types.py +7 -0
- latitudesh_python_sdk/_version.py +6 -4
- latitudesh_python_sdk/apikeys.py +22 -18
- latitudesh_python_sdk/basesdk.py +12 -20
- latitudesh_python_sdk/billing.py +2 -0
- latitudesh_python_sdk/events_sdk.py +86 -5
- latitudesh_python_sdk/firewalls_sdk.py +146 -9
- latitudesh_python_sdk/httpclient.py +6 -16
- latitudesh_python_sdk/ipaddresses_sdk.py +82 -5
- latitudesh_python_sdk/models/__init__.py +2597 -1071
- latitudesh_python_sdk/models/assign_server_virtual_networkop.py +2 -2
- latitudesh_python_sdk/models/{bandwidth_plan.py → bandwidth_plan_data.py} +9 -9
- latitudesh_python_sdk/models/bandwidth_plans.py +14 -3
- latitudesh_python_sdk/models/billing_usage.py +3 -0
- latitudesh_python_sdk/models/custom_tag.py +15 -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_ssh_keyop.py +16 -0
- latitudesh_python_sdk/models/delete_user_dataop.py +16 -0
- latitudesh_python_sdk/models/event_data.py +98 -0
- latitudesh_python_sdk/models/events.py +16 -1
- latitudesh_python_sdk/models/filesystem_data.py +4 -0
- latitudesh_python_sdk/models/firewall.py +15 -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 +71 -0
- latitudesh_python_sdk/models/firewall_server.py +4 -1
- latitudesh_python_sdk/models/firewalls.py +7 -7
- 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_ssh_keyop.py +30 -0
- latitudesh_python_sdk/models/get_ssh_keysop.py +22 -0
- latitudesh_python_sdk/models/get_team_membersop.py +42 -0
- latitudesh_python_sdk/models/get_traffic_consumptionop.py +8 -4
- latitudesh_python_sdk/models/get_user_dataop.py +31 -0
- latitudesh_python_sdk/models/get_users_dataop.py +35 -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/operating_system_data.py +65 -0
- latitudesh_python_sdk/models/operating_systems.py +15 -0
- latitudesh_python_sdk/models/out_of_band_connection.py +4 -4
- latitudesh_python_sdk/models/patch_user_dataop.py +69 -0
- latitudesh_python_sdk/models/post_ssh_keyop.py +58 -0
- latitudesh_python_sdk/models/post_user_dataop.py +45 -0
- latitudesh_python_sdk/models/project_include.py +3 -0
- latitudesh_python_sdk/models/put_ssh_keyop.py +80 -0
- latitudesh_python_sdk/models/role.py +11 -0
- latitudesh_python_sdk/models/server_data.py +8 -0
- latitudesh_python_sdk/models/{ssh_key.py → ssh_keys.py} +13 -2
- latitudesh_python_sdk/models/storage_plan_data.py +47 -0
- latitudesh_python_sdk/models/storage_plans.py +14 -3
- latitudesh_python_sdk/models/update_serverop.py +60 -10
- latitudesh_python_sdk/models/user_data.py +11 -0
- latitudesh_python_sdk/models/virtual_network.py +19 -1
- latitudesh_python_sdk/models/virtual_network1.py +15 -0
- latitudesh_python_sdk/models/virtual_network_assignment.py +41 -0
- latitudesh_python_sdk/models/virtual_network_assignment_data.py +68 -0
- latitudesh_python_sdk/models/virtual_network_assignments.py +5 -5
- latitudesh_python_sdk/models/virtual_network_data.py +88 -0
- latitudesh_python_sdk/models/virtual_networks.py +3 -3
- latitudesh_python_sdk/operatingsystems_sdk.py +78 -9
- latitudesh_python_sdk/plans.py +109 -30
- latitudesh_python_sdk/privatenetworks.py +185 -36
- latitudesh_python_sdk/projects_sdk.py +113 -32
- latitudesh_python_sdk/regions_sdk.py +78 -7
- latitudesh_python_sdk/roles.py +78 -7
- latitudesh_python_sdk/sdk.py +110 -73
- latitudesh_python_sdk/sdkconfiguration.py +0 -7
- latitudesh_python_sdk/servers_sdk.py +195 -50
- latitudesh_python_sdk/{sshkeys.py → sshkeys_sdk.py} +1030 -5
- latitudesh_python_sdk/storage.py +8 -0
- latitudesh_python_sdk/tags.py +30 -22
- latitudesh_python_sdk/teams_sdk.py +6 -0
- latitudesh_python_sdk/teamsmembers.py +80 -7
- latitudesh_python_sdk/traffic_sdk.py +12 -8
- latitudesh_python_sdk/userdata_sdk.py +1029 -0
- latitudesh_python_sdk/userprofile.py +6 -0
- latitudesh_python_sdk/utils/__init__.py +131 -45
- latitudesh_python_sdk/utils/datetimes.py +23 -0
- latitudesh_python_sdk/utils/forms.py +49 -28
- latitudesh_python_sdk/utils/serializers.py +32 -3
- latitudesh_python_sdk/virtualmachines.py +36 -18
- latitudesh_python_sdk/vpnsessions.py +38 -26
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/METADATA +58 -22
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/RECORD +95 -73
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/WHEEL +1 -1
- latitudesh_python_sdk/models/storage_plan.py +0 -36
- {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/LICENSE +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 OptionalNullable, UNSET
|
|
7
8
|
from latitudesh_python_sdk.utils import get_security_from_env
|
|
8
|
-
from typing import Any, Mapping, Optional, Union
|
|
9
|
+
from typing import Any, Dict, List, Mapping, Optional, Union
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class FirewallsSDK(BaseSDK):
|
|
@@ -74,6 +75,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
74
75
|
|
|
75
76
|
http_res = self.do_request(
|
|
76
77
|
hook_ctx=HookContext(
|
|
78
|
+
config=self.sdk_configuration,
|
|
77
79
|
base_url=base_url or "",
|
|
78
80
|
operation_id="create-firewall",
|
|
79
81
|
oauth2_scopes=[],
|
|
@@ -177,6 +179,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
177
179
|
|
|
178
180
|
http_res = await self.do_request_async(
|
|
179
181
|
hook_ctx=HookContext(
|
|
182
|
+
config=self.sdk_configuration,
|
|
180
183
|
base_url=base_url or "",
|
|
181
184
|
operation_id="create-firewall",
|
|
182
185
|
oauth2_scopes=[],
|
|
@@ -219,16 +222,20 @@ class FirewallsSDK(BaseSDK):
|
|
|
219
222
|
self,
|
|
220
223
|
*,
|
|
221
224
|
filter_project: Optional[str] = None,
|
|
225
|
+
page_size: Optional[int] = 20,
|
|
226
|
+
page_number: Optional[int] = 1,
|
|
222
227
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
223
228
|
server_url: Optional[str] = None,
|
|
224
229
|
timeout_ms: Optional[int] = None,
|
|
225
230
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
226
|
-
) -> models.
|
|
231
|
+
) -> Optional[models.ListFirewallsResponse]:
|
|
227
232
|
r"""List firewalls
|
|
228
233
|
|
|
229
234
|
List firewalls
|
|
230
235
|
|
|
231
236
|
:param filter_project:
|
|
237
|
+
:param page_size: Number of items to return per page
|
|
238
|
+
:param page_number: Page number to return (starts at 1)
|
|
232
239
|
:param retries: Override the default retry configuration for this method
|
|
233
240
|
:param server_url: Override the default server URL for this method
|
|
234
241
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -246,6 +253,8 @@ class FirewallsSDK(BaseSDK):
|
|
|
246
253
|
|
|
247
254
|
request = models.ListFirewallsRequest(
|
|
248
255
|
filter_project=filter_project,
|
|
256
|
+
page_size=page_size,
|
|
257
|
+
page_number=page_number,
|
|
249
258
|
)
|
|
250
259
|
|
|
251
260
|
req = self._build_request(
|
|
@@ -274,6 +283,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
274
283
|
|
|
275
284
|
http_res = self.do_request(
|
|
276
285
|
hook_ctx=HookContext(
|
|
286
|
+
config=self.sdk_configuration,
|
|
277
287
|
base_url=base_url or "",
|
|
278
288
|
operation_id="list-firewalls",
|
|
279
289
|
oauth2_scopes=[],
|
|
@@ -286,8 +296,32 @@ class FirewallsSDK(BaseSDK):
|
|
|
286
296
|
retry_config=retry_config,
|
|
287
297
|
)
|
|
288
298
|
|
|
299
|
+
def next_func() -> Optional[models.ListFirewallsResponse]:
|
|
300
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
301
|
+
page = request.page_number if not request.page_number is None else 1
|
|
302
|
+
next_page = page + 1
|
|
303
|
+
|
|
304
|
+
if not http_res.text:
|
|
305
|
+
return None
|
|
306
|
+
results = JSONPath("$.data").parse(body)
|
|
307
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
308
|
+
return None
|
|
309
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
310
|
+
if len(results[0]) < limit:
|
|
311
|
+
return None
|
|
312
|
+
|
|
313
|
+
return self.list(
|
|
314
|
+
filter_project=filter_project,
|
|
315
|
+
page_size=page_size,
|
|
316
|
+
page_number=next_page,
|
|
317
|
+
retries=retries,
|
|
318
|
+
)
|
|
319
|
+
|
|
289
320
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
290
|
-
return
|
|
321
|
+
return models.ListFirewallsResponse(
|
|
322
|
+
result=utils.unmarshal_json(http_res.text, models.Firewalls),
|
|
323
|
+
next=next_func,
|
|
324
|
+
)
|
|
291
325
|
if utils.match_response(http_res, "4XX", "*"):
|
|
292
326
|
http_res_text = utils.stream_to_text(http_res)
|
|
293
327
|
raise models.APIError(
|
|
@@ -312,16 +346,20 @@ class FirewallsSDK(BaseSDK):
|
|
|
312
346
|
self,
|
|
313
347
|
*,
|
|
314
348
|
filter_project: Optional[str] = None,
|
|
349
|
+
page_size: Optional[int] = 20,
|
|
350
|
+
page_number: Optional[int] = 1,
|
|
315
351
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
316
352
|
server_url: Optional[str] = None,
|
|
317
353
|
timeout_ms: Optional[int] = None,
|
|
318
354
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
319
|
-
) -> models.
|
|
355
|
+
) -> Optional[models.ListFirewallsResponse]:
|
|
320
356
|
r"""List firewalls
|
|
321
357
|
|
|
322
358
|
List firewalls
|
|
323
359
|
|
|
324
360
|
:param filter_project:
|
|
361
|
+
:param page_size: Number of items to return per page
|
|
362
|
+
:param page_number: Page number to return (starts at 1)
|
|
325
363
|
:param retries: Override the default retry configuration for this method
|
|
326
364
|
:param server_url: Override the default server URL for this method
|
|
327
365
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -339,6 +377,8 @@ class FirewallsSDK(BaseSDK):
|
|
|
339
377
|
|
|
340
378
|
request = models.ListFirewallsRequest(
|
|
341
379
|
filter_project=filter_project,
|
|
380
|
+
page_size=page_size,
|
|
381
|
+
page_number=page_number,
|
|
342
382
|
)
|
|
343
383
|
|
|
344
384
|
req = self._build_request_async(
|
|
@@ -367,6 +407,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
367
407
|
|
|
368
408
|
http_res = await self.do_request_async(
|
|
369
409
|
hook_ctx=HookContext(
|
|
410
|
+
config=self.sdk_configuration,
|
|
370
411
|
base_url=base_url or "",
|
|
371
412
|
operation_id="list-firewalls",
|
|
372
413
|
oauth2_scopes=[],
|
|
@@ -379,8 +420,32 @@ class FirewallsSDK(BaseSDK):
|
|
|
379
420
|
retry_config=retry_config,
|
|
380
421
|
)
|
|
381
422
|
|
|
423
|
+
def next_func() -> Optional[models.ListFirewallsResponse]:
|
|
424
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
425
|
+
page = request.page_number if not request.page_number is None else 1
|
|
426
|
+
next_page = page + 1
|
|
427
|
+
|
|
428
|
+
if not http_res.text:
|
|
429
|
+
return None
|
|
430
|
+
results = JSONPath("$.data").parse(body)
|
|
431
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
432
|
+
return None
|
|
433
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
434
|
+
if len(results[0]) < limit:
|
|
435
|
+
return None
|
|
436
|
+
|
|
437
|
+
return self.list(
|
|
438
|
+
filter_project=filter_project,
|
|
439
|
+
page_size=page_size,
|
|
440
|
+
page_number=next_page,
|
|
441
|
+
retries=retries,
|
|
442
|
+
)
|
|
443
|
+
|
|
382
444
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
383
|
-
return
|
|
445
|
+
return models.ListFirewallsResponse(
|
|
446
|
+
result=utils.unmarshal_json(http_res.text, models.Firewalls),
|
|
447
|
+
next=next_func,
|
|
448
|
+
)
|
|
384
449
|
if utils.match_response(http_res, "4XX", "*"):
|
|
385
450
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
386
451
|
raise models.APIError(
|
|
@@ -460,6 +525,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
460
525
|
|
|
461
526
|
http_res = self.do_request(
|
|
462
527
|
hook_ctx=HookContext(
|
|
528
|
+
config=self.sdk_configuration,
|
|
463
529
|
base_url=base_url or "",
|
|
464
530
|
operation_id="get-firewall",
|
|
465
531
|
oauth2_scopes=[],
|
|
@@ -557,6 +623,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
557
623
|
|
|
558
624
|
http_res = await self.do_request_async(
|
|
559
625
|
hook_ctx=HookContext(
|
|
626
|
+
config=self.sdk_configuration,
|
|
560
627
|
base_url=base_url or "",
|
|
561
628
|
operation_id="get-firewall",
|
|
562
629
|
oauth2_scopes=[],
|
|
@@ -669,6 +736,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
669
736
|
|
|
670
737
|
http_res = self.do_request(
|
|
671
738
|
hook_ctx=HookContext(
|
|
739
|
+
config=self.sdk_configuration,
|
|
672
740
|
base_url=base_url or "",
|
|
673
741
|
operation_id="update-firewall",
|
|
674
742
|
oauth2_scopes=[],
|
|
@@ -781,6 +849,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
781
849
|
|
|
782
850
|
http_res = await self.do_request_async(
|
|
783
851
|
hook_ctx=HookContext(
|
|
852
|
+
config=self.sdk_configuration,
|
|
784
853
|
base_url=base_url or "",
|
|
785
854
|
operation_id="update-firewall",
|
|
786
855
|
oauth2_scopes=[],
|
|
@@ -878,6 +947,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
878
947
|
|
|
879
948
|
http_res = self.do_request(
|
|
880
949
|
hook_ctx=HookContext(
|
|
950
|
+
config=self.sdk_configuration,
|
|
881
951
|
base_url=base_url or "",
|
|
882
952
|
operation_id="delete-firewall",
|
|
883
953
|
oauth2_scopes=[],
|
|
@@ -975,6 +1045,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
975
1045
|
|
|
976
1046
|
http_res = await self.do_request_async(
|
|
977
1047
|
hook_ctx=HookContext(
|
|
1048
|
+
config=self.sdk_configuration,
|
|
978
1049
|
base_url=base_url or "",
|
|
979
1050
|
operation_id="delete-firewall",
|
|
980
1051
|
oauth2_scopes=[],
|
|
@@ -1089,6 +1160,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1089
1160
|
|
|
1090
1161
|
http_res = self.do_request(
|
|
1091
1162
|
hook_ctx=HookContext(
|
|
1163
|
+
config=self.sdk_configuration,
|
|
1092
1164
|
base_url=base_url or "",
|
|
1093
1165
|
operation_id="create-firewall-assignment",
|
|
1094
1166
|
oauth2_scopes=[],
|
|
@@ -1205,6 +1277,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1205
1277
|
|
|
1206
1278
|
http_res = await self.do_request_async(
|
|
1207
1279
|
hook_ctx=HookContext(
|
|
1280
|
+
config=self.sdk_configuration,
|
|
1208
1281
|
base_url=base_url or "",
|
|
1209
1282
|
operation_id="create-firewall-assignment",
|
|
1210
1283
|
oauth2_scopes=[],
|
|
@@ -1249,16 +1322,20 @@ class FirewallsSDK(BaseSDK):
|
|
|
1249
1322
|
self,
|
|
1250
1323
|
*,
|
|
1251
1324
|
firewall_id: str,
|
|
1325
|
+
page_size: Optional[int] = 20,
|
|
1326
|
+
page_number: Optional[int] = 1,
|
|
1252
1327
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1253
1328
|
server_url: Optional[str] = None,
|
|
1254
1329
|
timeout_ms: Optional[int] = None,
|
|
1255
1330
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
1256
|
-
) -> models.
|
|
1331
|
+
) -> Optional[models.GetFirewallAssignmentsResponse]:
|
|
1257
1332
|
r"""Firewall Assignments
|
|
1258
1333
|
|
|
1259
1334
|
List servers assigned to a firewall
|
|
1260
1335
|
|
|
1261
1336
|
:param firewall_id: The Firewall ID
|
|
1337
|
+
:param page_size: Number of items to return per page
|
|
1338
|
+
:param page_number: Page number to return (starts at 1)
|
|
1262
1339
|
:param retries: Override the default retry configuration for this method
|
|
1263
1340
|
:param server_url: Override the default server URL for this method
|
|
1264
1341
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -1276,6 +1353,8 @@ class FirewallsSDK(BaseSDK):
|
|
|
1276
1353
|
|
|
1277
1354
|
request = models.GetFirewallAssignmentsRequest(
|
|
1278
1355
|
firewall_id=firewall_id,
|
|
1356
|
+
page_size=page_size,
|
|
1357
|
+
page_number=page_number,
|
|
1279
1358
|
)
|
|
1280
1359
|
|
|
1281
1360
|
req = self._build_request(
|
|
@@ -1304,6 +1383,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1304
1383
|
|
|
1305
1384
|
http_res = self.do_request(
|
|
1306
1385
|
hook_ctx=HookContext(
|
|
1386
|
+
config=self.sdk_configuration,
|
|
1307
1387
|
base_url=base_url or "",
|
|
1308
1388
|
operation_id="get-firewall-assignments",
|
|
1309
1389
|
oauth2_scopes=[],
|
|
@@ -1316,9 +1396,33 @@ class FirewallsSDK(BaseSDK):
|
|
|
1316
1396
|
retry_config=retry_config,
|
|
1317
1397
|
)
|
|
1318
1398
|
|
|
1399
|
+
def next_func() -> Optional[models.GetFirewallAssignmentsResponse]:
|
|
1400
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1401
|
+
page = request.page_number if not request.page_number is None else 1
|
|
1402
|
+
next_page = page + 1
|
|
1403
|
+
|
|
1404
|
+
if not http_res.text:
|
|
1405
|
+
return None
|
|
1406
|
+
results = JSONPath("$.data").parse(body)
|
|
1407
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
1408
|
+
return None
|
|
1409
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
1410
|
+
if len(results[0]) < limit:
|
|
1411
|
+
return None
|
|
1412
|
+
|
|
1413
|
+
return self.list_assignments(
|
|
1414
|
+
firewall_id=firewall_id,
|
|
1415
|
+
page_size=page_size,
|
|
1416
|
+
page_number=next_page,
|
|
1417
|
+
retries=retries,
|
|
1418
|
+
)
|
|
1419
|
+
|
|
1319
1420
|
response_data: Any = None
|
|
1320
1421
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
1321
|
-
return
|
|
1422
|
+
return models.GetFirewallAssignmentsResponse(
|
|
1423
|
+
result=utils.unmarshal_json(http_res.text, models.FirewallAssignments),
|
|
1424
|
+
next=next_func,
|
|
1425
|
+
)
|
|
1322
1426
|
if utils.match_response(http_res, "404", "application/vnd.api+json"):
|
|
1323
1427
|
response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
|
|
1324
1428
|
raise models.ErrorObject(data=response_data)
|
|
@@ -1346,16 +1450,20 @@ class FirewallsSDK(BaseSDK):
|
|
|
1346
1450
|
self,
|
|
1347
1451
|
*,
|
|
1348
1452
|
firewall_id: str,
|
|
1453
|
+
page_size: Optional[int] = 20,
|
|
1454
|
+
page_number: Optional[int] = 1,
|
|
1349
1455
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1350
1456
|
server_url: Optional[str] = None,
|
|
1351
1457
|
timeout_ms: Optional[int] = None,
|
|
1352
1458
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
1353
|
-
) -> models.
|
|
1459
|
+
) -> Optional[models.GetFirewallAssignmentsResponse]:
|
|
1354
1460
|
r"""Firewall Assignments
|
|
1355
1461
|
|
|
1356
1462
|
List servers assigned to a firewall
|
|
1357
1463
|
|
|
1358
1464
|
:param firewall_id: The Firewall ID
|
|
1465
|
+
:param page_size: Number of items to return per page
|
|
1466
|
+
:param page_number: Page number to return (starts at 1)
|
|
1359
1467
|
:param retries: Override the default retry configuration for this method
|
|
1360
1468
|
:param server_url: Override the default server URL for this method
|
|
1361
1469
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -1373,6 +1481,8 @@ class FirewallsSDK(BaseSDK):
|
|
|
1373
1481
|
|
|
1374
1482
|
request = models.GetFirewallAssignmentsRequest(
|
|
1375
1483
|
firewall_id=firewall_id,
|
|
1484
|
+
page_size=page_size,
|
|
1485
|
+
page_number=page_number,
|
|
1376
1486
|
)
|
|
1377
1487
|
|
|
1378
1488
|
req = self._build_request_async(
|
|
@@ -1401,6 +1511,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1401
1511
|
|
|
1402
1512
|
http_res = await self.do_request_async(
|
|
1403
1513
|
hook_ctx=HookContext(
|
|
1514
|
+
config=self.sdk_configuration,
|
|
1404
1515
|
base_url=base_url or "",
|
|
1405
1516
|
operation_id="get-firewall-assignments",
|
|
1406
1517
|
oauth2_scopes=[],
|
|
@@ -1413,9 +1524,33 @@ class FirewallsSDK(BaseSDK):
|
|
|
1413
1524
|
retry_config=retry_config,
|
|
1414
1525
|
)
|
|
1415
1526
|
|
|
1527
|
+
def next_func() -> Optional[models.GetFirewallAssignmentsResponse]:
|
|
1528
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1529
|
+
page = request.page_number if not request.page_number is None else 1
|
|
1530
|
+
next_page = page + 1
|
|
1531
|
+
|
|
1532
|
+
if not http_res.text:
|
|
1533
|
+
return None
|
|
1534
|
+
results = JSONPath("$.data").parse(body)
|
|
1535
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
1536
|
+
return None
|
|
1537
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
1538
|
+
if len(results[0]) < limit:
|
|
1539
|
+
return None
|
|
1540
|
+
|
|
1541
|
+
return self.list_assignments(
|
|
1542
|
+
firewall_id=firewall_id,
|
|
1543
|
+
page_size=page_size,
|
|
1544
|
+
page_number=next_page,
|
|
1545
|
+
retries=retries,
|
|
1546
|
+
)
|
|
1547
|
+
|
|
1416
1548
|
response_data: Any = None
|
|
1417
1549
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
1418
|
-
return
|
|
1550
|
+
return models.GetFirewallAssignmentsResponse(
|
|
1551
|
+
result=utils.unmarshal_json(http_res.text, models.FirewallAssignments),
|
|
1552
|
+
next=next_func,
|
|
1553
|
+
)
|
|
1419
1554
|
if utils.match_response(http_res, "404", "application/vnd.api+json"):
|
|
1420
1555
|
response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
|
|
1421
1556
|
raise models.ErrorObject(data=response_data)
|
|
@@ -1501,6 +1636,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1501
1636
|
|
|
1502
1637
|
http_res = self.do_request(
|
|
1503
1638
|
hook_ctx=HookContext(
|
|
1639
|
+
config=self.sdk_configuration,
|
|
1504
1640
|
base_url=base_url or "",
|
|
1505
1641
|
operation_id="delete-firewall-assignment",
|
|
1506
1642
|
oauth2_scopes=[],
|
|
@@ -1601,6 +1737,7 @@ class FirewallsSDK(BaseSDK):
|
|
|
1601
1737
|
|
|
1602
1738
|
http_res = await self.do_request_async(
|
|
1603
1739
|
hook_ctx=HookContext(
|
|
1740
|
+
config=self.sdk_configuration,
|
|
1604
1741
|
base_url=base_url or "",
|
|
1605
1742
|
operation_id="delete-firewall-assignment",
|
|
1606
1743
|
oauth2_scopes=[],
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
# pyright: reportReturnType = false
|
|
4
4
|
import asyncio
|
|
5
|
-
from concurrent.futures import ThreadPoolExecutor
|
|
6
5
|
from typing_extensions import Protocol, runtime_checkable
|
|
7
6
|
import httpx
|
|
8
7
|
from typing import Any, Optional, Union
|
|
@@ -116,21 +115,12 @@ def close_clients(
|
|
|
116
115
|
pass
|
|
117
116
|
|
|
118
117
|
if async_client is not None and not async_client_supplied:
|
|
119
|
-
is_async = False
|
|
120
118
|
try:
|
|
121
|
-
asyncio.get_running_loop()
|
|
122
|
-
|
|
119
|
+
loop = asyncio.get_running_loop()
|
|
120
|
+
asyncio.run_coroutine_threadsafe(async_client.aclose(), loop)
|
|
123
121
|
except RuntimeError:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
try:
|
|
127
|
-
# If this function is called in an async loop then start another
|
|
128
|
-
# loop in a separate thread to close the async http client.
|
|
129
|
-
if is_async:
|
|
130
|
-
with ThreadPoolExecutor(max_workers=1) as executor:
|
|
131
|
-
future = executor.submit(asyncio.run, async_client.aclose())
|
|
132
|
-
future.result()
|
|
133
|
-
else:
|
|
122
|
+
try:
|
|
134
123
|
asyncio.run(async_client.aclose())
|
|
135
|
-
|
|
136
|
-
|
|
124
|
+
except RuntimeError:
|
|
125
|
+
# best effort
|
|
126
|
+
pass
|
|
@@ -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 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 IPAddressesSDK(BaseSDK):
|
|
@@ -19,11 +20,13 @@ class IPAddressesSDK(BaseSDK):
|
|
|
19
20
|
filter_location: Optional[str] = None,
|
|
20
21
|
filter_address: Optional[str] = None,
|
|
21
22
|
extra_fields_ip_addresses: 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.GetIpsResponse]:
|
|
27
30
|
r"""List IPs
|
|
28
31
|
|
|
29
32
|
List all Management and Additional IP Addresses.
|
|
@@ -39,6 +42,8 @@ class IPAddressesSDK(BaseSDK):
|
|
|
39
42
|
:param filter_location: The site slug to filter by
|
|
40
43
|
:param filter_address: The address of IP to filter by starts_with
|
|
41
44
|
:param extra_fields_ip_addresses: The `region` and `server` are provided as extra attributes that is lazy loaded. To request it, just set `extra_fields[ip_addresses]=region,server` in the query string.
|
|
45
|
+
:param page_size: Number of items to return per page
|
|
46
|
+
:param page_number: Page number to return (starts at 1)
|
|
42
47
|
:param retries: Override the default retry configuration for this method
|
|
43
48
|
:param server_url: Override the default server URL for this method
|
|
44
49
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -62,6 +67,8 @@ class IPAddressesSDK(BaseSDK):
|
|
|
62
67
|
filter_location=filter_location,
|
|
63
68
|
filter_address=filter_address,
|
|
64
69
|
extra_fields_ip_addresses=extra_fields_ip_addresses,
|
|
70
|
+
page_size=page_size,
|
|
71
|
+
page_number=page_number,
|
|
65
72
|
)
|
|
66
73
|
|
|
67
74
|
req = self._build_request(
|
|
@@ -90,6 +97,7 @@ class IPAddressesSDK(BaseSDK):
|
|
|
90
97
|
|
|
91
98
|
http_res = self.do_request(
|
|
92
99
|
hook_ctx=HookContext(
|
|
100
|
+
config=self.sdk_configuration,
|
|
93
101
|
base_url=base_url or "",
|
|
94
102
|
operation_id="get-ips",
|
|
95
103
|
oauth2_scopes=[],
|
|
@@ -102,9 +110,39 @@ class IPAddressesSDK(BaseSDK):
|
|
|
102
110
|
retry_config=retry_config,
|
|
103
111
|
)
|
|
104
112
|
|
|
113
|
+
def next_func() -> Optional[models.GetIpsResponse]:
|
|
114
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
115
|
+
page = request.page_number if not request.page_number is None else 1
|
|
116
|
+
next_page = page + 1
|
|
117
|
+
|
|
118
|
+
if not http_res.text:
|
|
119
|
+
return None
|
|
120
|
+
results = JSONPath("$.data").parse(body)
|
|
121
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
122
|
+
return None
|
|
123
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
124
|
+
if len(results[0]) < limit:
|
|
125
|
+
return None
|
|
126
|
+
|
|
127
|
+
return self.list(
|
|
128
|
+
filter_server=filter_server,
|
|
129
|
+
filter_project=filter_project,
|
|
130
|
+
filter_family=filter_family,
|
|
131
|
+
filter_type=filter_type,
|
|
132
|
+
filter_location=filter_location,
|
|
133
|
+
filter_address=filter_address,
|
|
134
|
+
extra_fields_ip_addresses=extra_fields_ip_addresses,
|
|
135
|
+
page_size=page_size,
|
|
136
|
+
page_number=next_page,
|
|
137
|
+
retries=retries,
|
|
138
|
+
)
|
|
139
|
+
|
|
105
140
|
response_data: Any = None
|
|
106
141
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
107
|
-
return
|
|
142
|
+
return models.GetIpsResponse(
|
|
143
|
+
result=utils.unmarshal_json(http_res.text, models.IPAddresses),
|
|
144
|
+
next=next_func,
|
|
145
|
+
)
|
|
108
146
|
if utils.match_response(http_res, "422", "application/vnd.api+json"):
|
|
109
147
|
response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
|
|
110
148
|
raise models.ErrorObject(data=response_data)
|
|
@@ -138,11 +176,13 @@ class IPAddressesSDK(BaseSDK):
|
|
|
138
176
|
filter_location: Optional[str] = None,
|
|
139
177
|
filter_address: Optional[str] = None,
|
|
140
178
|
extra_fields_ip_addresses: Optional[str] = None,
|
|
179
|
+
page_size: Optional[int] = 20,
|
|
180
|
+
page_number: Optional[int] = 1,
|
|
141
181
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
142
182
|
server_url: Optional[str] = None,
|
|
143
183
|
timeout_ms: Optional[int] = None,
|
|
144
184
|
http_headers: Optional[Mapping[str, str]] = None,
|
|
145
|
-
) -> models.
|
|
185
|
+
) -> Optional[models.GetIpsResponse]:
|
|
146
186
|
r"""List IPs
|
|
147
187
|
|
|
148
188
|
List all Management and Additional IP Addresses.
|
|
@@ -158,6 +198,8 @@ class IPAddressesSDK(BaseSDK):
|
|
|
158
198
|
:param filter_location: The site slug to filter by
|
|
159
199
|
:param filter_address: The address of IP to filter by starts_with
|
|
160
200
|
:param extra_fields_ip_addresses: The `region` and `server` are provided as extra attributes that is lazy loaded. To request it, just set `extra_fields[ip_addresses]=region,server` in the query string.
|
|
201
|
+
:param page_size: Number of items to return per page
|
|
202
|
+
:param page_number: Page number to return (starts at 1)
|
|
161
203
|
:param retries: Override the default retry configuration for this method
|
|
162
204
|
:param server_url: Override the default server URL for this method
|
|
163
205
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -181,6 +223,8 @@ class IPAddressesSDK(BaseSDK):
|
|
|
181
223
|
filter_location=filter_location,
|
|
182
224
|
filter_address=filter_address,
|
|
183
225
|
extra_fields_ip_addresses=extra_fields_ip_addresses,
|
|
226
|
+
page_size=page_size,
|
|
227
|
+
page_number=page_number,
|
|
184
228
|
)
|
|
185
229
|
|
|
186
230
|
req = self._build_request_async(
|
|
@@ -209,6 +253,7 @@ class IPAddressesSDK(BaseSDK):
|
|
|
209
253
|
|
|
210
254
|
http_res = await self.do_request_async(
|
|
211
255
|
hook_ctx=HookContext(
|
|
256
|
+
config=self.sdk_configuration,
|
|
212
257
|
base_url=base_url or "",
|
|
213
258
|
operation_id="get-ips",
|
|
214
259
|
oauth2_scopes=[],
|
|
@@ -221,9 +266,39 @@ class IPAddressesSDK(BaseSDK):
|
|
|
221
266
|
retry_config=retry_config,
|
|
222
267
|
)
|
|
223
268
|
|
|
269
|
+
def next_func() -> Optional[models.GetIpsResponse]:
|
|
270
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
271
|
+
page = request.page_number if not request.page_number is None else 1
|
|
272
|
+
next_page = page + 1
|
|
273
|
+
|
|
274
|
+
if not http_res.text:
|
|
275
|
+
return None
|
|
276
|
+
results = JSONPath("$.data").parse(body)
|
|
277
|
+
if len(results) == 0 or len(results[0]) == 0:
|
|
278
|
+
return None
|
|
279
|
+
limit = request.page_size if not request.page_size is None else 20
|
|
280
|
+
if len(results[0]) < limit:
|
|
281
|
+
return None
|
|
282
|
+
|
|
283
|
+
return self.list(
|
|
284
|
+
filter_server=filter_server,
|
|
285
|
+
filter_project=filter_project,
|
|
286
|
+
filter_family=filter_family,
|
|
287
|
+
filter_type=filter_type,
|
|
288
|
+
filter_location=filter_location,
|
|
289
|
+
filter_address=filter_address,
|
|
290
|
+
extra_fields_ip_addresses=extra_fields_ip_addresses,
|
|
291
|
+
page_size=page_size,
|
|
292
|
+
page_number=next_page,
|
|
293
|
+
retries=retries,
|
|
294
|
+
)
|
|
295
|
+
|
|
224
296
|
response_data: Any = None
|
|
225
297
|
if utils.match_response(http_res, "200", "application/vnd.api+json"):
|
|
226
|
-
return
|
|
298
|
+
return models.GetIpsResponse(
|
|
299
|
+
result=utils.unmarshal_json(http_res.text, models.IPAddresses),
|
|
300
|
+
next=next_func,
|
|
301
|
+
)
|
|
227
302
|
if utils.match_response(http_res, "422", "application/vnd.api+json"):
|
|
228
303
|
response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
|
|
229
304
|
raise models.ErrorObject(data=response_data)
|
|
@@ -309,6 +384,7 @@ class IPAddressesSDK(BaseSDK):
|
|
|
309
384
|
|
|
310
385
|
http_res = self.do_request(
|
|
311
386
|
hook_ctx=HookContext(
|
|
387
|
+
config=self.sdk_configuration,
|
|
312
388
|
base_url=base_url or "",
|
|
313
389
|
operation_id="get-ip",
|
|
314
390
|
oauth2_scopes=[],
|
|
@@ -409,6 +485,7 @@ class IPAddressesSDK(BaseSDK):
|
|
|
409
485
|
|
|
410
486
|
http_res = await self.do_request_async(
|
|
411
487
|
hook_ctx=HookContext(
|
|
488
|
+
config=self.sdk_configuration,
|
|
412
489
|
base_url=base_url or "",
|
|
413
490
|
operation_id="get-ip",
|
|
414
491
|
oauth2_scopes=[],
|