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.

Files changed (96) hide show
  1. latitudesh_python_sdk/_hooks/types.py +7 -0
  2. latitudesh_python_sdk/_version.py +6 -4
  3. latitudesh_python_sdk/apikeys.py +22 -18
  4. latitudesh_python_sdk/basesdk.py +12 -20
  5. latitudesh_python_sdk/billing.py +2 -0
  6. latitudesh_python_sdk/events_sdk.py +86 -5
  7. latitudesh_python_sdk/firewalls_sdk.py +146 -9
  8. latitudesh_python_sdk/httpclient.py +6 -16
  9. latitudesh_python_sdk/ipaddresses_sdk.py +82 -5
  10. latitudesh_python_sdk/models/__init__.py +2597 -1071
  11. latitudesh_python_sdk/models/assign_server_virtual_networkop.py +2 -2
  12. latitudesh_python_sdk/models/{bandwidth_plan.py → bandwidth_plan_data.py} +9 -9
  13. latitudesh_python_sdk/models/bandwidth_plans.py +14 -3
  14. latitudesh_python_sdk/models/billing_usage.py +3 -0
  15. latitudesh_python_sdk/models/custom_tag.py +15 -0
  16. latitudesh_python_sdk/models/custom_tag_data.py +54 -0
  17. latitudesh_python_sdk/models/custom_tags.py +26 -0
  18. latitudesh_python_sdk/models/delete_ssh_keyop.py +16 -0
  19. latitudesh_python_sdk/models/delete_user_dataop.py +16 -0
  20. latitudesh_python_sdk/models/event_data.py +98 -0
  21. latitudesh_python_sdk/models/events.py +16 -1
  22. latitudesh_python_sdk/models/filesystem_data.py +4 -0
  23. latitudesh_python_sdk/models/firewall.py +15 -0
  24. latitudesh_python_sdk/models/firewall_assignment_data.py +50 -0
  25. latitudesh_python_sdk/models/firewall_assignments.py +29 -0
  26. latitudesh_python_sdk/models/firewall_data.py +71 -0
  27. latitudesh_python_sdk/models/firewall_server.py +4 -1
  28. latitudesh_python_sdk/models/firewalls.py +7 -7
  29. latitudesh_python_sdk/models/get_bandwidth_plansop.py +30 -1
  30. latitudesh_python_sdk/models/get_eventsop.py +29 -1
  31. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +37 -2
  32. latitudesh_python_sdk/models/get_ipsop.py +30 -1
  33. latitudesh_python_sdk/models/get_plans_operating_systemop.py +37 -2
  34. latitudesh_python_sdk/models/get_projectsop.py +30 -1
  35. latitudesh_python_sdk/models/get_regionsop.py +42 -0
  36. latitudesh_python_sdk/models/get_rolesop.py +37 -2
  37. latitudesh_python_sdk/models/get_serversop.py +30 -1
  38. latitudesh_python_sdk/models/get_ssh_keyop.py +30 -0
  39. latitudesh_python_sdk/models/get_ssh_keysop.py +22 -0
  40. latitudesh_python_sdk/models/get_team_membersop.py +42 -0
  41. latitudesh_python_sdk/models/get_traffic_consumptionop.py +8 -4
  42. latitudesh_python_sdk/models/get_user_dataop.py +31 -0
  43. latitudesh_python_sdk/models/get_users_dataop.py +35 -0
  44. latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +33 -1
  45. latitudesh_python_sdk/models/get_virtual_networksop.py +30 -1
  46. latitudesh_python_sdk/models/list_firewallsop.py +30 -1
  47. latitudesh_python_sdk/models/operating_system_data.py +65 -0
  48. latitudesh_python_sdk/models/operating_systems.py +15 -0
  49. latitudesh_python_sdk/models/out_of_band_connection.py +4 -4
  50. latitudesh_python_sdk/models/patch_user_dataop.py +69 -0
  51. latitudesh_python_sdk/models/post_ssh_keyop.py +58 -0
  52. latitudesh_python_sdk/models/post_user_dataop.py +45 -0
  53. latitudesh_python_sdk/models/project_include.py +3 -0
  54. latitudesh_python_sdk/models/put_ssh_keyop.py +80 -0
  55. latitudesh_python_sdk/models/role.py +11 -0
  56. latitudesh_python_sdk/models/server_data.py +8 -0
  57. latitudesh_python_sdk/models/{ssh_key.py → ssh_keys.py} +13 -2
  58. latitudesh_python_sdk/models/storage_plan_data.py +47 -0
  59. latitudesh_python_sdk/models/storage_plans.py +14 -3
  60. latitudesh_python_sdk/models/update_serverop.py +60 -10
  61. latitudesh_python_sdk/models/user_data.py +11 -0
  62. latitudesh_python_sdk/models/virtual_network.py +19 -1
  63. latitudesh_python_sdk/models/virtual_network1.py +15 -0
  64. latitudesh_python_sdk/models/virtual_network_assignment.py +41 -0
  65. latitudesh_python_sdk/models/virtual_network_assignment_data.py +68 -0
  66. latitudesh_python_sdk/models/virtual_network_assignments.py +5 -5
  67. latitudesh_python_sdk/models/virtual_network_data.py +88 -0
  68. latitudesh_python_sdk/models/virtual_networks.py +3 -3
  69. latitudesh_python_sdk/operatingsystems_sdk.py +78 -9
  70. latitudesh_python_sdk/plans.py +109 -30
  71. latitudesh_python_sdk/privatenetworks.py +185 -36
  72. latitudesh_python_sdk/projects_sdk.py +113 -32
  73. latitudesh_python_sdk/regions_sdk.py +78 -7
  74. latitudesh_python_sdk/roles.py +78 -7
  75. latitudesh_python_sdk/sdk.py +110 -73
  76. latitudesh_python_sdk/sdkconfiguration.py +0 -7
  77. latitudesh_python_sdk/servers_sdk.py +195 -50
  78. latitudesh_python_sdk/{sshkeys.py → sshkeys_sdk.py} +1030 -5
  79. latitudesh_python_sdk/storage.py +8 -0
  80. latitudesh_python_sdk/tags.py +30 -22
  81. latitudesh_python_sdk/teams_sdk.py +6 -0
  82. latitudesh_python_sdk/teamsmembers.py +80 -7
  83. latitudesh_python_sdk/traffic_sdk.py +12 -8
  84. latitudesh_python_sdk/userdata_sdk.py +1029 -0
  85. latitudesh_python_sdk/userprofile.py +6 -0
  86. latitudesh_python_sdk/utils/__init__.py +131 -45
  87. latitudesh_python_sdk/utils/datetimes.py +23 -0
  88. latitudesh_python_sdk/utils/forms.py +49 -28
  89. latitudesh_python_sdk/utils/serializers.py +32 -3
  90. latitudesh_python_sdk/virtualmachines.py +36 -18
  91. latitudesh_python_sdk/vpnsessions.py +38 -26
  92. {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/METADATA +58 -22
  93. {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/RECORD +95 -73
  94. {latitudesh_python_sdk-1.0.0.dist-info → latitudesh_python_sdk-2.0.0.dist-info}/WHEEL +1 -1
  95. latitudesh_python_sdk/models/storage_plan.py +0 -36
  96. {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
- from latitudesh_python_sdk.types import BaseModel, OptionalNullable, UNSET
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, cast
9
+ from typing import Any, Dict, List, Mapping, Optional, Union
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.VirtualNetworks:
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(
@@ -75,6 +82,7 @@ class PrivateNetworks(BaseSDK):
75
82
 
76
83
  http_res = self.do_request(
77
84
  hook_ctx=HookContext(
85
+ config=self.sdk_configuration,
78
86
  base_url=base_url or "",
79
87
  operation_id="get-virtual-networks",
80
88
  oauth2_scopes=[],
@@ -87,8 +95,34 @@ class PrivateNetworks(BaseSDK):
87
95
  retry_config=retry_config,
88
96
  )
89
97
 
98
+ def next_func() -> Optional[models.GetVirtualNetworksResponse]:
99
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
100
+ page = request.page_number if not request.page_number is None else 1
101
+ next_page = page + 1
102
+
103
+ if not http_res.text:
104
+ return None
105
+ results = JSONPath("$.data").parse(body)
106
+ if len(results) == 0 or len(results[0]) == 0:
107
+ return None
108
+ limit = request.page_size if not request.page_size is None else 20
109
+ if len(results[0]) < limit:
110
+ return None
111
+
112
+ return self.list(
113
+ filter_location=filter_location,
114
+ filter_project=filter_project,
115
+ filter_tags=filter_tags,
116
+ page_size=page_size,
117
+ page_number=next_page,
118
+ retries=retries,
119
+ )
120
+
90
121
  if utils.match_response(http_res, "200", "application/vnd.api+json"):
91
- return utils.unmarshal_json(http_res.text, models.VirtualNetworks)
122
+ return models.GetVirtualNetworksResponse(
123
+ result=utils.unmarshal_json(http_res.text, models.VirtualNetworks),
124
+ next=next_func,
125
+ )
92
126
  if utils.match_response(http_res, "4XX", "*"):
93
127
  http_res_text = utils.stream_to_text(http_res)
94
128
  raise models.APIError(
@@ -115,11 +149,13 @@ class PrivateNetworks(BaseSDK):
115
149
  filter_location: Optional[str] = None,
116
150
  filter_project: Optional[str] = None,
117
151
  filter_tags: Optional[str] = None,
152
+ page_size: Optional[int] = 20,
153
+ page_number: Optional[int] = 1,
118
154
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
119
155
  server_url: Optional[str] = None,
120
156
  timeout_ms: Optional[int] = None,
121
157
  http_headers: Optional[Mapping[str, str]] = None,
122
- ) -> models.VirtualNetworks:
158
+ ) -> Optional[models.GetVirtualNetworksResponse]:
123
159
  r"""List all Virtual Networks
124
160
 
125
161
  Lists virtual networks assigned to a project
@@ -128,6 +164,8 @@ class PrivateNetworks(BaseSDK):
128
164
  :param filter_location: The location slug to filter by
129
165
  :param filter_project: The project id or slug to filter by
130
166
  :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`
167
+ :param page_size: Number of items to return per page
168
+ :param page_number: Page number to return (starts at 1)
131
169
  :param retries: Override the default retry configuration for this method
132
170
  :param server_url: Override the default server URL for this method
133
171
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -147,6 +185,8 @@ class PrivateNetworks(BaseSDK):
147
185
  filter_location=filter_location,
148
186
  filter_project=filter_project,
149
187
  filter_tags=filter_tags,
188
+ page_size=page_size,
189
+ page_number=page_number,
150
190
  )
151
191
 
152
192
  req = self._build_request_async(
@@ -175,6 +215,7 @@ class PrivateNetworks(BaseSDK):
175
215
 
176
216
  http_res = await self.do_request_async(
177
217
  hook_ctx=HookContext(
218
+ config=self.sdk_configuration,
178
219
  base_url=base_url or "",
179
220
  operation_id="get-virtual-networks",
180
221
  oauth2_scopes=[],
@@ -187,8 +228,34 @@ class PrivateNetworks(BaseSDK):
187
228
  retry_config=retry_config,
188
229
  )
189
230
 
231
+ def next_func() -> Optional[models.GetVirtualNetworksResponse]:
232
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
233
+ page = request.page_number if not request.page_number is None else 1
234
+ next_page = page + 1
235
+
236
+ if not http_res.text:
237
+ return None
238
+ results = JSONPath("$.data").parse(body)
239
+ if len(results) == 0 or len(results[0]) == 0:
240
+ return None
241
+ limit = request.page_size if not request.page_size is None else 20
242
+ if len(results[0]) < limit:
243
+ return None
244
+
245
+ return self.list(
246
+ filter_location=filter_location,
247
+ filter_project=filter_project,
248
+ filter_tags=filter_tags,
249
+ page_size=page_size,
250
+ page_number=next_page,
251
+ retries=retries,
252
+ )
253
+
190
254
  if utils.match_response(http_res, "200", "application/vnd.api+json"):
191
- return utils.unmarshal_json(http_res.text, models.VirtualNetworks)
255
+ return models.GetVirtualNetworksResponse(
256
+ result=utils.unmarshal_json(http_res.text, models.VirtualNetworks),
257
+ next=next_func,
258
+ )
192
259
  if utils.match_response(http_res, "4XX", "*"):
193
260
  http_res_text = await utils.stream_to_text_async(http_res)
194
261
  raise models.APIError(
@@ -281,6 +348,7 @@ class PrivateNetworks(BaseSDK):
281
348
 
282
349
  http_res = self.do_request(
283
350
  hook_ctx=HookContext(
351
+ config=self.sdk_configuration,
284
352
  base_url=base_url or "",
285
353
  operation_id="create-virtual-network",
286
354
  oauth2_scopes=[],
@@ -391,6 +459,7 @@ class PrivateNetworks(BaseSDK):
391
459
 
392
460
  http_res = await self.do_request_async(
393
461
  hook_ctx=HookContext(
462
+ config=self.sdk_configuration,
394
463
  base_url=base_url or "",
395
464
  operation_id="create-virtual-network",
396
465
  oauth2_scopes=[],
@@ -509,6 +578,7 @@ class PrivateNetworks(BaseSDK):
509
578
 
510
579
  http_res = self.do_request(
511
580
  hook_ctx=HookContext(
581
+ config=self.sdk_configuration,
512
582
  base_url=base_url or "",
513
583
  operation_id="update-virtual-network",
514
584
  oauth2_scopes=[],
@@ -629,6 +699,7 @@ class PrivateNetworks(BaseSDK):
629
699
 
630
700
  http_res = await self.do_request_async(
631
701
  hook_ctx=HookContext(
702
+ config=self.sdk_configuration,
632
703
  base_url=base_url or "",
633
704
  operation_id="update-virtual-network",
634
705
  oauth2_scopes=[],
@@ -729,6 +800,7 @@ class PrivateNetworks(BaseSDK):
729
800
 
730
801
  http_res = self.do_request(
731
802
  hook_ctx=HookContext(
803
+ config=self.sdk_configuration,
732
804
  base_url=base_url or "",
733
805
  operation_id="destroy-virtual-network",
734
806
  oauth2_scopes=[],
@@ -827,6 +899,7 @@ class PrivateNetworks(BaseSDK):
827
899
 
828
900
  http_res = await self.do_request_async(
829
901
  hook_ctx=HookContext(
902
+ config=self.sdk_configuration,
830
903
  base_url=base_url or "",
831
904
  operation_id="destroy-virtual-network",
832
905
  oauth2_scopes=[],
@@ -925,6 +998,7 @@ class PrivateNetworks(BaseSDK):
925
998
 
926
999
  http_res = self.do_request(
927
1000
  hook_ctx=HookContext(
1001
+ config=self.sdk_configuration,
928
1002
  base_url=base_url or "",
929
1003
  operation_id="get-virtual-network",
930
1004
  oauth2_scopes=[],
@@ -1021,6 +1095,7 @@ class PrivateNetworks(BaseSDK):
1021
1095
 
1022
1096
  http_res = await self.do_request_async(
1023
1097
  hook_ctx=HookContext(
1098
+ config=self.sdk_configuration,
1024
1099
  base_url=base_url or "",
1025
1100
  operation_id="get-virtual-network",
1026
1101
  oauth2_scopes=[],
@@ -1063,11 +1138,13 @@ class PrivateNetworks(BaseSDK):
1063
1138
  filter_server: Optional[str] = None,
1064
1139
  filter_vid: Optional[str] = None,
1065
1140
  filter_virtual_network_id: Optional[str] = None,
1141
+ page_size: Optional[int] = 20,
1142
+ page_number: Optional[int] = 1,
1066
1143
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1067
1144
  server_url: Optional[str] = None,
1068
1145
  timeout_ms: Optional[int] = None,
1069
1146
  http_headers: Optional[Mapping[str, str]] = None,
1070
- ) -> models.VirtualNetworkAssignments:
1147
+ ) -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
1071
1148
  r"""List all servers assigned to virtual networks
1072
1149
 
1073
1150
  Returns a list of all servers assigned to virtual networks.
@@ -1076,6 +1153,8 @@ class PrivateNetworks(BaseSDK):
1076
1153
  :param filter_server: The server ID to filter by
1077
1154
  :param filter_vid: The vlan ID to filter by
1078
1155
  :param filter_virtual_network_id: The virtual network ID to filter by
1156
+ :param page_size: Number of items to return per page
1157
+ :param page_number: Page number to return (starts at 1)
1079
1158
  :param retries: Override the default retry configuration for this method
1080
1159
  :param server_url: Override the default server URL for this method
1081
1160
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1095,6 +1174,8 @@ class PrivateNetworks(BaseSDK):
1095
1174
  filter_server=filter_server,
1096
1175
  filter_vid=filter_vid,
1097
1176
  filter_virtual_network_id=filter_virtual_network_id,
1177
+ page_size=page_size,
1178
+ page_number=page_number,
1098
1179
  )
1099
1180
 
1100
1181
  req = self._build_request(
@@ -1123,6 +1204,7 @@ class PrivateNetworks(BaseSDK):
1123
1204
 
1124
1205
  http_res = self.do_request(
1125
1206
  hook_ctx=HookContext(
1207
+ config=self.sdk_configuration,
1126
1208
  base_url=base_url or "",
1127
1209
  operation_id="get-virtual-networks-assignments",
1128
1210
  oauth2_scopes=[],
@@ -1135,8 +1217,36 @@ class PrivateNetworks(BaseSDK):
1135
1217
  retry_config=retry_config,
1136
1218
  )
1137
1219
 
1220
+ def next_func() -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
1221
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
1222
+ page = request.page_number if not request.page_number is None else 1
1223
+ next_page = page + 1
1224
+
1225
+ if not http_res.text:
1226
+ return None
1227
+ results = JSONPath("$.data").parse(body)
1228
+ if len(results) == 0 or len(results[0]) == 0:
1229
+ return None
1230
+ limit = request.page_size if not request.page_size is None else 20
1231
+ if len(results[0]) < limit:
1232
+ return None
1233
+
1234
+ return self.list_assignments(
1235
+ filter_server=filter_server,
1236
+ filter_vid=filter_vid,
1237
+ filter_virtual_network_id=filter_virtual_network_id,
1238
+ page_size=page_size,
1239
+ page_number=next_page,
1240
+ retries=retries,
1241
+ )
1242
+
1138
1243
  if utils.match_response(http_res, "200", "application/vnd.api+json"):
1139
- return utils.unmarshal_json(http_res.text, models.VirtualNetworkAssignments)
1244
+ return models.GetVirtualNetworksAssignmentsResponse(
1245
+ result=utils.unmarshal_json(
1246
+ http_res.text, models.VirtualNetworkAssignments
1247
+ ),
1248
+ next=next_func,
1249
+ )
1140
1250
  if utils.match_response(http_res, "4XX", "*"):
1141
1251
  http_res_text = utils.stream_to_text(http_res)
1142
1252
  raise models.APIError(
@@ -1163,11 +1273,13 @@ class PrivateNetworks(BaseSDK):
1163
1273
  filter_server: Optional[str] = None,
1164
1274
  filter_vid: Optional[str] = None,
1165
1275
  filter_virtual_network_id: Optional[str] = None,
1276
+ page_size: Optional[int] = 20,
1277
+ page_number: Optional[int] = 1,
1166
1278
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1167
1279
  server_url: Optional[str] = None,
1168
1280
  timeout_ms: Optional[int] = None,
1169
1281
  http_headers: Optional[Mapping[str, str]] = None,
1170
- ) -> models.VirtualNetworkAssignments:
1282
+ ) -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
1171
1283
  r"""List all servers assigned to virtual networks
1172
1284
 
1173
1285
  Returns a list of all servers assigned to virtual networks.
@@ -1176,6 +1288,8 @@ class PrivateNetworks(BaseSDK):
1176
1288
  :param filter_server: The server ID to filter by
1177
1289
  :param filter_vid: The vlan ID to filter by
1178
1290
  :param filter_virtual_network_id: The virtual network ID to filter by
1291
+ :param page_size: Number of items to return per page
1292
+ :param page_number: Page number to return (starts at 1)
1179
1293
  :param retries: Override the default retry configuration for this method
1180
1294
  :param server_url: Override the default server URL for this method
1181
1295
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1195,6 +1309,8 @@ class PrivateNetworks(BaseSDK):
1195
1309
  filter_server=filter_server,
1196
1310
  filter_vid=filter_vid,
1197
1311
  filter_virtual_network_id=filter_virtual_network_id,
1312
+ page_size=page_size,
1313
+ page_number=page_number,
1198
1314
  )
1199
1315
 
1200
1316
  req = self._build_request_async(
@@ -1223,6 +1339,7 @@ class PrivateNetworks(BaseSDK):
1223
1339
 
1224
1340
  http_res = await self.do_request_async(
1225
1341
  hook_ctx=HookContext(
1342
+ config=self.sdk_configuration,
1226
1343
  base_url=base_url or "",
1227
1344
  operation_id="get-virtual-networks-assignments",
1228
1345
  oauth2_scopes=[],
@@ -1235,8 +1352,36 @@ class PrivateNetworks(BaseSDK):
1235
1352
  retry_config=retry_config,
1236
1353
  )
1237
1354
 
1355
+ def next_func() -> Optional[models.GetVirtualNetworksAssignmentsResponse]:
1356
+ body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
1357
+ page = request.page_number if not request.page_number is None else 1
1358
+ next_page = page + 1
1359
+
1360
+ if not http_res.text:
1361
+ return None
1362
+ results = JSONPath("$.data").parse(body)
1363
+ if len(results) == 0 or len(results[0]) == 0:
1364
+ return None
1365
+ limit = request.page_size if not request.page_size is None else 20
1366
+ if len(results[0]) < limit:
1367
+ return None
1368
+
1369
+ return self.list_assignments(
1370
+ filter_server=filter_server,
1371
+ filter_vid=filter_vid,
1372
+ filter_virtual_network_id=filter_virtual_network_id,
1373
+ page_size=page_size,
1374
+ page_number=next_page,
1375
+ retries=retries,
1376
+ )
1377
+
1238
1378
  if utils.match_response(http_res, "200", "application/vnd.api+json"):
1239
- return utils.unmarshal_json(http_res.text, models.VirtualNetworkAssignments)
1379
+ return models.GetVirtualNetworksAssignmentsResponse(
1380
+ result=utils.unmarshal_json(
1381
+ http_res.text, models.VirtualNetworkAssignments
1382
+ ),
1383
+ next=next_func,
1384
+ )
1240
1385
  if utils.match_response(http_res, "4XX", "*"):
1241
1386
  http_res_text = await utils.stream_to_text_async(http_res)
1242
1387
  raise models.APIError(
@@ -1260,10 +1405,12 @@ class PrivateNetworks(BaseSDK):
1260
1405
  def assign(
1261
1406
  self,
1262
1407
  *,
1263
- request: Union[
1264
- models.AssignServerVirtualNetworkPrivateNetworksRequestBody,
1265
- models.AssignServerVirtualNetworkPrivateNetworksRequestBodyTypedDict,
1266
- ] = models.AssignServerVirtualNetworkPrivateNetworksRequestBody(),
1408
+ data: Optional[
1409
+ Union[
1410
+ models.AssignServerVirtualNetworkPrivateNetworksData,
1411
+ models.AssignServerVirtualNetworkPrivateNetworksDataTypedDict,
1412
+ ]
1413
+ ] = None,
1267
1414
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1268
1415
  server_url: Optional[str] = None,
1269
1416
  timeout_ms: Optional[int] = None,
@@ -1271,7 +1418,7 @@ class PrivateNetworks(BaseSDK):
1271
1418
  ) -> models.VirtualNetworkAssignment:
1272
1419
  r"""Assign Virtual network
1273
1420
 
1274
- :param request: The request object to send.
1421
+ :param data:
1275
1422
  :param retries: Override the default retry configuration for this method
1276
1423
  :param server_url: Override the default server URL for this method
1277
1424
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1287,12 +1434,10 @@ class PrivateNetworks(BaseSDK):
1287
1434
  else:
1288
1435
  base_url = self._get_url(base_url, url_variables)
1289
1436
 
1290
- if not isinstance(request, BaseModel):
1291
- request = utils.unmarshal(
1292
- request, models.AssignServerVirtualNetworkPrivateNetworksRequestBody
1293
- )
1294
- request = cast(
1295
- models.AssignServerVirtualNetworkPrivateNetworksRequestBody, request
1437
+ request = models.AssignServerVirtualNetworkPrivateNetworksRequestBody(
1438
+ data=utils.get_pydantic_model(
1439
+ data, Optional[models.AssignServerVirtualNetworkPrivateNetworksData]
1440
+ ),
1296
1441
  )
1297
1442
 
1298
1443
  req = self._build_request(
@@ -1311,9 +1456,9 @@ class PrivateNetworks(BaseSDK):
1311
1456
  get_serialized_body=lambda: utils.serialize_request_body(
1312
1457
  request,
1313
1458
  False,
1314
- True,
1459
+ False,
1315
1460
  "json",
1316
- Optional[models.AssignServerVirtualNetworkPrivateNetworksRequestBody],
1461
+ models.AssignServerVirtualNetworkPrivateNetworksRequestBody,
1317
1462
  ),
1318
1463
  timeout_ms=timeout_ms,
1319
1464
  )
@@ -1328,6 +1473,7 @@ class PrivateNetworks(BaseSDK):
1328
1473
 
1329
1474
  http_res = self.do_request(
1330
1475
  hook_ctx=HookContext(
1476
+ config=self.sdk_configuration,
1331
1477
  base_url=base_url or "",
1332
1478
  operation_id="assign-server-virtual-network",
1333
1479
  oauth2_scopes=[],
@@ -1369,10 +1515,12 @@ class PrivateNetworks(BaseSDK):
1369
1515
  async def assign_async(
1370
1516
  self,
1371
1517
  *,
1372
- request: Union[
1373
- models.AssignServerVirtualNetworkPrivateNetworksRequestBody,
1374
- models.AssignServerVirtualNetworkPrivateNetworksRequestBodyTypedDict,
1375
- ] = models.AssignServerVirtualNetworkPrivateNetworksRequestBody(),
1518
+ data: Optional[
1519
+ Union[
1520
+ models.AssignServerVirtualNetworkPrivateNetworksData,
1521
+ models.AssignServerVirtualNetworkPrivateNetworksDataTypedDict,
1522
+ ]
1523
+ ] = None,
1376
1524
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1377
1525
  server_url: Optional[str] = None,
1378
1526
  timeout_ms: Optional[int] = None,
@@ -1380,7 +1528,7 @@ class PrivateNetworks(BaseSDK):
1380
1528
  ) -> models.VirtualNetworkAssignment:
1381
1529
  r"""Assign Virtual network
1382
1530
 
1383
- :param request: The request object to send.
1531
+ :param data:
1384
1532
  :param retries: Override the default retry configuration for this method
1385
1533
  :param server_url: Override the default server URL for this method
1386
1534
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1396,12 +1544,10 @@ class PrivateNetworks(BaseSDK):
1396
1544
  else:
1397
1545
  base_url = self._get_url(base_url, url_variables)
1398
1546
 
1399
- if not isinstance(request, BaseModel):
1400
- request = utils.unmarshal(
1401
- request, models.AssignServerVirtualNetworkPrivateNetworksRequestBody
1402
- )
1403
- request = cast(
1404
- models.AssignServerVirtualNetworkPrivateNetworksRequestBody, request
1547
+ request = models.AssignServerVirtualNetworkPrivateNetworksRequestBody(
1548
+ data=utils.get_pydantic_model(
1549
+ data, Optional[models.AssignServerVirtualNetworkPrivateNetworksData]
1550
+ ),
1405
1551
  )
1406
1552
 
1407
1553
  req = self._build_request_async(
@@ -1420,9 +1566,9 @@ class PrivateNetworks(BaseSDK):
1420
1566
  get_serialized_body=lambda: utils.serialize_request_body(
1421
1567
  request,
1422
1568
  False,
1423
- True,
1569
+ False,
1424
1570
  "json",
1425
- Optional[models.AssignServerVirtualNetworkPrivateNetworksRequestBody],
1571
+ models.AssignServerVirtualNetworkPrivateNetworksRequestBody,
1426
1572
  ),
1427
1573
  timeout_ms=timeout_ms,
1428
1574
  )
@@ -1437,6 +1583,7 @@ class PrivateNetworks(BaseSDK):
1437
1583
 
1438
1584
  http_res = await self.do_request_async(
1439
1585
  hook_ctx=HookContext(
1586
+ config=self.sdk_configuration,
1440
1587
  base_url=base_url or "",
1441
1588
  operation_id="assign-server-virtual-network",
1442
1589
  oauth2_scopes=[],
@@ -1535,6 +1682,7 @@ class PrivateNetworks(BaseSDK):
1535
1682
 
1536
1683
  http_res = self.do_request(
1537
1684
  hook_ctx=HookContext(
1685
+ config=self.sdk_configuration,
1538
1686
  base_url=base_url or "",
1539
1687
  operation_id="delete-virtual-networks-assignments",
1540
1688
  oauth2_scopes=[],
@@ -1633,6 +1781,7 @@ class PrivateNetworks(BaseSDK):
1633
1781
 
1634
1782
  http_res = await self.do_request_async(
1635
1783
  hook_ctx=HookContext(
1784
+ config=self.sdk_configuration,
1636
1785
  base_url=base_url or "",
1637
1786
  operation_id="delete-virtual-networks-assignments",
1638
1787
  oauth2_scopes=[],