python3-core-api-client 7.0__py3-none-any.whl → 8.1__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.
- cyberfusion/CoreApiClient/connector.py +12 -0
- cyberfusion/CoreApiClient/models.py +413 -55
- cyberfusion/CoreApiClient/resources/__init__.py +6 -0
- cyberfusion/CoreApiClient/resources/available_versions.py +51 -0
- cyberfusion/CoreApiClient/resources/carbon_txts.py +83 -0
- cyberfusion/CoreApiClient/resources/clusters.py +108 -38
- cyberfusion/CoreApiClient/resources/cmses.py +92 -0
- cyberfusion/CoreApiClient/resources/customers.py +2 -2
- cyberfusion/CoreApiClient/resources/daemons.py +20 -0
- cyberfusion/CoreApiClient/resources/database_users.py +22 -0
- cyberfusion/CoreApiClient/resources/node_add_ons.py +2 -2
- cyberfusion/CoreApiClient/resources/nodes.py +2 -2
- cyberfusion/CoreApiClient/resources/standards_scans.py +56 -0
- {python3_core_api_client-7.0.dist-info → python3_core_api_client-8.1.dist-info}/METADATA +2 -2
- {python3_core_api_client-7.0.dist-info → python3_core_api_client-8.1.dist-info}/RECORD +17 -14
- {python3_core_api_client-7.0.dist-info → python3_core_api_client-8.1.dist-info}/WHEEL +1 -1
- {python3_core_api_client-7.0.dist-info → python3_core_api_client-8.1.dist-info}/top_level.txt +0 -0
|
@@ -39,6 +39,7 @@ from . import (
|
|
|
39
39
|
hosts_entries,
|
|
40
40
|
database_users,
|
|
41
41
|
security_txt_policies,
|
|
42
|
+
carbon_txts,
|
|
42
43
|
customers,
|
|
43
44
|
basic_authentication_realms,
|
|
44
45
|
root_ssh_keys,
|
|
@@ -46,9 +47,12 @@ from . import (
|
|
|
46
47
|
mail_accounts,
|
|
47
48
|
fpm_pools,
|
|
48
49
|
mail_domains,
|
|
50
|
+
standards_scans,
|
|
51
|
+
available_versions,
|
|
49
52
|
)
|
|
50
53
|
|
|
51
54
|
__all__ = [
|
|
55
|
+
"available_versions",
|
|
52
56
|
"basic_authentication_realms",
|
|
53
57
|
"borg_archives",
|
|
54
58
|
"borg_repositories",
|
|
@@ -88,8 +92,10 @@ __all__ = [
|
|
|
88
92
|
"n8n_instances",
|
|
89
93
|
"root_ssh_keys",
|
|
90
94
|
"security_txt_policies",
|
|
95
|
+
"carbon_txts",
|
|
91
96
|
"regions",
|
|
92
97
|
"ssh_keys",
|
|
98
|
+
"standards_scans",
|
|
93
99
|
"task_collections",
|
|
94
100
|
"unix_users",
|
|
95
101
|
"url_redirects",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
|
2
|
+
|
|
3
|
+
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
4
|
+
from cyberfusion.CoreApiClient.http import DtoResponse
|
|
5
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AvailableVersions(Resource):
|
|
9
|
+
def list_available_nodejs_versions(
|
|
10
|
+
self,
|
|
11
|
+
*,
|
|
12
|
+
includes: list[str] | None = None,
|
|
13
|
+
) -> DtoResponse[list[models.NodejsVersionResource]]:
|
|
14
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
15
|
+
"GET",
|
|
16
|
+
"/api/v1/available-versions/nodejs",
|
|
17
|
+
data=None,
|
|
18
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
return DtoResponse.from_responses(local_responses, models.NodejsVersionResource)
|
|
22
|
+
|
|
23
|
+
def list_available_php_versions(
|
|
24
|
+
self,
|
|
25
|
+
*,
|
|
26
|
+
includes: list[str] | None = None,
|
|
27
|
+
) -> DtoResponse[list[models.PhpVersionResource]]:
|
|
28
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
29
|
+
"GET",
|
|
30
|
+
"/api/v1/available-versions/php",
|
|
31
|
+
data=None,
|
|
32
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
return DtoResponse.from_responses(local_responses, models.PhpVersionResource)
|
|
36
|
+
|
|
37
|
+
def list_available_wordpress_versions(
|
|
38
|
+
self,
|
|
39
|
+
*,
|
|
40
|
+
includes: list[str] | None = None,
|
|
41
|
+
) -> DtoResponse[list[models.WordpressVersionResource]]:
|
|
42
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
43
|
+
"GET",
|
|
44
|
+
"/api/v1/available-versions/wordpress",
|
|
45
|
+
data=None,
|
|
46
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return DtoResponse.from_responses(
|
|
50
|
+
local_responses, models.WordpressVersionResource
|
|
51
|
+
)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
|
2
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
|
3
|
+
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
4
|
+
from cyberfusion.CoreApiClient.http import DtoResponse
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CarbonTxts(Resource):
|
|
8
|
+
def create_carbon_txt_policy(
|
|
9
|
+
self,
|
|
10
|
+
request: models.CarbonTxtCreateRequest,
|
|
11
|
+
) -> DtoResponse[models.CarbonTxtResource]:
|
|
12
|
+
local_response = self.api_connector.send_or_fail(
|
|
13
|
+
"POST",
|
|
14
|
+
"/api/v1/carbon-txts",
|
|
15
|
+
data=request.model_dump(exclude_unset=True),
|
|
16
|
+
query_parameters={},
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
|
|
20
|
+
|
|
21
|
+
def list_carbon_txt_policies(
|
|
22
|
+
self,
|
|
23
|
+
*,
|
|
24
|
+
include_filters: models.CarbonTxtsSearchRequest | None = None,
|
|
25
|
+
includes: list[str] | None = None,
|
|
26
|
+
) -> DtoResponse[list[models.CarbonTxtResource]]:
|
|
27
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
28
|
+
"GET",
|
|
29
|
+
"/api/v1/carbon-txts",
|
|
30
|
+
data=None,
|
|
31
|
+
query_parameters=(
|
|
32
|
+
include_filters.model_dump(exclude_unset=True)
|
|
33
|
+
if include_filters
|
|
34
|
+
else {}
|
|
35
|
+
)
|
|
36
|
+
| construct_includes_query_parameter(includes),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
return DtoResponse.from_responses(local_responses, models.CarbonTxtResource)
|
|
40
|
+
|
|
41
|
+
def read_carbon_txt_policy(
|
|
42
|
+
self,
|
|
43
|
+
*,
|
|
44
|
+
id_: int,
|
|
45
|
+
includes: list[str] | None = None,
|
|
46
|
+
) -> DtoResponse[models.CarbonTxtResource]:
|
|
47
|
+
local_response = self.api_connector.send_or_fail(
|
|
48
|
+
"GET",
|
|
49
|
+
f"/api/v1/carbon-txts/{id_}",
|
|
50
|
+
data=None,
|
|
51
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
|
|
55
|
+
|
|
56
|
+
def update_carbon_txt_policy(
|
|
57
|
+
self,
|
|
58
|
+
request: models.CarbonTxtUpdateRequest,
|
|
59
|
+
*,
|
|
60
|
+
id_: int,
|
|
61
|
+
) -> DtoResponse[models.CarbonTxtResource]:
|
|
62
|
+
local_response = self.api_connector.send_or_fail(
|
|
63
|
+
"PATCH",
|
|
64
|
+
f"/api/v1/carbon-txts/{id_}",
|
|
65
|
+
data=request.model_dump(exclude_unset=True),
|
|
66
|
+
query_parameters={},
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
return DtoResponse.from_responses(local_response, models.CarbonTxtResource)
|
|
70
|
+
|
|
71
|
+
def delete_carbon_txt_policy(
|
|
72
|
+
self,
|
|
73
|
+
*,
|
|
74
|
+
id_: int,
|
|
75
|
+
) -> DtoResponse[models.DetailMessage]:
|
|
76
|
+
local_response = self.api_connector.send_or_fail(
|
|
77
|
+
"DELETE",
|
|
78
|
+
f"/api/v1/carbon-txts/{id_}",
|
|
79
|
+
data=None,
|
|
80
|
+
query_parameters={},
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
return DtoResponse.from_responses(local_response, models.DetailMessage)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from cyberfusion.CoreApiClient import models
|
|
2
|
+
from datetime import datetime
|
|
2
3
|
from typing import Optional
|
|
3
4
|
|
|
4
5
|
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
@@ -138,45 +139,9 @@ class Clusters(Resource):
|
|
|
138
139
|
|
|
139
140
|
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
140
141
|
|
|
141
|
-
def enable_l3_ddos_protection_for_ip_address(
|
|
142
|
-
self,
|
|
143
|
-
*,
|
|
144
|
-
id_: int,
|
|
145
|
-
ip_address: str,
|
|
146
|
-
callback_url: Optional[str] = None,
|
|
147
|
-
) -> DtoResponse[models.TaskCollectionResource]:
|
|
148
|
-
local_response = self.api_connector.send_or_fail(
|
|
149
|
-
"POST",
|
|
150
|
-
f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
|
|
151
|
-
data=None,
|
|
152
|
-
query_parameters={
|
|
153
|
-
"callback_url": callback_url,
|
|
154
|
-
},
|
|
155
|
-
)
|
|
156
|
-
|
|
157
|
-
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
158
|
-
|
|
159
|
-
def disable_l3_ddos_protection_for_ip_address(
|
|
160
|
-
self,
|
|
161
|
-
*,
|
|
162
|
-
id_: int,
|
|
163
|
-
ip_address: str,
|
|
164
|
-
callback_url: Optional[str] = None,
|
|
165
|
-
) -> DtoResponse[models.TaskCollectionResource]:
|
|
166
|
-
local_response = self.api_connector.send_or_fail(
|
|
167
|
-
"DELETE",
|
|
168
|
-
f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
|
|
169
|
-
data=None,
|
|
170
|
-
query_parameters={
|
|
171
|
-
"callback_url": callback_url,
|
|
172
|
-
},
|
|
173
|
-
)
|
|
174
|
-
|
|
175
|
-
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
176
|
-
|
|
177
142
|
def get_ip_addresses_products_for_clusters(
|
|
178
143
|
self,
|
|
179
|
-
) -> DtoResponse[list[models.
|
|
144
|
+
) -> DtoResponse[list[models.ProductResource]]:
|
|
180
145
|
local_response = self.api_connector.send_or_fail(
|
|
181
146
|
"GET",
|
|
182
147
|
"/api/v1/clusters/ip-addresses/products",
|
|
@@ -184,7 +149,7 @@ class Clusters(Resource):
|
|
|
184
149
|
query_parameters={},
|
|
185
150
|
)
|
|
186
151
|
|
|
187
|
-
return DtoResponse.from_responses(local_response, models.
|
|
152
|
+
return DtoResponse.from_responses(local_response, models.ProductResource)
|
|
188
153
|
|
|
189
154
|
def list_unix_users_home_directory_usages(
|
|
190
155
|
self,
|
|
@@ -517,6 +482,20 @@ class Clusters(Resource):
|
|
|
517
482
|
local_response, models.ClusterUnixUsersPropertiesResource
|
|
518
483
|
)
|
|
519
484
|
|
|
485
|
+
def read_webhook_properties(
|
|
486
|
+
self, *, id_: int, includes: list[str] | None = None
|
|
487
|
+
) -> DtoResponse[models.ClusterWebhookPropertiesResource]:
|
|
488
|
+
local_response = self.api_connector.send_or_fail(
|
|
489
|
+
"GET",
|
|
490
|
+
f"/api/v1/clusters/{id_}/properties/webhook",
|
|
491
|
+
data=None,
|
|
492
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
493
|
+
)
|
|
494
|
+
|
|
495
|
+
return DtoResponse.from_responses(
|
|
496
|
+
local_response, models.ClusterWebhookPropertiesResource
|
|
497
|
+
)
|
|
498
|
+
|
|
520
499
|
def create_borg_properties(
|
|
521
500
|
self,
|
|
522
501
|
request: models.ClusterBorgPropertiesCreateRequest,
|
|
@@ -1189,6 +1168,28 @@ class Clusters(Resource):
|
|
|
1189
1168
|
local_responses, models.ClusterUnixUsersPropertiesResource
|
|
1190
1169
|
)
|
|
1191
1170
|
|
|
1171
|
+
def list_webhook_properties(
|
|
1172
|
+
self,
|
|
1173
|
+
*,
|
|
1174
|
+
include_filters: models.ClustersWebhookPropertiesSearchRequest | None = None,
|
|
1175
|
+
includes: list[str] | None = None,
|
|
1176
|
+
) -> DtoResponse[list[models.ClusterWebhookPropertiesResource]]:
|
|
1177
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
1178
|
+
"GET",
|
|
1179
|
+
"/api/v1/clusters/properties/webhook",
|
|
1180
|
+
data=None,
|
|
1181
|
+
query_parameters=(
|
|
1182
|
+
include_filters.model_dump(exclude_unset=True)
|
|
1183
|
+
if include_filters
|
|
1184
|
+
else {}
|
|
1185
|
+
)
|
|
1186
|
+
| construct_includes_query_parameter(includes),
|
|
1187
|
+
)
|
|
1188
|
+
|
|
1189
|
+
return DtoResponse.from_responses(
|
|
1190
|
+
local_responses, models.ClusterWebhookPropertiesResource
|
|
1191
|
+
)
|
|
1192
|
+
|
|
1192
1193
|
def update_borg_properties(
|
|
1193
1194
|
self,
|
|
1194
1195
|
request: models.ClusterBorgPropertiesUpdateRequest,
|
|
@@ -1478,6 +1479,75 @@ class Clusters(Resource):
|
|
|
1478
1479
|
local_response, models.ClusterRabbitmqPropertiesResource
|
|
1479
1480
|
)
|
|
1480
1481
|
|
|
1482
|
+
def update_webhook_properties(
|
|
1483
|
+
self,
|
|
1484
|
+
request: models.ClusterWebhookPropertiesUpdateRequest,
|
|
1485
|
+
*,
|
|
1486
|
+
id_: int,
|
|
1487
|
+
) -> DtoResponse[models.ClusterWebhookPropertiesResource]:
|
|
1488
|
+
local_response = self.api_connector.send_or_fail(
|
|
1489
|
+
"PATCH",
|
|
1490
|
+
f"/api/v1/clusters/{id_}/properties/webhook",
|
|
1491
|
+
data=request.model_dump(exclude_unset=True),
|
|
1492
|
+
query_parameters={},
|
|
1493
|
+
)
|
|
1494
|
+
|
|
1495
|
+
return DtoResponse.from_responses(
|
|
1496
|
+
local_response, models.ClusterWebhookPropertiesResource
|
|
1497
|
+
)
|
|
1498
|
+
|
|
1499
|
+
def read_current_deployment_task_collection(
|
|
1500
|
+
self, *, id_: int, includes: list[str] | None = None
|
|
1501
|
+
) -> DtoResponse[models.TaskCollectionResource]:
|
|
1502
|
+
local_response = self.api_connector.send_or_fail(
|
|
1503
|
+
"GET",
|
|
1504
|
+
f"/api/v1/clusters/{id_}/deployments/current/task-collection",
|
|
1505
|
+
data=None,
|
|
1506
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
1507
|
+
)
|
|
1508
|
+
|
|
1509
|
+
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
1510
|
+
|
|
1511
|
+
def read_daemons_metrics_experimental(
|
|
1512
|
+
self,
|
|
1513
|
+
*,
|
|
1514
|
+
id_: int,
|
|
1515
|
+
start_timestamp: datetime,
|
|
1516
|
+
end_timestamp: datetime,
|
|
1517
|
+
) -> DtoResponse[models.DaemonsMetricsResource]:
|
|
1518
|
+
local_response = self.api_connector.send_or_fail(
|
|
1519
|
+
"GET",
|
|
1520
|
+
f"/api/v1/clusters/{id_}/metrics/daemons",
|
|
1521
|
+
data=None,
|
|
1522
|
+
query_parameters={
|
|
1523
|
+
"start_timestamp": start_timestamp,
|
|
1524
|
+
"end_timestamp": end_timestamp,
|
|
1525
|
+
},
|
|
1526
|
+
)
|
|
1527
|
+
|
|
1528
|
+
return DtoResponse.from_responses(local_response, models.DaemonsMetricsResource)
|
|
1529
|
+
|
|
1530
|
+
def read_database_users_metrics_experimental(
|
|
1531
|
+
self,
|
|
1532
|
+
*,
|
|
1533
|
+
id_: int,
|
|
1534
|
+
start_timestamp: datetime,
|
|
1535
|
+
end_timestamp: datetime,
|
|
1536
|
+
) -> DtoResponse[models.DatabaseUsersMetricsResource]:
|
|
1537
|
+
local_response = self.api_connector.send_or_fail(
|
|
1538
|
+
"GET",
|
|
1539
|
+
f"/api/v1/clusters/{id_}/metrics/database-users",
|
|
1540
|
+
data=None,
|
|
1541
|
+
query_parameters={
|
|
1542
|
+
"start_timestamp": start_timestamp,
|
|
1543
|
+
"end_timestamp": end_timestamp,
|
|
1544
|
+
},
|
|
1545
|
+
)
|
|
1546
|
+
|
|
1547
|
+
return DtoResponse.from_responses(
|
|
1548
|
+
local_response, models.DatabaseUsersMetricsResource
|
|
1549
|
+
)
|
|
1550
|
+
|
|
1481
1551
|
def generate_innodb_report(
|
|
1482
1552
|
self,
|
|
1483
1553
|
*,
|
|
@@ -294,3 +294,95 @@ class Cmses(Resource):
|
|
|
294
294
|
)
|
|
295
295
|
|
|
296
296
|
return DtoResponse.from_responses(local_response, models.DetailMessage)
|
|
297
|
+
|
|
298
|
+
def configure_redis(
|
|
299
|
+
self,
|
|
300
|
+
request: models.CmsConfigureRedisRequest,
|
|
301
|
+
*,
|
|
302
|
+
id_: int,
|
|
303
|
+
callback_url: Optional[str] = None,
|
|
304
|
+
) -> DtoResponse[models.TaskCollectionResource]:
|
|
305
|
+
local_response = self.api_connector.send_or_fail(
|
|
306
|
+
"POST",
|
|
307
|
+
f"/api/v1/cmses/{id_}/configure/redis",
|
|
308
|
+
data=request.model_dump(exclude_unset=True),
|
|
309
|
+
query_parameters={
|
|
310
|
+
"callback_url": callback_url,
|
|
311
|
+
},
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
315
|
+
|
|
316
|
+
def auto_install_wordpress(
|
|
317
|
+
self,
|
|
318
|
+
request: models.CmsAutoInstallWordpressRequest,
|
|
319
|
+
*,
|
|
320
|
+
id_: int,
|
|
321
|
+
callback_url: Optional[str] = None,
|
|
322
|
+
) -> DtoResponse[models.TaskCollectionResource]:
|
|
323
|
+
local_response = self.api_connector.send_or_fail(
|
|
324
|
+
"POST",
|
|
325
|
+
f"/api/v1/cmses/{id_}/install/wordpress/auto",
|
|
326
|
+
data=request.model_dump(exclude_unset=True),
|
|
327
|
+
query_parameters={
|
|
328
|
+
"callback_url": callback_url,
|
|
329
|
+
},
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
333
|
+
|
|
334
|
+
def get_recommended_cms_database_indexes(
|
|
335
|
+
self,
|
|
336
|
+
*,
|
|
337
|
+
id_: int,
|
|
338
|
+
) -> DtoResponse[list[models.CmsDatabaseIndex]]:
|
|
339
|
+
local_response = self.api_connector.send_or_fail(
|
|
340
|
+
"GET",
|
|
341
|
+
f"/api/v1/cmses/{id_}/database-indexes",
|
|
342
|
+
data=None,
|
|
343
|
+
query_parameters={},
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
return DtoResponse.from_responses(local_response, models.CmsDatabaseIndex)
|
|
347
|
+
|
|
348
|
+
def create_recommended_cms_database_indexes(
|
|
349
|
+
self,
|
|
350
|
+
*,
|
|
351
|
+
id_: int,
|
|
352
|
+
) -> DtoResponse[list[models.CmsDatabaseIndex]]:
|
|
353
|
+
local_response = self.api_connector.send_or_fail(
|
|
354
|
+
"POST",
|
|
355
|
+
f"/api/v1/cmses/{id_}/database-indexes",
|
|
356
|
+
data=None,
|
|
357
|
+
query_parameters={},
|
|
358
|
+
)
|
|
359
|
+
|
|
360
|
+
return DtoResponse.from_responses(local_response, models.CmsDatabaseIndex)
|
|
361
|
+
|
|
362
|
+
def get_cms_woocommerce_hpos(
|
|
363
|
+
self,
|
|
364
|
+
*,
|
|
365
|
+
id_: int,
|
|
366
|
+
) -> DtoResponse[models.CmsWoocommerceHpos]:
|
|
367
|
+
local_response = self.api_connector.send_or_fail(
|
|
368
|
+
"GET",
|
|
369
|
+
f"/api/v1/cmses/{id_}/hpos",
|
|
370
|
+
data=None,
|
|
371
|
+
query_parameters={},
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
return DtoResponse.from_responses(local_response, models.CmsWoocommerceHpos)
|
|
375
|
+
|
|
376
|
+
def generate_cms_one_time_login(
|
|
377
|
+
self,
|
|
378
|
+
*,
|
|
379
|
+
id_: int,
|
|
380
|
+
) -> DtoResponse[models.CmsOneTimeLogin]:
|
|
381
|
+
local_response = self.api_connector.send_or_fail(
|
|
382
|
+
"POST",
|
|
383
|
+
f"/api/v1/cmses/{id_}/one-time-login",
|
|
384
|
+
data=None,
|
|
385
|
+
query_parameters={},
|
|
386
|
+
)
|
|
387
|
+
|
|
388
|
+
return DtoResponse.from_responses(local_response, models.CmsOneTimeLogin)
|
|
@@ -94,7 +94,7 @@ class Customers(Resource):
|
|
|
94
94
|
|
|
95
95
|
def get_ip_addresses_products_for_customers(
|
|
96
96
|
self,
|
|
97
|
-
) -> DtoResponse[list[models.
|
|
97
|
+
) -> DtoResponse[list[models.ProductResource]]:
|
|
98
98
|
local_response = self.api_connector.send_or_fail(
|
|
99
99
|
"GET",
|
|
100
100
|
"/api/v1/customers/ip-addresses/products",
|
|
@@ -102,4 +102,4 @@ class Customers(Resource):
|
|
|
102
102
|
query_parameters={},
|
|
103
103
|
)
|
|
104
104
|
|
|
105
|
-
return DtoResponse.from_responses(local_response, models.
|
|
105
|
+
return DtoResponse.from_responses(local_response, models.ProductResource)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from cyberfusion.CoreApiClient import models
|
|
2
|
+
from datetime import datetime
|
|
2
3
|
from typing import Optional
|
|
3
4
|
|
|
4
5
|
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
@@ -98,6 +99,25 @@ class Daemons(Resource):
|
|
|
98
99
|
|
|
99
100
|
return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
|
|
100
101
|
|
|
102
|
+
def read_daemon_metrics_experimental(
|
|
103
|
+
self,
|
|
104
|
+
*,
|
|
105
|
+
id_: int,
|
|
106
|
+
start_timestamp: datetime,
|
|
107
|
+
end_timestamp: datetime,
|
|
108
|
+
) -> DtoResponse[models.DaemonsMetricsResource]:
|
|
109
|
+
local_response = self.api_connector.send_or_fail(
|
|
110
|
+
"GET",
|
|
111
|
+
f"/api/v1/daemons/{id_}/metrics",
|
|
112
|
+
data=None,
|
|
113
|
+
query_parameters={
|
|
114
|
+
"start_timestamp": start_timestamp,
|
|
115
|
+
"end_timestamp": end_timestamp,
|
|
116
|
+
},
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
return DtoResponse.from_responses(local_response, models.DaemonsMetricsResource)
|
|
120
|
+
|
|
101
121
|
def list_logs(
|
|
102
122
|
self,
|
|
103
123
|
*,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from cyberfusion.CoreApiClient import models
|
|
2
|
+
from datetime import datetime
|
|
2
3
|
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
3
4
|
from cyberfusion.CoreApiClient.http import DtoResponse
|
|
4
5
|
from cyberfusion.CoreApiClient.interfaces import Resource
|
|
@@ -81,3 +82,24 @@ class DatabaseUsers(Resource):
|
|
|
81
82
|
)
|
|
82
83
|
|
|
83
84
|
return DtoResponse.from_responses(local_response, models.DetailMessage)
|
|
85
|
+
|
|
86
|
+
def read_database_user_metrics(
|
|
87
|
+
self,
|
|
88
|
+
*,
|
|
89
|
+
id_: int,
|
|
90
|
+
start_timestamp: datetime,
|
|
91
|
+
end_timestamp: datetime,
|
|
92
|
+
) -> DtoResponse[models.DatabaseUsersMetricsResource]:
|
|
93
|
+
local_response = self.api_connector.send_or_fail(
|
|
94
|
+
"GET",
|
|
95
|
+
f"/api/v1/database-users/{id_}/metrics",
|
|
96
|
+
data=None,
|
|
97
|
+
query_parameters={
|
|
98
|
+
"start_timestamp": start_timestamp,
|
|
99
|
+
"end_timestamp": end_timestamp,
|
|
100
|
+
},
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
return DtoResponse.from_responses(
|
|
104
|
+
local_response, models.DatabaseUsersMetricsResource
|
|
105
|
+
)
|
|
@@ -45,12 +45,12 @@ class NodeAddOns(Resource):
|
|
|
45
45
|
|
|
46
46
|
def get_node_add_on_products(
|
|
47
47
|
self,
|
|
48
|
-
) -> DtoResponse[list[models.
|
|
48
|
+
) -> DtoResponse[list[models.ProductResource]]:
|
|
49
49
|
local_response = self.api_connector.send_or_fail(
|
|
50
50
|
"GET", "/api/v1/node-add-ons/products", data=None, query_parameters={}
|
|
51
51
|
)
|
|
52
52
|
|
|
53
|
-
return DtoResponse.from_responses(local_response, models.
|
|
53
|
+
return DtoResponse.from_responses(local_response, models.ProductResource)
|
|
54
54
|
|
|
55
55
|
def read_node_add_on(
|
|
56
56
|
self,
|
|
@@ -46,12 +46,12 @@ class Nodes(Resource):
|
|
|
46
46
|
|
|
47
47
|
def get_node_products(
|
|
48
48
|
self,
|
|
49
|
-
) -> DtoResponse[list[models.
|
|
49
|
+
) -> DtoResponse[list[models.ProductResource]]:
|
|
50
50
|
local_response = self.api_connector.send_or_fail(
|
|
51
51
|
"GET", "/api/v1/nodes/products", data=None, query_parameters={}
|
|
52
52
|
)
|
|
53
53
|
|
|
54
|
-
return DtoResponse.from_responses(local_response, models.
|
|
54
|
+
return DtoResponse.from_responses(local_response, models.ProductResource)
|
|
55
55
|
|
|
56
56
|
def read_node(
|
|
57
57
|
self,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
|
2
|
+
|
|
3
|
+
from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
|
|
4
|
+
from cyberfusion.CoreApiClient.http import DtoResponse
|
|
5
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class StandardsScans(Resource):
|
|
9
|
+
def list_standards_scans(
|
|
10
|
+
self,
|
|
11
|
+
*,
|
|
12
|
+
include_filters: models.StandardsScansSearchRequest | None = None,
|
|
13
|
+
includes: list[str] | None = None,
|
|
14
|
+
) -> DtoResponse[list[models.StandardsScanResource]]:
|
|
15
|
+
local_responses = self.api_connector.send_or_fail_with_auto_pagination(
|
|
16
|
+
"GET",
|
|
17
|
+
"/api/v1/standards-scans",
|
|
18
|
+
data=None,
|
|
19
|
+
query_parameters=(
|
|
20
|
+
include_filters.model_dump(exclude_unset=True)
|
|
21
|
+
if include_filters
|
|
22
|
+
else {}
|
|
23
|
+
)
|
|
24
|
+
| construct_includes_query_parameter(includes),
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
return DtoResponse.from_responses(local_responses, models.StandardsScanResource)
|
|
28
|
+
|
|
29
|
+
def read_standards_scan(
|
|
30
|
+
self,
|
|
31
|
+
*,
|
|
32
|
+
id_: int,
|
|
33
|
+
includes: list[str] | None = None,
|
|
34
|
+
) -> DtoResponse[models.StandardsScanResource]:
|
|
35
|
+
local_response = self.api_connector.send_or_fail(
|
|
36
|
+
"GET",
|
|
37
|
+
f"/api/v1/standards-scans/{id_}",
|
|
38
|
+
data=None,
|
|
39
|
+
query_parameters=construct_includes_query_parameter(includes),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
return DtoResponse.from_responses(local_response, models.StandardsScanResource)
|
|
43
|
+
|
|
44
|
+
def read_standards_scan_results(
|
|
45
|
+
self,
|
|
46
|
+
*,
|
|
47
|
+
id_: int,
|
|
48
|
+
) -> DtoResponse[models.StandardsScanResults]:
|
|
49
|
+
local_response = self.api_connector.send_or_fail(
|
|
50
|
+
"GET",
|
|
51
|
+
f"/api/v1/standards-scans/{id_}/results",
|
|
52
|
+
data=None,
|
|
53
|
+
query_parameters={},
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
return DtoResponse.from_responses(local_response, models.StandardsScanResults)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-core-api-client
|
|
3
|
-
Version:
|
|
3
|
+
Version: 8.1
|
|
4
4
|
Summary: Python client for Core API.
|
|
5
5
|
Author-email: Cyberfusion <support@cyberfusion.io>
|
|
6
6
|
Project-URL: Source, https://github.com/CyberfusionIO/python3-core-api-client
|
|
@@ -13,7 +13,7 @@ Requires-Dist: pydantic[email]==2.12.5
|
|
|
13
13
|
|
|
14
14
|
Python client for Core API.
|
|
15
15
|
|
|
16
|
-
This client was built for and tested on the **1.
|
|
16
|
+
This client was built for and tested on the **1.276.0** version of the API.
|
|
17
17
|
|
|
18
18
|
## Support
|
|
19
19
|
|