python3-core-api-client 1.2__py3-none-any.whl → 2.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.
Files changed (55) hide show
  1. cyberfusion/CoreApiClient/connector.py +1 -0
  2. cyberfusion/CoreApiClient/http.py +30 -1
  3. cyberfusion/CoreApiClient/models.py +1642 -4140
  4. cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +56 -47
  5. cyberfusion/CoreApiClient/resources/borg_archives.py +81 -82
  6. cyberfusion/CoreApiClient/resources/borg_repositories.py +76 -77
  7. cyberfusion/CoreApiClient/resources/certificate_managers.py +63 -55
  8. cyberfusion/CoreApiClient/resources/certificates.py +34 -33
  9. cyberfusion/CoreApiClient/resources/clusters.py +1486 -153
  10. cyberfusion/CoreApiClient/resources/cmses.py +157 -156
  11. cyberfusion/CoreApiClient/resources/crons.py +41 -41
  12. cyberfusion/CoreApiClient/resources/custom_config_snippets.py +55 -47
  13. cyberfusion/CoreApiClient/resources/custom_configs.py +44 -44
  14. cyberfusion/CoreApiClient/resources/customers.py +53 -54
  15. cyberfusion/CoreApiClient/resources/daemons.py +54 -55
  16. cyberfusion/CoreApiClient/resources/database_user_grants.py +33 -53
  17. cyberfusion/CoreApiClient/resources/database_users.py +45 -45
  18. cyberfusion/CoreApiClient/resources/databases.py +80 -81
  19. cyberfusion/CoreApiClient/resources/domain_routers.py +23 -23
  20. cyberfusion/CoreApiClient/resources/firewall_groups.py +44 -44
  21. cyberfusion/CoreApiClient/resources/firewall_rules.py +36 -36
  22. cyberfusion/CoreApiClient/resources/fpm_pools.py +61 -61
  23. cyberfusion/CoreApiClient/resources/ftp_users.py +51 -49
  24. cyberfusion/CoreApiClient/resources/haproxy_listens.py +36 -36
  25. cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +45 -39
  26. cyberfusion/CoreApiClient/resources/health.py +6 -5
  27. cyberfusion/CoreApiClient/resources/hosts_entries.py +33 -33
  28. cyberfusion/CoreApiClient/resources/htpasswd_files.py +36 -36
  29. cyberfusion/CoreApiClient/resources/htpasswd_users.py +44 -44
  30. cyberfusion/CoreApiClient/resources/login.py +15 -14
  31. cyberfusion/CoreApiClient/resources/logs.py +59 -58
  32. cyberfusion/CoreApiClient/resources/mail_accounts.py +60 -59
  33. cyberfusion/CoreApiClient/resources/mail_aliases.py +41 -41
  34. cyberfusion/CoreApiClient/resources/mail_domains.py +41 -41
  35. cyberfusion/CoreApiClient/resources/mail_hostnames.py +44 -44
  36. cyberfusion/CoreApiClient/resources/malwares.py +14 -38
  37. cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +37 -31
  38. cyberfusion/CoreApiClient/resources/node_add_ons.py +39 -40
  39. cyberfusion/CoreApiClient/resources/nodes.py +60 -61
  40. cyberfusion/CoreApiClient/resources/passenger_apps.py +54 -54
  41. cyberfusion/CoreApiClient/resources/redis_instances.py +46 -46
  42. cyberfusion/CoreApiClient/resources/root_ssh_keys.py +41 -41
  43. cyberfusion/CoreApiClient/resources/security_txt_policies.py +56 -48
  44. cyberfusion/CoreApiClient/resources/sites.py +15 -15
  45. cyberfusion/CoreApiClient/resources/ssh_keys.py +41 -41
  46. cyberfusion/CoreApiClient/resources/task_collections.py +20 -20
  47. cyberfusion/CoreApiClient/resources/tombstones.py +15 -15
  48. cyberfusion/CoreApiClient/resources/unix_users.py +68 -69
  49. cyberfusion/CoreApiClient/resources/url_redirects.py +42 -42
  50. cyberfusion/CoreApiClient/resources/virtual_hosts.py +66 -66
  51. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/METADATA +44 -11
  52. python3_core_api_client-2.1.0.dist-info/RECORD +59 -0
  53. python3_core_api_client-1.2.dist-info/RECORD +0 -59
  54. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/WHEEL +0 -0
  55. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/top_level.txt +0 -0
@@ -1,24 +1,23 @@
1
1
  from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
4
5
  from cyberfusion.CoreApiClient.interfaces import Resource
5
- from cyberfusion.CoreApiClient.models import (
6
- NodeDependenciesResource,
7
- NodeSpecificationsResource,
8
- )
9
6
 
10
7
 
11
8
  class Clusters(Resource):
12
9
  def get_common_properties(
13
10
  self,
14
- ) -> models.ClustersCommonProperties:
15
- return models.ClustersCommonProperties.parse_obj(
16
- self.api_connector.send_or_fail(
17
- "GET",
18
- "/api/v1/clusters/common-properties",
19
- data=None,
20
- query_parameters={},
21
- ).json
11
+ ) -> DtoResponse[models.ClustersCommonProperties]:
12
+ local_response = self.api_connector.send_or_fail(
13
+ "GET",
14
+ "/api/v1/clusters/common-properties",
15
+ data=None,
16
+ query_parameters={},
17
+ )
18
+
19
+ return DtoResponse.from_response(
20
+ local_response, models.ClustersCommonProperties
22
21
  )
23
22
 
24
23
  def create_cluster(
@@ -26,18 +25,18 @@ class Clusters(Resource):
26
25
  request: models.ClusterCreateRequest,
27
26
  *,
28
27
  callback_url: Optional[str] = None,
29
- ) -> models.TaskCollectionResource:
30
- return models.TaskCollectionResource.parse_obj(
31
- self.api_connector.send_or_fail(
32
- "POST",
33
- "/api/v1/clusters",
34
- data=request.dict(exclude_unset=True),
35
- query_parameters={
36
- "callback_url": callback_url,
37
- },
38
- ).json
28
+ ) -> DtoResponse[models.TaskCollectionResource]:
29
+ local_response = self.api_connector.send_or_fail(
30
+ "POST",
31
+ "/api/v1/clusters",
32
+ data=request.dict(exclude_unset=True),
33
+ query_parameters={
34
+ "callback_url": callback_url,
35
+ },
39
36
  )
40
37
 
38
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
39
+
41
40
  def list_clusters(
42
41
  self,
43
42
  *,
@@ -45,164 +44,164 @@ class Clusters(Resource):
45
44
  limit: Optional[int] = None,
46
45
  filter_: Optional[List[str]] = None,
47
46
  sort: Optional[List[str]] = None,
48
- ) -> list[models.ClusterResource]:
49
- return [
50
- models.ClusterResource.parse_obj(model)
51
- for model in self.api_connector.send_or_fail(
52
- "GET",
53
- "/api/v1/clusters",
54
- data=None,
55
- query_parameters={
56
- "skip": skip,
57
- "limit": limit,
58
- "filter": filter_,
59
- "sort": sort,
60
- },
61
- ).json
62
- ]
47
+ ) -> DtoResponse[list[models.ClusterResource]]:
48
+ local_response = self.api_connector.send_or_fail(
49
+ "GET",
50
+ "/api/v1/clusters",
51
+ data=None,
52
+ query_parameters={
53
+ "skip": skip,
54
+ "limit": limit,
55
+ "filter": filter_,
56
+ "sort": sort,
57
+ },
58
+ )
59
+
60
+ return DtoResponse.from_response(local_response, models.ClusterResource)
63
61
 
64
62
  def read_cluster(
65
63
  self,
66
64
  *,
67
65
  id_: int,
68
- ) -> models.ClusterResource:
69
- return models.ClusterResource.parse_obj(
70
- self.api_connector.send_or_fail(
71
- "GET", f"/api/v1/clusters/{id_}", data=None, query_parameters={}
72
- ).json
66
+ ) -> DtoResponse[models.ClusterResource]:
67
+ local_response = self.api_connector.send_or_fail(
68
+ "GET", f"/api/v1/clusters/{id_}", data=None, query_parameters={}
73
69
  )
74
70
 
71
+ return DtoResponse.from_response(local_response, models.ClusterResource)
72
+
75
73
  def update_cluster(
76
74
  self,
77
75
  request: models.ClusterUpdateRequest,
78
76
  *,
79
77
  id_: int,
80
- ) -> models.ClusterResource:
81
- return models.ClusterResource.parse_obj(
82
- self.api_connector.send_or_fail(
83
- "PATCH",
84
- f"/api/v1/clusters/{id_}",
85
- data=request.dict(exclude_unset=True),
86
- query_parameters={},
87
- ).json
78
+ ) -> DtoResponse[models.ClusterResource]:
79
+ local_response = self.api_connector.send_or_fail(
80
+ "PATCH",
81
+ f"/api/v1/clusters/{id_}",
82
+ data=request.dict(exclude_unset=True),
83
+ query_parameters={},
88
84
  )
89
85
 
86
+ return DtoResponse.from_response(local_response, models.ClusterResource)
87
+
90
88
  def get_borg_ssh_key(
91
89
  self,
92
90
  *,
93
91
  id_: int,
94
- ) -> models.ClusterBorgSSHKey:
95
- return models.ClusterBorgSSHKey.parse_obj(
96
- self.api_connector.send_or_fail(
97
- "GET",
98
- f"/api/v1/clusters/{id_}/borg-ssh-key",
99
- data=None,
100
- query_parameters={},
101
- ).json
92
+ ) -> DtoResponse[models.ClusterBorgSSHKey]:
93
+ local_response = self.api_connector.send_or_fail(
94
+ "GET",
95
+ f"/api/v1/clusters/{id_}/borg-ssh-key",
96
+ data=None,
97
+ query_parameters={},
102
98
  )
103
99
 
100
+ return DtoResponse.from_response(local_response, models.ClusterBorgSSHKey)
101
+
104
102
  def list_ip_addresses_for_cluster(
105
103
  self,
106
104
  *,
107
105
  id_: int,
108
- ) -> models.ClusterIPAddresses:
109
- return models.ClusterIPAddresses.parse_obj(
110
- self.api_connector.send_or_fail(
111
- "GET",
112
- f"/api/v1/clusters/{id_}/ip-addresses",
113
- data=None,
114
- query_parameters={},
115
- ).json
106
+ ) -> DtoResponse[models.ClusterIPAddresses]:
107
+ local_response = self.api_connector.send_or_fail(
108
+ "GET",
109
+ f"/api/v1/clusters/{id_}/ip-addresses",
110
+ data=None,
111
+ query_parameters={},
116
112
  )
117
113
 
114
+ return DtoResponse.from_response(local_response, models.ClusterIPAddresses)
115
+
118
116
  def create_ip_address_for_cluster(
119
117
  self,
120
118
  request: models.ClusterIPAddressCreateRequest,
121
119
  *,
122
120
  id_: int,
123
- ) -> models.TaskCollectionResource:
124
- return models.TaskCollectionResource.parse_obj(
125
- self.api_connector.send_or_fail(
126
- "POST",
127
- f"/api/v1/clusters/{id_}/ip-addresses",
128
- data=request.dict(exclude_unset=True),
129
- query_parameters={},
130
- ).json
121
+ ) -> DtoResponse[models.TaskCollectionResource]:
122
+ local_response = self.api_connector.send_or_fail(
123
+ "POST",
124
+ f"/api/v1/clusters/{id_}/ip-addresses",
125
+ data=request.dict(exclude_unset=True),
126
+ query_parameters={},
131
127
  )
132
128
 
129
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
130
+
133
131
  def delete_ip_address_for_cluster(
134
132
  self,
135
133
  *,
136
134
  id_: int,
137
135
  ip_address: str,
138
- ) -> models.TaskCollectionResource:
139
- return models.TaskCollectionResource.parse_obj(
140
- self.api_connector.send_or_fail(
141
- "DELETE",
142
- f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}",
143
- data=None,
144
- query_parameters={},
145
- ).json
136
+ ) -> DtoResponse[models.TaskCollectionResource]:
137
+ local_response = self.api_connector.send_or_fail(
138
+ "DELETE",
139
+ f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}",
140
+ data=None,
141
+ query_parameters={},
146
142
  )
147
143
 
144
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
145
+
148
146
  def enable_l3_ddos_protection_for_ip_address(
149
147
  self,
150
148
  *,
151
149
  id_: int,
152
150
  ip_address: str,
153
- ) -> models.TaskCollectionResource:
154
- return models.TaskCollectionResource.parse_obj(
155
- self.api_connector.send_or_fail(
156
- "POST",
157
- f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
158
- data=None,
159
- query_parameters={},
160
- ).json
151
+ ) -> DtoResponse[models.TaskCollectionResource]:
152
+ local_response = self.api_connector.send_or_fail(
153
+ "POST",
154
+ f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
155
+ data=None,
156
+ query_parameters={},
161
157
  )
162
158
 
159
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
160
+
163
161
  def disable_l3_ddos_protection_for_ip_address(
164
162
  self,
165
163
  *,
166
164
  id_: int,
167
165
  ip_address: str,
168
- ) -> models.TaskCollectionResource:
169
- return models.TaskCollectionResource.parse_obj(
170
- self.api_connector.send_or_fail(
171
- "DELETE",
172
- f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
173
- data=None,
174
- query_parameters={},
175
- ).json
166
+ ) -> DtoResponse[models.TaskCollectionResource]:
167
+ local_response = self.api_connector.send_or_fail(
168
+ "DELETE",
169
+ f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
170
+ data=None,
171
+ query_parameters={},
176
172
  )
177
173
 
174
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
175
+
178
176
  def get_ip_addresses_products_for_clusters(
179
177
  self,
180
- ) -> list[models.IPAddressProduct]:
181
- return [
182
- models.IPAddressProduct.parse_obj(model)
183
- for model in self.api_connector.send_or_fail(
184
- "GET",
185
- "/api/v1/clusters/ip-addresses/products",
186
- data=None,
187
- query_parameters={},
188
- ).json
189
- ]
178
+ ) -> DtoResponse[list[models.IPAddressProduct]]:
179
+ local_response = self.api_connector.send_or_fail(
180
+ "GET",
181
+ "/api/v1/clusters/ip-addresses/products",
182
+ data=None,
183
+ query_parameters={},
184
+ )
185
+
186
+ return DtoResponse.from_response(local_response, models.IPAddressProduct)
190
187
 
191
188
  def list_cluster_deployments_results(
192
189
  self,
193
190
  *,
194
191
  id_: int,
195
192
  get_non_running: Optional[bool] = None,
196
- ) -> models.ClusterDeploymentResults:
197
- return models.ClusterDeploymentResults.parse_obj(
198
- self.api_connector.send_or_fail(
199
- "GET",
200
- f"/api/v1/clusters/{id_}/deployments-results",
201
- data=None,
202
- query_parameters={
203
- "get_non_running": get_non_running,
204
- },
205
- ).json
193
+ ) -> DtoResponse[models.ClusterDeploymentResults]:
194
+ local_response = self.api_connector.send_or_fail(
195
+ "GET",
196
+ f"/api/v1/clusters/{id_}/deployments-results",
197
+ data=None,
198
+ query_parameters={
199
+ "get_non_running": get_non_running,
200
+ },
201
+ )
202
+
203
+ return DtoResponse.from_response(
204
+ local_response, models.ClusterDeploymentResults
206
205
  )
207
206
 
208
207
  def list_unix_users_home_directory_usages(
@@ -211,38 +210,1372 @@ class Clusters(Resource):
211
210
  cluster_id: int,
212
211
  timestamp: str,
213
212
  time_unit: Optional[models.UNIXUsersHomeDirectoryUsageResource] = None,
214
- ) -> list[models.UNIXUsersHomeDirectoryUsageResource]:
215
- return [
216
- models.UNIXUsersHomeDirectoryUsageResource.parse_obj(model)
217
- for model in self.api_connector.send_or_fail(
218
- "GET",
219
- f"/api/v1/clusters/unix-users-home-directories/usages/{cluster_id}",
220
- data=None,
221
- query_parameters={
222
- "timestamp": timestamp,
223
- "time_unit": time_unit,
224
- },
225
- ).json
226
- ]
227
-
228
- def list_nodes_dependencies(self, *, id_: int) -> list[NodeDependenciesResource]:
229
- return [
230
- models.NodeDependenciesResource.parse_obj(model)
231
- for model in self.api_connector.send_or_fail(
232
- "GET",
233
- f"/api/v1/clusters/{id_}/nodes-dependencies",
234
- data=None,
235
- query_parameters={},
236
- ).json
237
- ]
238
-
239
- def get_nodes_specifications(self, *, id_: int) -> list[NodeSpecificationsResource]:
240
- return [
241
- models.NodeSpecificationsResource.parse_obj(model)
242
- for model in self.api_connector.send_or_fail(
243
- "GET",
244
- f"/api/v1/clusters/{id_}/nodes-specifications",
245
- data=None,
246
- query_parameters={},
247
- ).json
248
- ]
213
+ ) -> DtoResponse[list[models.UNIXUsersHomeDirectoryUsageResource]]:
214
+ local_response = self.api_connector.send_or_fail(
215
+ "GET",
216
+ f"/api/v1/clusters/unix-users-home-directories/usages/{cluster_id}",
217
+ data=None,
218
+ query_parameters={
219
+ "timestamp": timestamp,
220
+ "time_unit": time_unit,
221
+ },
222
+ )
223
+
224
+ return DtoResponse.from_response(
225
+ local_response, models.UNIXUsersHomeDirectoryUsageResource
226
+ )
227
+
228
+ def list_nodes_dependencies(
229
+ self, *, id_: int
230
+ ) -> DtoResponse[list[models.NodeDependenciesResource]]:
231
+ local_response = self.api_connector.send_or_fail(
232
+ "GET",
233
+ f"/api/v1/clusters/{id_}/nodes-dependencies",
234
+ data=None,
235
+ query_parameters={},
236
+ )
237
+
238
+ return DtoResponse.from_response(
239
+ local_response, models.NodeDependenciesResource
240
+ )
241
+
242
+ def get_nodes_specifications(
243
+ self, *, id_: int
244
+ ) -> DtoResponse[list[models.NodeDependenciesResource]]:
245
+ local_response = self.api_connector.send_or_fail(
246
+ "GET",
247
+ f"/api/v1/clusters/{id_}/nodes-specifications",
248
+ data=None,
249
+ query_parameters={},
250
+ )
251
+
252
+ return DtoResponse.from_response(
253
+ local_response, models.NodeDependenciesResource
254
+ )
255
+
256
+ def list_simple_specifications(
257
+ self, *, id_: int
258
+ ) -> DtoResponse[list[models.SimpleSpecificationsResource]]:
259
+ local_response = self.api_connector.send_or_fail(
260
+ "GET",
261
+ f"/api/v1/clusters/{id_}/specifications/simple",
262
+ data=None,
263
+ query_parameters={},
264
+ )
265
+
266
+ return DtoResponse.from_response(
267
+ local_response, models.SimpleSpecificationsResource
268
+ )
269
+
270
+ def list_advanced_specifications(
271
+ self, *, id_: int
272
+ ) -> DtoResponse[list[models.CompositeSpecificationSatisfyResultResource]]:
273
+ local_response = self.api_connector.send_or_fail(
274
+ "GET",
275
+ f"/api/v1/clusters/{id_}/specifications/advanced",
276
+ data=None,
277
+ query_parameters={},
278
+ )
279
+
280
+ return DtoResponse.from_response(
281
+ local_response, models.CompositeSpecificationSatisfyResultResource
282
+ )
283
+
284
+ def read_borg_properties(
285
+ self,
286
+ *,
287
+ id_: int,
288
+ ) -> DtoResponse[models.ClusterBorgPropertiesResource]:
289
+ local_response = self.api_connector.send_or_fail(
290
+ "GET",
291
+ f"/api/v1/clusters/{id_}/properties/borg",
292
+ data=None,
293
+ query_parameters={},
294
+ )
295
+
296
+ return DtoResponse.from_response(
297
+ local_response, models.ClusterBorgPropertiesResource
298
+ )
299
+
300
+ def read_elasticsearch_properties(
301
+ self,
302
+ *,
303
+ id_: int,
304
+ ) -> DtoResponse[models.ClusterElasticsearchPropertiesResource]:
305
+ local_response = self.api_connector.send_or_fail(
306
+ "GET",
307
+ f"/api/v1/clusters/{id_}/properties/elasticsearch",
308
+ data=None,
309
+ query_parameters={},
310
+ )
311
+
312
+ return DtoResponse.from_response(
313
+ local_response, models.ClusterElasticsearchPropertiesResource
314
+ )
315
+
316
+ def read_firewall_properties(
317
+ self,
318
+ *,
319
+ id_: int,
320
+ ) -> DtoResponse[models.ClusterFirewallPropertiesResource]:
321
+ local_response = self.api_connector.send_or_fail(
322
+ "GET",
323
+ f"/api/v1/clusters/{id_}/properties/firewall",
324
+ data=None,
325
+ query_parameters={},
326
+ )
327
+
328
+ return DtoResponse.from_response(
329
+ local_response, models.ClusterFirewallPropertiesResource
330
+ )
331
+
332
+ def read_grafana_properties(
333
+ self,
334
+ *,
335
+ id_: int,
336
+ ) -> DtoResponse[models.ClusterGrafanaPropertiesResource]:
337
+ local_response = self.api_connector.send_or_fail(
338
+ "GET",
339
+ f"/api/v1/clusters/{id_}/properties/grafana",
340
+ data=None,
341
+ query_parameters={},
342
+ )
343
+
344
+ return DtoResponse.from_response(
345
+ local_response, models.ClusterGrafanaPropertiesResource
346
+ )
347
+
348
+ def read_kernelcare_properties(
349
+ self,
350
+ *,
351
+ id_: int,
352
+ ) -> DtoResponse[models.ClusterKernelcarePropertiesResource]:
353
+ local_response = self.api_connector.send_or_fail(
354
+ "GET",
355
+ f"/api/v1/clusters/{id_}/properties/kernelcare",
356
+ data=None,
357
+ query_parameters={},
358
+ )
359
+
360
+ return DtoResponse.from_response(
361
+ local_response, models.ClusterKernelcarePropertiesResource
362
+ )
363
+
364
+ def read_load_balancing_properties(
365
+ self,
366
+ *,
367
+ id_: int,
368
+ ) -> DtoResponse[models.ClusterLoadBalancingPropertiesResource]:
369
+ local_response = self.api_connector.send_or_fail(
370
+ "GET",
371
+ f"/api/v1/clusters/{id_}/properties/load-balancing",
372
+ data=None,
373
+ query_parameters={},
374
+ )
375
+
376
+ return DtoResponse.from_response(
377
+ local_response, models.ClusterLoadBalancingPropertiesResource
378
+ )
379
+
380
+ def read_mariadb_properties(
381
+ self,
382
+ *,
383
+ id_: int,
384
+ ) -> DtoResponse[models.ClusterMariadbPropertiesResource]:
385
+ local_response = self.api_connector.send_or_fail(
386
+ "GET",
387
+ f"/api/v1/clusters/{id_}/properties/mariadb",
388
+ data=None,
389
+ query_parameters={},
390
+ )
391
+
392
+ return DtoResponse.from_response(
393
+ local_response, models.ClusterMariadbPropertiesResource
394
+ )
395
+
396
+ def read_meilisearch_properties(
397
+ self,
398
+ *,
399
+ id_: int,
400
+ ) -> DtoResponse[models.ClusterMeilisearchPropertiesResource]:
401
+ local_response = self.api_connector.send_or_fail(
402
+ "GET",
403
+ f"/api/v1/clusters/{id_}/properties/meilisearch",
404
+ data=None,
405
+ query_parameters={},
406
+ )
407
+
408
+ return DtoResponse.from_response(
409
+ local_response, models.ClusterMeilisearchPropertiesResource
410
+ )
411
+
412
+ def read_metabase_properties(
413
+ self,
414
+ *,
415
+ id_: int,
416
+ ) -> DtoResponse[models.ClusterMetabasePropertiesResource]:
417
+ local_response = self.api_connector.send_or_fail(
418
+ "GET",
419
+ f"/api/v1/clusters/{id_}/properties/metabase",
420
+ data=None,
421
+ query_parameters={},
422
+ )
423
+
424
+ return DtoResponse.from_response(
425
+ local_response, models.ClusterMetabasePropertiesResource
426
+ )
427
+
428
+ def read_new_relic_properties(
429
+ self,
430
+ *,
431
+ id_: int,
432
+ ) -> DtoResponse[models.ClusterNewRelicPropertiesResource]:
433
+ local_response = self.api_connector.send_or_fail(
434
+ "GET",
435
+ f"/api/v1/clusters/{id_}/properties/new-relic",
436
+ data=None,
437
+ query_parameters={},
438
+ )
439
+
440
+ return DtoResponse.from_response(
441
+ local_response, models.ClusterNewRelicPropertiesResource
442
+ )
443
+
444
+ def read_nodejs_properties(
445
+ self,
446
+ *,
447
+ id_: int,
448
+ ) -> DtoResponse[models.ClusterNodejsPropertiesResource]:
449
+ local_response = self.api_connector.send_or_fail(
450
+ "GET",
451
+ f"/api/v1/clusters/{id_}/properties/nodejs",
452
+ data=None,
453
+ query_parameters={},
454
+ )
455
+
456
+ return DtoResponse.from_response(
457
+ local_response, models.ClusterNodejsPropertiesResource
458
+ )
459
+
460
+ def read_os_properties(
461
+ self,
462
+ *,
463
+ id_: int,
464
+ ) -> DtoResponse[models.ClusterOsPropertiesResource]:
465
+ local_response = self.api_connector.send_or_fail(
466
+ "GET",
467
+ f"/api/v1/clusters/{id_}/properties/os",
468
+ data=None,
469
+ query_parameters={},
470
+ )
471
+
472
+ return DtoResponse.from_response(
473
+ local_response, models.ClusterOsPropertiesResource
474
+ )
475
+
476
+ def read_php_properties(
477
+ self,
478
+ *,
479
+ id_: int,
480
+ ) -> DtoResponse[models.ClusterPhpPropertiesResource]:
481
+ local_response = self.api_connector.send_or_fail(
482
+ "GET",
483
+ f"/api/v1/clusters/{id_}/properties/php",
484
+ data=None,
485
+ query_parameters={},
486
+ )
487
+
488
+ return DtoResponse.from_response(
489
+ local_response, models.ClusterPhpPropertiesResource
490
+ )
491
+
492
+ def read_postgresql_properties(
493
+ self,
494
+ *,
495
+ id_: int,
496
+ ) -> DtoResponse[models.ClusterPostgresqlPropertiesResource]:
497
+ local_response = self.api_connector.send_or_fail(
498
+ "GET",
499
+ f"/api/v1/clusters/{id_}/properties/postgresql",
500
+ data=None,
501
+ query_parameters={},
502
+ )
503
+
504
+ return DtoResponse.from_response(
505
+ local_response, models.ClusterPostgresqlPropertiesResource
506
+ )
507
+
508
+ def read_rabbitmq_properties(
509
+ self,
510
+ *,
511
+ id_: int,
512
+ ) -> DtoResponse[models.ClusterRabbitmqPropertiesResource]:
513
+ local_response = self.api_connector.send_or_fail(
514
+ "GET",
515
+ f"/api/v1/clusters/{id_}/properties/rabbitmq",
516
+ data=None,
517
+ query_parameters={},
518
+ )
519
+
520
+ return DtoResponse.from_response(
521
+ local_response, models.ClusterRabbitmqPropertiesResource
522
+ )
523
+
524
+ def read_redis_properties(
525
+ self,
526
+ *,
527
+ id_: int,
528
+ ) -> DtoResponse[models.ClusterRedisPropertiesResource]:
529
+ local_response = self.api_connector.send_or_fail(
530
+ "GET",
531
+ f"/api/v1/clusters/{id_}/properties/redis",
532
+ data=None,
533
+ query_parameters={},
534
+ )
535
+
536
+ return DtoResponse.from_response(
537
+ local_response, models.ClusterRedisPropertiesResource
538
+ )
539
+
540
+ def read_singlestore_properties(
541
+ self,
542
+ *,
543
+ id_: int,
544
+ ) -> DtoResponse[models.ClusterSinglestorePropertiesResource]:
545
+ local_response = self.api_connector.send_or_fail(
546
+ "GET",
547
+ f"/api/v1/clusters/{id_}/properties/singlestore",
548
+ data=None,
549
+ query_parameters={},
550
+ )
551
+
552
+ return DtoResponse.from_response(
553
+ local_response, models.ClusterSinglestorePropertiesResource
554
+ )
555
+
556
+ def read_unix_users_properties(
557
+ self,
558
+ *,
559
+ id_: int,
560
+ ) -> DtoResponse[models.ClusterUnixUsersPropertiesResource]:
561
+ local_response = self.api_connector.send_or_fail(
562
+ "GET",
563
+ f"/api/v1/clusters/{id_}/properties/unix-users",
564
+ data=None,
565
+ query_parameters={},
566
+ )
567
+
568
+ return DtoResponse.from_response(
569
+ local_response, models.ClusterUnixUsersPropertiesResource
570
+ )
571
+
572
+ def create_borg_properties(
573
+ self,
574
+ request: models.ClusterBorgPropertiesCreateRequest,
575
+ *,
576
+ id_: int,
577
+ ) -> DtoResponse[models.ClusterBorgPropertiesResource]:
578
+ local_response = self.api_connector.send_or_fail(
579
+ "POST",
580
+ f"/api/v1/clusters/{id_}/properties/borg",
581
+ data=request.dict(exclude_unset=True),
582
+ query_parameters={},
583
+ )
584
+
585
+ return DtoResponse.from_response(
586
+ local_response, models.ClusterBorgPropertiesResource
587
+ )
588
+
589
+ def create_elasticsearch_properties(
590
+ self,
591
+ request: models.ClusterElasticsearchPropertiesCreateRequest,
592
+ *,
593
+ id_: int,
594
+ ) -> DtoResponse[models.ClusterElasticsearchPropertiesResource]:
595
+ local_response = self.api_connector.send_or_fail(
596
+ "POST",
597
+ f"/api/v1/clusters/{id_}/properties/elasticsearch",
598
+ data=request.dict(exclude_unset=True),
599
+ query_parameters={},
600
+ )
601
+
602
+ return DtoResponse.from_response(
603
+ local_response, models.ClusterElasticsearchPropertiesResource
604
+ )
605
+
606
+ def create_firewall_properties(
607
+ self,
608
+ request: models.ClusterFirewallPropertiesCreateRequest,
609
+ *,
610
+ id_: int,
611
+ ) -> DtoResponse[models.ClusterFirewallPropertiesResource]:
612
+ local_response = self.api_connector.send_or_fail(
613
+ "POST",
614
+ f"/api/v1/clusters/{id_}/properties/firewall",
615
+ data=request.dict(exclude_unset=True),
616
+ query_parameters={},
617
+ )
618
+
619
+ return DtoResponse.from_response(
620
+ local_response, models.ClusterFirewallPropertiesResource
621
+ )
622
+
623
+ def create_grafana_properties(
624
+ self,
625
+ request: models.ClusterGrafanaPropertiesCreateRequest,
626
+ *,
627
+ id_: int,
628
+ ) -> DtoResponse[models.ClusterGrafanaPropertiesResource]:
629
+ local_response = self.api_connector.send_or_fail(
630
+ "POST",
631
+ f"/api/v1/clusters/{id_}/properties/grafana",
632
+ data=request.dict(exclude_unset=True),
633
+ query_parameters={},
634
+ )
635
+
636
+ return DtoResponse.from_response(
637
+ local_response, models.ClusterGrafanaPropertiesResource
638
+ )
639
+
640
+ def create_kernelcare_properties(
641
+ self,
642
+ request: models.ClusterKernelcarePropertiesCreateRequest,
643
+ *,
644
+ id_: int,
645
+ ) -> DtoResponse[models.ClusterKernelcarePropertiesResource]:
646
+ local_response = self.api_connector.send_or_fail(
647
+ "POST",
648
+ f"/api/v1/clusters/{id_}/properties/kernelcare",
649
+ data=request.dict(exclude_unset=True),
650
+ query_parameters={},
651
+ )
652
+
653
+ return DtoResponse.from_response(
654
+ local_response, models.ClusterKernelcarePropertiesResource
655
+ )
656
+
657
+ def create_load_balancing_properties(
658
+ self,
659
+ request: models.ClusterLoadBalancingPropertiesCreateRequest,
660
+ *,
661
+ id_: int,
662
+ ) -> DtoResponse[models.ClusterLoadBalancingPropertiesResource]:
663
+ local_response = self.api_connector.send_or_fail(
664
+ "POST",
665
+ f"/api/v1/clusters/{id_}/properties/load-balancing",
666
+ data=request.dict(exclude_unset=True),
667
+ query_parameters={},
668
+ )
669
+
670
+ return DtoResponse.from_response(
671
+ local_response, models.ClusterLoadBalancingPropertiesResource
672
+ )
673
+
674
+ def create_mariadb_properties(
675
+ self,
676
+ request: models.ClusterMariadbPropertiesCreateRequest,
677
+ *,
678
+ id_: int,
679
+ ) -> DtoResponse[models.ClusterMariadbPropertiesResource]:
680
+ local_response = self.api_connector.send_or_fail(
681
+ "POST",
682
+ f"/api/v1/clusters/{id_}/properties/mariadb",
683
+ data=request.dict(exclude_unset=True),
684
+ query_parameters={},
685
+ )
686
+
687
+ return DtoResponse.from_response(
688
+ local_response, models.ClusterMariadbPropertiesResource
689
+ )
690
+
691
+ def create_meilisearch_properties(
692
+ self,
693
+ request: models.ClusterMeilisearchPropertiesCreateRequest,
694
+ *,
695
+ id_: int,
696
+ ) -> DtoResponse[models.ClusterMeilisearchPropertiesResource]:
697
+ local_response = self.api_connector.send_or_fail(
698
+ "POST",
699
+ f"/api/v1/clusters/{id_}/properties/meilisearch",
700
+ data=request.dict(exclude_unset=True),
701
+ query_parameters={},
702
+ )
703
+
704
+ return DtoResponse.from_response(
705
+ local_response, models.ClusterMeilisearchPropertiesResource
706
+ )
707
+
708
+ def create_metabase_properties(
709
+ self,
710
+ request: models.ClusterMetabasePropertiesCreateRequest,
711
+ *,
712
+ id_: int,
713
+ ) -> DtoResponse[models.ClusterMetabasePropertiesResource]:
714
+ local_response = self.api_connector.send_or_fail(
715
+ "POST",
716
+ f"/api/v1/clusters/{id_}/properties/metabase",
717
+ data=request.dict(exclude_unset=True),
718
+ query_parameters={},
719
+ )
720
+
721
+ return DtoResponse.from_response(
722
+ local_response, models.ClusterMetabasePropertiesResource
723
+ )
724
+
725
+ def create_new_relic_properties(
726
+ self,
727
+ request: models.ClusterNewRelicPropertiesCreateRequest,
728
+ *,
729
+ id_: int,
730
+ ) -> DtoResponse[models.ClusterNewRelicPropertiesResource]:
731
+ local_response = self.api_connector.send_or_fail(
732
+ "POST",
733
+ f"/api/v1/clusters/{id_}/properties/new-relic",
734
+ data=request.dict(exclude_unset=True),
735
+ query_parameters={},
736
+ )
737
+
738
+ return DtoResponse.from_response(
739
+ local_response, models.ClusterNewRelicPropertiesResource
740
+ )
741
+
742
+ def create_nodejs_properties(
743
+ self,
744
+ request: models.ClusterNodejsPropertiesCreateRequest,
745
+ *,
746
+ id_: int,
747
+ ) -> DtoResponse[models.ClusterNodejsPropertiesResource]:
748
+ local_response = self.api_connector.send_or_fail(
749
+ "POST",
750
+ f"/api/v1/clusters/{id_}/properties/nodejs",
751
+ data=request.dict(exclude_unset=True),
752
+ query_parameters={},
753
+ )
754
+
755
+ return DtoResponse.from_response(
756
+ local_response, models.ClusterNodejsPropertiesResource
757
+ )
758
+
759
+ def create_os_properties(
760
+ self,
761
+ request: models.ClusterOsPropertiesCreateRequest,
762
+ *,
763
+ id_: int,
764
+ ) -> DtoResponse[models.ClusterOsPropertiesResource]:
765
+ local_response = self.api_connector.send_or_fail(
766
+ "POST",
767
+ f"/api/v1/clusters/{id_}/properties/os",
768
+ data=request.dict(exclude_unset=True),
769
+ query_parameters={},
770
+ )
771
+
772
+ return DtoResponse.from_response(
773
+ local_response, models.ClusterOsPropertiesResource
774
+ )
775
+
776
+ def create_php_properties(
777
+ self,
778
+ request: models.ClusterPhpPropertiesCreateRequest,
779
+ *,
780
+ id_: int,
781
+ ) -> DtoResponse[models.ClusterPhpPropertiesResource]:
782
+ local_response = self.api_connector.send_or_fail(
783
+ "POST",
784
+ f"/api/v1/clusters/{id_}/properties/php",
785
+ data=request.dict(exclude_unset=True),
786
+ query_parameters={},
787
+ )
788
+
789
+ return DtoResponse.from_response(
790
+ local_response, models.ClusterPhpPropertiesResource
791
+ )
792
+
793
+ def create_postgresql_properties(
794
+ self,
795
+ request: models.ClusterPostgresqlPropertiesCreateRequest,
796
+ *,
797
+ id_: int,
798
+ ) -> DtoResponse[models.ClusterPostgresqlPropertiesResource]:
799
+ local_response = self.api_connector.send_or_fail(
800
+ "POST",
801
+ f"/api/v1/clusters/{id_}/properties/postgresql",
802
+ data=request.dict(exclude_unset=True),
803
+ query_parameters={},
804
+ )
805
+
806
+ return DtoResponse.from_response(
807
+ local_response, models.ClusterPostgresqlPropertiesResource
808
+ )
809
+
810
+ def create_rabbitmq_properties(
811
+ self,
812
+ request: models.ClusterRabbitmqPropertiesCreateRequest,
813
+ *,
814
+ id_: int,
815
+ ) -> DtoResponse[models.ClusterRabbitmqPropertiesResource]:
816
+ local_response = self.api_connector.send_or_fail(
817
+ "POST",
818
+ f"/api/v1/clusters/{id_}/properties/rabbitmq",
819
+ data=request.dict(exclude_unset=True),
820
+ query_parameters={},
821
+ )
822
+
823
+ return DtoResponse.from_response(
824
+ local_response, models.ClusterRabbitmqPropertiesResource
825
+ )
826
+
827
+ def create_redis_properties(
828
+ self,
829
+ request: models.ClusterRedisPropertiesCreateRequest,
830
+ *,
831
+ id_: int,
832
+ ) -> DtoResponse[models.ClusterRedisPropertiesResource]:
833
+ local_response = self.api_connector.send_or_fail(
834
+ "POST",
835
+ f"/api/v1/clusters/{id_}/properties/redis",
836
+ data=request.dict(exclude_unset=True),
837
+ query_parameters={},
838
+ )
839
+
840
+ return DtoResponse.from_response(
841
+ local_response, models.ClusterRedisPropertiesResource
842
+ )
843
+
844
+ def create_singlestore_properties(
845
+ self,
846
+ request: models.ClusterSinglestorePropertiesCreateRequest,
847
+ *,
848
+ id_: int,
849
+ ) -> DtoResponse[models.ClusterSinglestorePropertiesResource]:
850
+ local_response = self.api_connector.send_or_fail(
851
+ "POST",
852
+ f"/api/v1/clusters/{id_}/properties/singlestore",
853
+ data=request.dict(exclude_unset=True),
854
+ query_parameters={},
855
+ )
856
+
857
+ return DtoResponse.from_response(
858
+ local_response, models.ClusterSinglestorePropertiesResource
859
+ )
860
+
861
+ def create_unix_users_properties(
862
+ self,
863
+ request: models.ClusterUnixUsersPropertiesCreateRequest,
864
+ *,
865
+ id_: int,
866
+ ) -> DtoResponse[models.ClusterUnixUsersPropertiesResource]:
867
+ local_response = self.api_connector.send_or_fail(
868
+ "POST",
869
+ f"/api/v1/clusters/{id_}/properties/unix-users",
870
+ data=request.dict(exclude_unset=True),
871
+ query_parameters={},
872
+ )
873
+
874
+ return DtoResponse.from_response(
875
+ local_response, models.ClusterUnixUsersPropertiesResource
876
+ )
877
+
878
+ def list_borg_properties(
879
+ self,
880
+ *,
881
+ id_: int,
882
+ skip: Optional[int] = None,
883
+ limit: Optional[int] = None,
884
+ filter_: Optional[List[str]] = None,
885
+ sort: Optional[List[str]] = None,
886
+ ) -> DtoResponse[list[models.ClusterBorgPropertiesResource]]:
887
+ local_response = self.api_connector.send_or_fail(
888
+ "GET",
889
+ f"/api/v1/clusters/{id_}/properties/borg",
890
+ data=None,
891
+ query_parameters={
892
+ "skip": skip,
893
+ "limit": limit,
894
+ "filter": filter_,
895
+ "sort": sort,
896
+ },
897
+ )
898
+
899
+ return DtoResponse.from_response(
900
+ local_response, models.ClusterBorgPropertiesResource
901
+ )
902
+
903
+ def list_redis_properties(
904
+ self,
905
+ *,
906
+ id_: int,
907
+ skip: Optional[int] = None,
908
+ limit: Optional[int] = None,
909
+ filter_: Optional[List[str]] = None,
910
+ sort: Optional[List[str]] = None,
911
+ ) -> DtoResponse[list[models.ClusterRedisPropertiesResource]]:
912
+ local_response = self.api_connector.send_or_fail(
913
+ "GET",
914
+ f"/api/v1/clusters/{id_}/properties/redis",
915
+ data=None,
916
+ query_parameters={
917
+ "skip": skip,
918
+ "limit": limit,
919
+ "filter": filter_,
920
+ "sort": sort,
921
+ },
922
+ )
923
+
924
+ return DtoResponse.from_response(
925
+ local_response, models.ClusterRedisPropertiesResource
926
+ )
927
+
928
+ def list_elasticsearch_properties(
929
+ self,
930
+ *,
931
+ id_: int,
932
+ skip: Optional[int] = None,
933
+ limit: Optional[int] = None,
934
+ filter_: Optional[List[str]] = None,
935
+ sort: Optional[List[str]] = None,
936
+ ) -> DtoResponse[list[models.ClusterElasticsearchPropertiesResource]]:
937
+ local_response = self.api_connector.send_or_fail(
938
+ "GET",
939
+ f"/api/v1/clusters/{id_}/properties/elasticsearch",
940
+ data=None,
941
+ query_parameters={
942
+ "skip": skip,
943
+ "limit": limit,
944
+ "filter": filter_,
945
+ "sort": sort,
946
+ },
947
+ )
948
+
949
+ return DtoResponse.from_response(
950
+ local_response, models.ClusterElasticsearchPropertiesResource
951
+ )
952
+
953
+ def list_firewall_properties(
954
+ self,
955
+ *,
956
+ id_: int,
957
+ skip: Optional[int] = None,
958
+ limit: Optional[int] = None,
959
+ filter_: Optional[List[str]] = None,
960
+ sort: Optional[List[str]] = None,
961
+ ) -> DtoResponse[list[models.ClusterFirewallPropertiesResource]]:
962
+ local_response = self.api_connector.send_or_fail(
963
+ "GET",
964
+ f"/api/v1/clusters/{id_}/properties/firewall",
965
+ data=None,
966
+ query_parameters={
967
+ "skip": skip,
968
+ "limit": limit,
969
+ "filter": filter_,
970
+ "sort": sort,
971
+ },
972
+ )
973
+
974
+ return DtoResponse.from_response(
975
+ local_response, models.ClusterFirewallPropertiesResource
976
+ )
977
+
978
+ def list_grafana_properties(
979
+ self,
980
+ *,
981
+ id_: int,
982
+ skip: Optional[int] = None,
983
+ limit: Optional[int] = None,
984
+ filter_: Optional[List[str]] = None,
985
+ sort: Optional[List[str]] = None,
986
+ ) -> DtoResponse[list[models.ClusterGrafanaPropertiesResource]]:
987
+ local_response = self.api_connector.send_or_fail(
988
+ "GET",
989
+ f"/api/v1/clusters/{id_}/properties/grafana",
990
+ data=None,
991
+ query_parameters={
992
+ "skip": skip,
993
+ "limit": limit,
994
+ "filter": filter_,
995
+ "sort": sort,
996
+ },
997
+ )
998
+
999
+ return DtoResponse.from_response(
1000
+ local_response, models.ClusterGrafanaPropertiesResource
1001
+ )
1002
+
1003
+ def list_kernelcare_properties(
1004
+ self,
1005
+ *,
1006
+ id_: int,
1007
+ skip: Optional[int] = None,
1008
+ limit: Optional[int] = None,
1009
+ filter_: Optional[List[str]] = None,
1010
+ sort: Optional[List[str]] = None,
1011
+ ) -> DtoResponse[list[models.ClusterKernelcarePropertiesResource]]:
1012
+ local_response = self.api_connector.send_or_fail(
1013
+ "GET",
1014
+ f"/api/v1/clusters/{id_}/properties/kernelcare",
1015
+ data=None,
1016
+ query_parameters={
1017
+ "skip": skip,
1018
+ "limit": limit,
1019
+ "filter": filter_,
1020
+ "sort": sort,
1021
+ },
1022
+ )
1023
+
1024
+ return DtoResponse.from_response(
1025
+ local_response, models.ClusterKernelcarePropertiesResource
1026
+ )
1027
+
1028
+ def list_load_balancing_properties(
1029
+ self,
1030
+ *,
1031
+ id_: int,
1032
+ skip: Optional[int] = None,
1033
+ limit: Optional[int] = None,
1034
+ filter_: Optional[List[str]] = None,
1035
+ sort: Optional[List[str]] = None,
1036
+ ) -> DtoResponse[list[models.ClusterLoadBalancingPropertiesResource]]:
1037
+ local_response = self.api_connector.send_or_fail(
1038
+ "GET",
1039
+ f"/api/v1/clusters/{id_}/properties/load-balancing",
1040
+ data=None,
1041
+ query_parameters={
1042
+ "skip": skip,
1043
+ "limit": limit,
1044
+ "filter": filter_,
1045
+ "sort": sort,
1046
+ },
1047
+ )
1048
+
1049
+ return DtoResponse.from_response(
1050
+ local_response, models.ClusterLoadBalancingPropertiesResource
1051
+ )
1052
+
1053
+ def list_mariadb_properties(
1054
+ self,
1055
+ *,
1056
+ id_: int,
1057
+ skip: Optional[int] = None,
1058
+ limit: Optional[int] = None,
1059
+ filter_: Optional[List[str]] = None,
1060
+ sort: Optional[List[str]] = None,
1061
+ ) -> DtoResponse[list[models.ClusterMariadbPropertiesResource]]:
1062
+ local_response = self.api_connector.send_or_fail(
1063
+ "GET",
1064
+ f"/api/v1/clusters/{id_}/properties/mariadb",
1065
+ data=None,
1066
+ query_parameters={
1067
+ "skip": skip,
1068
+ "limit": limit,
1069
+ "filter": filter_,
1070
+ "sort": sort,
1071
+ },
1072
+ )
1073
+
1074
+ return DtoResponse.from_response(
1075
+ local_response, models.ClusterMariadbPropertiesResource
1076
+ )
1077
+
1078
+ def list_meilisearch_properties(
1079
+ self,
1080
+ *,
1081
+ id_: int,
1082
+ skip: Optional[int] = None,
1083
+ limit: Optional[int] = None,
1084
+ filter_: Optional[List[str]] = None,
1085
+ sort: Optional[List[str]] = None,
1086
+ ) -> DtoResponse[list[models.ClusterMeilisearchPropertiesResource]]:
1087
+ local_response = self.api_connector.send_or_fail(
1088
+ "GET",
1089
+ f"/api/v1/clusters/{id_}/properties/meilisearch",
1090
+ data=None,
1091
+ query_parameters={
1092
+ "skip": skip,
1093
+ "limit": limit,
1094
+ "filter": filter_,
1095
+ "sort": sort,
1096
+ },
1097
+ )
1098
+
1099
+ return DtoResponse.from_response(
1100
+ local_response, models.ClusterMeilisearchPropertiesResource
1101
+ )
1102
+
1103
+ def list_metabase_properties(
1104
+ self,
1105
+ *,
1106
+ id_: int,
1107
+ skip: Optional[int] = None,
1108
+ limit: Optional[int] = None,
1109
+ filter_: Optional[List[str]] = None,
1110
+ sort: Optional[List[str]] = None,
1111
+ ) -> DtoResponse[list[models.ClusterMetabasePropertiesResource]]:
1112
+ local_response = self.api_connector.send_or_fail(
1113
+ "GET",
1114
+ f"/api/v1/clusters/{id_}/properties/metabase",
1115
+ data=None,
1116
+ query_parameters={
1117
+ "skip": skip,
1118
+ "limit": limit,
1119
+ "filter": filter_,
1120
+ "sort": sort,
1121
+ },
1122
+ )
1123
+
1124
+ return DtoResponse.from_response(
1125
+ local_response, models.ClusterMetabasePropertiesResource
1126
+ )
1127
+
1128
+ def list_new_relic_properties(
1129
+ self,
1130
+ *,
1131
+ id_: int,
1132
+ skip: Optional[int] = None,
1133
+ limit: Optional[int] = None,
1134
+ filter_: Optional[List[str]] = None,
1135
+ sort: Optional[List[str]] = None,
1136
+ ) -> DtoResponse[list[models.ClusterNewRelicPropertiesResource]]:
1137
+ local_response = self.api_connector.send_or_fail(
1138
+ "GET",
1139
+ f"/api/v1/clusters/{id_}/properties/new-relic",
1140
+ data=None,
1141
+ query_parameters={
1142
+ "skip": skip,
1143
+ "limit": limit,
1144
+ "filter": filter_,
1145
+ "sort": sort,
1146
+ },
1147
+ )
1148
+
1149
+ return DtoResponse.from_response(
1150
+ local_response, models.ClusterNewRelicPropertiesResource
1151
+ )
1152
+
1153
+ def list_nodejs_properties(
1154
+ self,
1155
+ *,
1156
+ id_: int,
1157
+ skip: Optional[int] = None,
1158
+ limit: Optional[int] = None,
1159
+ filter_: Optional[List[str]] = None,
1160
+ sort: Optional[List[str]] = None,
1161
+ ) -> DtoResponse[list[models.ClusterNodejsPropertiesResource]]:
1162
+ local_response = self.api_connector.send_or_fail(
1163
+ "GET",
1164
+ f"/api/v1/clusters/{id_}/properties/nodejs",
1165
+ data=None,
1166
+ query_parameters={
1167
+ "skip": skip,
1168
+ "limit": limit,
1169
+ "filter": filter_,
1170
+ "sort": sort,
1171
+ },
1172
+ )
1173
+
1174
+ return DtoResponse.from_response(
1175
+ local_response, models.ClusterNodejsPropertiesResource
1176
+ )
1177
+
1178
+ def list_os_properties(
1179
+ self,
1180
+ *,
1181
+ id_: int,
1182
+ skip: Optional[int] = None,
1183
+ limit: Optional[int] = None,
1184
+ filter_: Optional[List[str]] = None,
1185
+ sort: Optional[List[str]] = None,
1186
+ ) -> DtoResponse[list[models.ClusterOsPropertiesResource]]:
1187
+ local_response = self.api_connector.send_or_fail(
1188
+ "GET",
1189
+ f"/api/v1/clusters/{id_}/properties/os",
1190
+ data=None,
1191
+ query_parameters={
1192
+ "skip": skip,
1193
+ "limit": limit,
1194
+ "filter": filter_,
1195
+ "sort": sort,
1196
+ },
1197
+ )
1198
+
1199
+ return DtoResponse.from_response(
1200
+ local_response, models.ClusterOsPropertiesResource
1201
+ )
1202
+
1203
+ def list_php_properties(
1204
+ self,
1205
+ *,
1206
+ id_: int,
1207
+ skip: Optional[int] = None,
1208
+ limit: Optional[int] = None,
1209
+ filter_: Optional[List[str]] = None,
1210
+ sort: Optional[List[str]] = None,
1211
+ ) -> DtoResponse[list[models.ClusterPhpPropertiesResource]]:
1212
+ local_response = self.api_connector.send_or_fail(
1213
+ "GET",
1214
+ f"/api/v1/clusters/{id_}/properties/php",
1215
+ data=None,
1216
+ query_parameters={
1217
+ "skip": skip,
1218
+ "limit": limit,
1219
+ "filter": filter_,
1220
+ "sort": sort,
1221
+ },
1222
+ )
1223
+
1224
+ return DtoResponse.from_response(
1225
+ local_response, models.ClusterPhpPropertiesResource
1226
+ )
1227
+
1228
+ def list_postgresql_properties(
1229
+ self,
1230
+ *,
1231
+ id_: int,
1232
+ skip: Optional[int] = None,
1233
+ limit: Optional[int] = None,
1234
+ filter_: Optional[List[str]] = None,
1235
+ sort: Optional[List[str]] = None,
1236
+ ) -> DtoResponse[list[models.ClusterPostgresqlPropertiesResource]]:
1237
+ local_response = self.api_connector.send_or_fail(
1238
+ "GET",
1239
+ f"/api/v1/clusters/{id_}/properties/postgresql",
1240
+ data=None,
1241
+ query_parameters={
1242
+ "skip": skip,
1243
+ "limit": limit,
1244
+ "filter": filter_,
1245
+ "sort": sort,
1246
+ },
1247
+ )
1248
+
1249
+ return DtoResponse.from_response(
1250
+ local_response, models.ClusterPostgresqlPropertiesResource
1251
+ )
1252
+
1253
+ def list_rabbitmq_properties(
1254
+ self,
1255
+ *,
1256
+ id_: int,
1257
+ skip: Optional[int] = None,
1258
+ limit: Optional[int] = None,
1259
+ filter_: Optional[List[str]] = None,
1260
+ sort: Optional[List[str]] = None,
1261
+ ) -> DtoResponse[list[models.ClusterRabbitmqPropertiesResource]]:
1262
+ local_response = self.api_connector.send_or_fail(
1263
+ "GET",
1264
+ f"/api/v1/clusters/{id_}/properties/rabbitmq",
1265
+ data=None,
1266
+ query_parameters={
1267
+ "skip": skip,
1268
+ "limit": limit,
1269
+ "filter": filter_,
1270
+ "sort": sort,
1271
+ },
1272
+ )
1273
+
1274
+ return DtoResponse.from_response(
1275
+ local_response, models.ClusterRabbitmqPropertiesResource
1276
+ )
1277
+
1278
+ def list_singlestore_properties(
1279
+ self,
1280
+ *,
1281
+ id_: int,
1282
+ skip: Optional[int] = None,
1283
+ limit: Optional[int] = None,
1284
+ filter_: Optional[List[str]] = None,
1285
+ sort: Optional[List[str]] = None,
1286
+ ) -> DtoResponse[list[models.ClusterSinglestorePropertiesResource]]:
1287
+ local_response = self.api_connector.send_or_fail(
1288
+ "GET",
1289
+ f"/api/v1/clusters/{id_}/properties/singlestore",
1290
+ data=None,
1291
+ query_parameters={
1292
+ "skip": skip,
1293
+ "limit": limit,
1294
+ "filter": filter_,
1295
+ "sort": sort,
1296
+ },
1297
+ )
1298
+
1299
+ return DtoResponse.from_response(
1300
+ local_response, models.ClusterSinglestorePropertiesResource
1301
+ )
1302
+
1303
+ def list_unix_users_properties(
1304
+ self,
1305
+ *,
1306
+ id_: int,
1307
+ skip: Optional[int] = None,
1308
+ limit: Optional[int] = None,
1309
+ filter_: Optional[List[str]] = None,
1310
+ sort: Optional[List[str]] = None,
1311
+ ) -> DtoResponse[list[models.ClusterUnixUsersPropertiesResource]]:
1312
+ local_response = self.api_connector.send_or_fail(
1313
+ "GET",
1314
+ f"/api/v1/clusters/{id_}/properties/unix-users",
1315
+ data=None,
1316
+ query_parameters={
1317
+ "skip": skip,
1318
+ "limit": limit,
1319
+ "filter": filter_,
1320
+ "sort": sort,
1321
+ },
1322
+ )
1323
+
1324
+ return DtoResponse.from_response(
1325
+ local_response, models.ClusterUnixUsersPropertiesResource
1326
+ )
1327
+
1328
+ def update_borg_properties(
1329
+ self,
1330
+ request: models.ClusterBorgPropertiesUpdateRequest,
1331
+ *,
1332
+ id_: int,
1333
+ ) -> DtoResponse[models.ClusterBorgPropertiesResource]:
1334
+ local_response = self.api_connector.send_or_fail(
1335
+ "PATCH",
1336
+ f"/api/v1/clusters/{id_}/properties/borg",
1337
+ data=request.dict(exclude_unset=True),
1338
+ query_parameters={},
1339
+ )
1340
+
1341
+ return DtoResponse.from_response(
1342
+ local_response, models.ClusterBorgPropertiesResource
1343
+ )
1344
+
1345
+ def update_elasticsearch_properties(
1346
+ self,
1347
+ request: models.ClusterElasticsearchPropertiesUpdateRequest,
1348
+ *,
1349
+ id_: int,
1350
+ ) -> DtoResponse[models.ClusterElasticsearchPropertiesResource]:
1351
+ local_response = self.api_connector.send_or_fail(
1352
+ "PATCH",
1353
+ f"/api/v1/clusters/{id_}/properties/elasticsearch",
1354
+ data=request.dict(exclude_unset=True),
1355
+ query_parameters={},
1356
+ )
1357
+
1358
+ return DtoResponse.from_response(
1359
+ local_response, models.ClusterElasticsearchPropertiesResource
1360
+ )
1361
+
1362
+ def update_firewall_properties(
1363
+ self,
1364
+ request: models.ClusterFirewallPropertiesUpdateRequest,
1365
+ *,
1366
+ id_: int,
1367
+ ) -> DtoResponse[models.ClusterFirewallPropertiesResource]:
1368
+ local_response = self.api_connector.send_or_fail(
1369
+ "PATCH",
1370
+ f"/api/v1/clusters/{id_}/properties/firewall",
1371
+ data=request.dict(exclude_unset=True),
1372
+ query_parameters={},
1373
+ )
1374
+
1375
+ return DtoResponse.from_response(
1376
+ local_response, models.ClusterFirewallPropertiesResource
1377
+ )
1378
+
1379
+ def update_grafana_properties(
1380
+ self,
1381
+ request: models.ClusterGrafanaPropertiesUpdateRequest,
1382
+ *,
1383
+ id_: int,
1384
+ ) -> DtoResponse[models.ClusterGrafanaPropertiesResource]:
1385
+ local_response = self.api_connector.send_or_fail(
1386
+ "PATCH",
1387
+ f"/api/v1/clusters/{id_}/properties/grafana",
1388
+ data=request.dict(exclude_unset=True),
1389
+ query_parameters={},
1390
+ )
1391
+
1392
+ return DtoResponse.from_response(
1393
+ local_response, models.ClusterGrafanaPropertiesResource
1394
+ )
1395
+
1396
+ def update_kernelcare_properties(
1397
+ self,
1398
+ request: models.ClusterKernelcarePropertiesUpdateRequest,
1399
+ *,
1400
+ id_: int,
1401
+ ) -> DtoResponse[models.ClusterKernelcarePropertiesResource]:
1402
+ local_response = self.api_connector.send_or_fail(
1403
+ "PATCH",
1404
+ f"/api/v1/clusters/{id_}/properties/kernelcare",
1405
+ data=request.dict(exclude_unset=True),
1406
+ query_parameters={},
1407
+ )
1408
+
1409
+ return DtoResponse.from_response(
1410
+ local_response, models.ClusterKernelcarePropertiesResource
1411
+ )
1412
+
1413
+ def update_load_balancing_properties(
1414
+ self,
1415
+ request: models.ClusterLoadBalancingPropertiesUpdateRequest,
1416
+ *,
1417
+ id_: int,
1418
+ ) -> DtoResponse[models.ClusterLoadBalancingPropertiesResource]:
1419
+ local_response = self.api_connector.send_or_fail(
1420
+ "PATCH",
1421
+ f"/api/v1/clusters/{id_}/properties/load-balancing",
1422
+ data=request.dict(exclude_unset=True),
1423
+ query_parameters={},
1424
+ )
1425
+
1426
+ return DtoResponse.from_response(
1427
+ local_response, models.ClusterLoadBalancingPropertiesResource
1428
+ )
1429
+
1430
+ def update_mariadb_properties(
1431
+ self,
1432
+ request: models.ClusterMariadbPropertiesUpdateRequest,
1433
+ *,
1434
+ id_: int,
1435
+ ) -> DtoResponse[models.ClusterMariadbPropertiesResource]:
1436
+ local_response = self.api_connector.send_or_fail(
1437
+ "PATCH",
1438
+ f"/api/v1/clusters/{id_}/properties/mariadb",
1439
+ data=request.dict(exclude_unset=True),
1440
+ query_parameters={},
1441
+ )
1442
+
1443
+ return DtoResponse.from_response(
1444
+ local_response, models.ClusterMariadbPropertiesResource
1445
+ )
1446
+
1447
+ def update_meilisearch_properties(
1448
+ self,
1449
+ request: models.ClusterMeilisearchPropertiesUpdateRequest,
1450
+ *,
1451
+ id_: int,
1452
+ ) -> DtoResponse[models.ClusterMeilisearchPropertiesResource]:
1453
+ local_response = self.api_connector.send_or_fail(
1454
+ "PATCH",
1455
+ f"/api/v1/clusters/{id_}/properties/meilisearch",
1456
+ data=request.dict(exclude_unset=True),
1457
+ query_parameters={},
1458
+ )
1459
+
1460
+ return DtoResponse.from_response(
1461
+ local_response, models.ClusterMeilisearchPropertiesResource
1462
+ )
1463
+
1464
+ def update_metabase_properties(
1465
+ self,
1466
+ request: models.ClusterMetabasePropertiesUpdateRequest,
1467
+ *,
1468
+ id_: int,
1469
+ ) -> DtoResponse[models.ClusterMetabasePropertiesResource]:
1470
+ local_response = self.api_connector.send_or_fail(
1471
+ "PATCH",
1472
+ f"/api/v1/clusters/{id_}/properties/metabase",
1473
+ data=request.dict(exclude_unset=True),
1474
+ query_parameters={},
1475
+ )
1476
+
1477
+ return DtoResponse.from_response(
1478
+ local_response, models.ClusterMetabasePropertiesResource
1479
+ )
1480
+
1481
+ def update_new_relic_properties(
1482
+ self,
1483
+ request: models.ClusterNewRelicPropertiesUpdateRequest,
1484
+ *,
1485
+ id_: int,
1486
+ ) -> DtoResponse[models.ClusterNewRelicPropertiesResource]:
1487
+ local_response = self.api_connector.send_or_fail(
1488
+ "PATCH",
1489
+ f"/api/v1/clusters/{id_}/properties/new-relic",
1490
+ data=request.dict(exclude_unset=True),
1491
+ query_parameters={},
1492
+ )
1493
+
1494
+ return DtoResponse.from_response(
1495
+ local_response, models.ClusterNewRelicPropertiesResource
1496
+ )
1497
+
1498
+ def update_nodejs_properties(
1499
+ self,
1500
+ request: models.ClusterNodejsPropertiesUpdateRequest,
1501
+ *,
1502
+ id_: int,
1503
+ ) -> DtoResponse[models.ClusterNodejsPropertiesResource]:
1504
+ local_response = self.api_connector.send_or_fail(
1505
+ "PATCH",
1506
+ f"/api/v1/clusters/{id_}/properties/nodejs",
1507
+ data=request.dict(exclude_unset=True),
1508
+ query_parameters={},
1509
+ )
1510
+
1511
+ return DtoResponse.from_response(
1512
+ local_response, models.ClusterNodejsPropertiesResource
1513
+ )
1514
+
1515
+ def update_os_properties(
1516
+ self,
1517
+ request: models.ClusterOsPropertiesUpdateRequest,
1518
+ *,
1519
+ id_: int,
1520
+ ) -> DtoResponse[models.ClusterOsPropertiesResource]:
1521
+ local_response = self.api_connector.send_or_fail(
1522
+ "PATCH",
1523
+ f"/api/v1/clusters/{id_}/properties/os",
1524
+ data=request.dict(exclude_unset=True),
1525
+ query_parameters={},
1526
+ )
1527
+
1528
+ return DtoResponse.from_response(
1529
+ local_response, models.ClusterOsPropertiesResource
1530
+ )
1531
+
1532
+ def update_php_properties(
1533
+ self,
1534
+ request: models.ClusterPhpPropertiesUpdateRequest,
1535
+ *,
1536
+ id_: int,
1537
+ ) -> DtoResponse[models.ClusterPhpPropertiesResource]:
1538
+ local_response = self.api_connector.send_or_fail(
1539
+ "PATCH",
1540
+ f"/api/v1/clusters/{id_}/properties/php",
1541
+ data=request.dict(exclude_unset=True),
1542
+ query_parameters={},
1543
+ )
1544
+
1545
+ return DtoResponse.from_response(
1546
+ local_response, models.ClusterPhpPropertiesResource
1547
+ )
1548
+
1549
+ def update_postgresql_properties(
1550
+ self,
1551
+ request: models.ClusterPostgresqlPropertiesUpdateRequest,
1552
+ *,
1553
+ id_: int,
1554
+ ) -> DtoResponse[models.ClusterPostgresqlPropertiesResource]:
1555
+ local_response = self.api_connector.send_or_fail(
1556
+ "PATCH",
1557
+ f"/api/v1/clusters/{id_}/properties/postgresql",
1558
+ data=request.dict(exclude_unset=True),
1559
+ query_parameters={},
1560
+ )
1561
+
1562
+ return DtoResponse.from_response(
1563
+ local_response, models.ClusterPostgresqlPropertiesResource
1564
+ )
1565
+
1566
+ def update_rabbitmq_properties(
1567
+ self,
1568
+ request: models.ClusterRabbitmqPropertiesUpdateRequest,
1569
+ *,
1570
+ id_: int,
1571
+ ) -> DtoResponse[models.ClusterRabbitmqPropertiesResource]:
1572
+ local_response = self.api_connector.send_or_fail(
1573
+ "PATCH",
1574
+ f"/api/v1/clusters/{id_}/properties/rabbitmq",
1575
+ data=request.dict(exclude_unset=True),
1576
+ query_parameters={},
1577
+ )
1578
+
1579
+ return DtoResponse.from_response(
1580
+ local_response, models.ClusterRabbitmqPropertiesResource
1581
+ )