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.
- cyberfusion/CoreApiClient/connector.py +1 -0
- cyberfusion/CoreApiClient/http.py +30 -1
- cyberfusion/CoreApiClient/models.py +1642 -4140
- cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +56 -47
- cyberfusion/CoreApiClient/resources/borg_archives.py +81 -82
- cyberfusion/CoreApiClient/resources/borg_repositories.py +76 -77
- cyberfusion/CoreApiClient/resources/certificate_managers.py +63 -55
- cyberfusion/CoreApiClient/resources/certificates.py +34 -33
- cyberfusion/CoreApiClient/resources/clusters.py +1486 -153
- cyberfusion/CoreApiClient/resources/cmses.py +157 -156
- cyberfusion/CoreApiClient/resources/crons.py +41 -41
- cyberfusion/CoreApiClient/resources/custom_config_snippets.py +55 -47
- cyberfusion/CoreApiClient/resources/custom_configs.py +44 -44
- cyberfusion/CoreApiClient/resources/customers.py +53 -54
- cyberfusion/CoreApiClient/resources/daemons.py +54 -55
- cyberfusion/CoreApiClient/resources/database_user_grants.py +33 -53
- cyberfusion/CoreApiClient/resources/database_users.py +45 -45
- cyberfusion/CoreApiClient/resources/databases.py +80 -81
- cyberfusion/CoreApiClient/resources/domain_routers.py +23 -23
- cyberfusion/CoreApiClient/resources/firewall_groups.py +44 -44
- cyberfusion/CoreApiClient/resources/firewall_rules.py +36 -36
- cyberfusion/CoreApiClient/resources/fpm_pools.py +61 -61
- cyberfusion/CoreApiClient/resources/ftp_users.py +51 -49
- cyberfusion/CoreApiClient/resources/haproxy_listens.py +36 -36
- cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +45 -39
- cyberfusion/CoreApiClient/resources/health.py +6 -5
- cyberfusion/CoreApiClient/resources/hosts_entries.py +33 -33
- cyberfusion/CoreApiClient/resources/htpasswd_files.py +36 -36
- cyberfusion/CoreApiClient/resources/htpasswd_users.py +44 -44
- cyberfusion/CoreApiClient/resources/login.py +15 -14
- cyberfusion/CoreApiClient/resources/logs.py +59 -58
- cyberfusion/CoreApiClient/resources/mail_accounts.py +60 -59
- cyberfusion/CoreApiClient/resources/mail_aliases.py +41 -41
- cyberfusion/CoreApiClient/resources/mail_domains.py +41 -41
- cyberfusion/CoreApiClient/resources/mail_hostnames.py +44 -44
- cyberfusion/CoreApiClient/resources/malwares.py +14 -38
- cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +37 -31
- cyberfusion/CoreApiClient/resources/node_add_ons.py +39 -40
- cyberfusion/CoreApiClient/resources/nodes.py +60 -61
- cyberfusion/CoreApiClient/resources/passenger_apps.py +54 -54
- cyberfusion/CoreApiClient/resources/redis_instances.py +46 -46
- cyberfusion/CoreApiClient/resources/root_ssh_keys.py +41 -41
- cyberfusion/CoreApiClient/resources/security_txt_policies.py +56 -48
- cyberfusion/CoreApiClient/resources/sites.py +15 -15
- cyberfusion/CoreApiClient/resources/ssh_keys.py +41 -41
- cyberfusion/CoreApiClient/resources/task_collections.py +20 -20
- cyberfusion/CoreApiClient/resources/tombstones.py +15 -15
- cyberfusion/CoreApiClient/resources/unix_users.py +68 -69
- cyberfusion/CoreApiClient/resources/url_redirects.py +42 -42
- cyberfusion/CoreApiClient/resources/virtual_hosts.py +66 -66
- {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/METADATA +44 -11
- python3_core_api_client-2.1.0.dist-info/RECORD +59 -0
- python3_core_api_client-1.2.dist-info/RECORD +0 -59
- {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/WHEEL +0 -0
- {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import json
|
|
2
2
|
from dataclasses import dataclass
|
|
3
3
|
from http import HTTPStatus
|
|
4
|
-
from typing import Any
|
|
4
|
+
from typing import Any, TypeVar, Generic
|
|
5
5
|
|
|
6
6
|
from requests.structures import CaseInsensitiveDict
|
|
7
7
|
|
|
8
|
+
from cyberfusion.CoreApiClient.models import CoreApiModel
|
|
9
|
+
|
|
10
|
+
from requests.models import Response as RequestsResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
ModelType = TypeVar("ModelType", bound=CoreApiModel)
|
|
14
|
+
DtoType = TypeVar("DtoType", CoreApiModel, list[CoreApiModel])
|
|
15
|
+
|
|
8
16
|
|
|
9
17
|
@dataclass
|
|
10
18
|
class Response:
|
|
11
19
|
status_code: int
|
|
12
20
|
body: str
|
|
13
21
|
headers: CaseInsensitiveDict
|
|
22
|
+
requests_response: RequestsResponse
|
|
14
23
|
|
|
15
24
|
@property
|
|
16
25
|
def failed(self) -> bool:
|
|
@@ -19,3 +28,23 @@ class Response:
|
|
|
19
28
|
@property
|
|
20
29
|
def json(self) -> Any:
|
|
21
30
|
return json.loads(self.body)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@dataclass
|
|
34
|
+
class DtoResponse(Generic[DtoType], Response):
|
|
35
|
+
dto: DtoType
|
|
36
|
+
|
|
37
|
+
@classmethod
|
|
38
|
+
def from_response(cls, response: Response, model: type[ModelType]) -> "DtoResponse":
|
|
39
|
+
if isinstance(response.json, list):
|
|
40
|
+
dto = [model.parse_obj(object_) for object_ in response.json]
|
|
41
|
+
else:
|
|
42
|
+
dto = model.parse_obj(response.json)
|
|
43
|
+
|
|
44
|
+
return cls(
|
|
45
|
+
status_code=response.status_code,
|
|
46
|
+
body=response.body,
|
|
47
|
+
headers=response.headers,
|
|
48
|
+
requests_response=response.requests_response,
|
|
49
|
+
dto=dto,
|
|
50
|
+
)
|