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
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class FirewallRules(Resource):
8
9
  def create_firewall_rule(
9
10
  self,
10
11
  request: models.FirewallRuleCreateRequest,
11
- ) -> models.FirewallRuleResource:
12
- return models.FirewallRuleResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/firewall-rules",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.FirewallRuleResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/firewall-rules",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.FirewallRuleResource)
21
+
21
22
  def list_firewall_rules(
22
23
  self,
23
24
  *,
@@ -25,43 +26,42 @@ class FirewallRules(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.FirewallRuleResource]:
29
- return [
30
- models.FirewallRuleResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/firewall-rules",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.FirewallRuleResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/firewall-rules",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.FirewallRuleResource)
43
43
 
44
44
  def read_firewall_rule(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.FirewallRuleResource:
49
- return models.FirewallRuleResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/firewall-rules/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.FirewallRuleResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/firewall-rules/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.FirewallRuleResource)
54
+
55
55
  def delete_firewall_rule(
56
56
  self,
57
57
  *,
58
58
  id_: int,
59
- ) -> models.DetailMessage:
60
- return models.DetailMessage.parse_obj(
61
- self.api_connector.send_or_fail(
62
- "DELETE",
63
- f"/api/v1/firewall-rules/{id_}",
64
- data=None,
65
- query_parameters={},
66
- ).json
59
+ ) -> DtoResponse[models.DetailMessage]:
60
+ local_response = self.api_connector.send_or_fail(
61
+ "DELETE",
62
+ f"/api/v1/firewall-rules/{id_}",
63
+ data=None,
64
+ query_parameters={},
67
65
  )
66
+
67
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class FPMPools(Resource):
8
9
  def create_fpm_pool(
9
10
  self,
10
11
  request: models.FPMPoolCreateRequest,
11
- ) -> models.FPMPoolResource:
12
- return models.FPMPoolResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/fpm-pools",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.FPMPoolResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/fpm-pools",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.FPMPoolResource)
21
+
21
22
  def list_fpm_pools(
22
23
  self,
23
24
  *,
@@ -25,89 +26,88 @@ class FPMPools(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.FPMPoolResource]:
29
- return [
30
- models.FPMPoolResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/fpm-pools",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.FPMPoolResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/fpm-pools",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.FPMPoolResource)
43
43
 
44
44
  def read_fpm_pool(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.FPMPoolResource:
49
- return models.FPMPoolResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/fpm-pools/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.FPMPoolResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/fpm-pools/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.FPMPoolResource)
54
+
55
55
  def update_fpm_pool(
56
56
  self,
57
57
  request: models.FPMPoolUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.FPMPoolResource:
61
- return models.FPMPoolResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/fpm-pools/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.FPMPoolResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/fpm-pools/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.FPMPoolResource)
69
+
70
70
  def delete_fpm_pool(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
- ) -> models.DetailMessage:
75
- return models.DetailMessage.parse_obj(
76
- self.api_connector.send_or_fail(
77
- "DELETE", f"/api/v1/fpm-pools/{id_}", data=None, query_parameters={}
78
- ).json
74
+ ) -> DtoResponse[models.DetailMessage]:
75
+ local_response = self.api_connector.send_or_fail(
76
+ "DELETE", f"/api/v1/fpm-pools/{id_}", data=None, query_parameters={}
79
77
  )
80
78
 
79
+ return DtoResponse.from_response(local_response, models.DetailMessage)
80
+
81
81
  def restart_fpm_pool(
82
82
  self,
83
83
  *,
84
84
  id_: int,
85
85
  callback_url: Optional[str] = None,
86
- ) -> models.TaskCollectionResource:
87
- return models.TaskCollectionResource.parse_obj(
88
- self.api_connector.send_or_fail(
89
- "POST",
90
- f"/api/v1/fpm-pools/{id_}/restart",
91
- data=None,
92
- query_parameters={
93
- "callback_url": callback_url,
94
- },
95
- ).json
86
+ ) -> DtoResponse[models.TaskCollectionResource]:
87
+ local_response = self.api_connector.send_or_fail(
88
+ "POST",
89
+ f"/api/v1/fpm-pools/{id_}/restart",
90
+ data=None,
91
+ query_parameters={
92
+ "callback_url": callback_url,
93
+ },
96
94
  )
97
95
 
96
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
97
+
98
98
  def reload_fpm_pool(
99
99
  self,
100
100
  *,
101
101
  id_: int,
102
102
  callback_url: Optional[str] = None,
103
- ) -> models.TaskCollectionResource:
104
- return models.TaskCollectionResource.parse_obj(
105
- self.api_connector.send_or_fail(
106
- "POST",
107
- f"/api/v1/fpm-pools/{id_}/reload",
108
- data=None,
109
- query_parameters={
110
- "callback_url": callback_url,
111
- },
112
- ).json
103
+ ) -> DtoResponse[models.TaskCollectionResource]:
104
+ local_response = self.api_connector.send_or_fail(
105
+ "POST",
106
+ f"/api/v1/fpm-pools/{id_}/reload",
107
+ data=None,
108
+ query_parameters={
109
+ "callback_url": callback_url,
110
+ },
113
111
  )
112
+
113
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class FTPUsers(Resource):
8
9
  def create_ftp_user(
9
10
  self,
10
11
  request: models.FTPUserCreateRequest,
11
- ) -> models.FTPUserResource:
12
- return models.FTPUserResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/ftp-users",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.FTPUserResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/ftp-users",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.FTPUserResource)
21
+
21
22
  def list_ftp_users(
22
23
  self,
23
24
  *,
@@ -25,68 +26,69 @@ class FTPUsers(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.FTPUserResource]:
29
- return [
30
- models.FTPUserResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/ftp-users",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.FTPUserResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/ftp-users",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.FTPUserResource)
43
43
 
44
44
  def read_ftp_user(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.FTPUserResource:
49
- return models.FTPUserResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/ftp-users/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.FTPUserResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/ftp-users/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.FTPUserResource)
54
+
55
55
  def update_ftp_user(
56
56
  self,
57
57
  request: models.FTPUserUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.FTPUserResource:
61
- return models.FTPUserResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/ftp-users/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.FTPUserResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/ftp-users/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.FTPUserResource)
69
+
70
70
  def delete_ftp_user(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
- ) -> models.DetailMessage:
75
- return models.DetailMessage.parse_obj(
76
- self.api_connector.send_or_fail(
77
- "DELETE", f"/api/v1/ftp-users/{id_}", data=None, query_parameters={}
78
- ).json
74
+ ) -> DtoResponse[models.DetailMessage]:
75
+ local_response = self.api_connector.send_or_fail(
76
+ "DELETE", f"/api/v1/ftp-users/{id_}", data=None, query_parameters={}
79
77
  )
80
78
 
79
+ return DtoResponse.from_response(local_response, models.DetailMessage)
80
+
81
81
  def create_temporary_ftp_user(
82
82
  self,
83
83
  request: models.TemporaryFTPUserCreateRequest,
84
- ) -> models.TemporaryFTPUserResource:
85
- return models.TemporaryFTPUserResource.parse_obj(
86
- self.api_connector.send_or_fail(
87
- "POST",
88
- "/api/v1/ftp-users/temporary",
89
- data=request.dict(exclude_unset=True),
90
- query_parameters={},
91
- ).json
84
+ ) -> DtoResponse[models.TemporaryFTPUserResource]:
85
+ local_response = self.api_connector.send_or_fail(
86
+ "POST",
87
+ "/api/v1/ftp-users/temporary",
88
+ data=request.dict(exclude_unset=True),
89
+ query_parameters={},
90
+ )
91
+
92
+ return DtoResponse.from_response(
93
+ local_response, models.TemporaryFTPUserResource
92
94
  )
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class HAProxyListens(Resource):
8
9
  def create_haproxy_listen(
9
10
  self,
10
11
  request: models.HAProxyListenCreateRequest,
11
- ) -> models.HAProxyListenResource:
12
- return models.HAProxyListenResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/haproxy-listens",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.HAProxyListenResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/haproxy-listens",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.HAProxyListenResource)
21
+
21
22
  def list_haproxy_listens(
22
23
  self,
23
24
  *,
@@ -25,43 +26,42 @@ class HAProxyListens(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.HAProxyListenResource]:
29
- return [
30
- models.HAProxyListenResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/haproxy-listens",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.HAProxyListenResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/haproxy-listens",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.HAProxyListenResource)
43
43
 
44
44
  def read_haproxy_listen(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.HAProxyListenResource:
49
- return models.HAProxyListenResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/haproxy-listens/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.HAProxyListenResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/haproxy-listens/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.HAProxyListenResource)
54
+
55
55
  def delete_haproxy_listen(
56
56
  self,
57
57
  *,
58
58
  id_: int,
59
- ) -> models.DetailMessage:
60
- return models.DetailMessage.parse_obj(
61
- self.api_connector.send_or_fail(
62
- "DELETE",
63
- f"/api/v1/haproxy-listens/{id_}",
64
- data=None,
65
- query_parameters={},
66
- ).json
59
+ ) -> DtoResponse[models.DetailMessage]:
60
+ local_response = self.api_connector.send_or_fail(
61
+ "DELETE",
62
+ f"/api/v1/haproxy-listens/{id_}",
63
+ data=None,
64
+ query_parameters={},
67
65
  )
66
+
67
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -2,20 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class HAProxyListensToNodes(Resource):
8
9
  def create_haproxy_listen_to_node(
9
10
  self,
10
11
  request: models.HAProxyListenToNodeCreateRequest,
11
- ) -> models.HAProxyListenToNodeResource:
12
- return models.HAProxyListenToNodeResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/haproxy-listens-to-nodes",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.HAProxyListenToNodeResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/haproxy-listens-to-nodes",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
18
+ )
19
+
20
+ return DtoResponse.from_response(
21
+ local_response, models.HAProxyListenToNodeResource
19
22
  )
20
23
 
21
24
  def list_haproxy_listens_to_nodes(
@@ -25,46 +28,49 @@ class HAProxyListensToNodes(Resource):
25
28
  limit: Optional[int] = None,
26
29
  filter_: Optional[List[str]] = None,
27
30
  sort: Optional[List[str]] = None,
28
- ) -> list[models.HAProxyListenToNodeResource]:
29
- return [
30
- models.HAProxyListenToNodeResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/haproxy-listens-to-nodes",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
31
+ ) -> DtoResponse[list[models.HAProxyListenToNodeResource]]:
32
+ local_response = self.api_connector.send_or_fail(
33
+ "GET",
34
+ "/api/v1/haproxy-listens-to-nodes",
35
+ data=None,
36
+ query_parameters={
37
+ "skip": skip,
38
+ "limit": limit,
39
+ "filter": filter_,
40
+ "sort": sort,
41
+ },
42
+ )
43
+
44
+ return DtoResponse.from_response(
45
+ local_response, models.HAProxyListenToNodeResource
46
+ )
43
47
 
44
48
  def read_haproxy_listen_to_node(
45
49
  self,
46
50
  *,
47
51
  id_: int,
48
- ) -> models.HAProxyListenToNodeResource:
49
- return models.HAProxyListenToNodeResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET",
52
- f"/api/v1/haproxy-listens-to-nodes/{id_}",
53
- data=None,
54
- query_parameters={},
55
- ).json
52
+ ) -> DtoResponse[models.HAProxyListenToNodeResource]:
53
+ local_response = self.api_connector.send_or_fail(
54
+ "GET",
55
+ f"/api/v1/haproxy-listens-to-nodes/{id_}",
56
+ data=None,
57
+ query_parameters={},
58
+ )
59
+
60
+ return DtoResponse.from_response(
61
+ local_response, models.HAProxyListenToNodeResource
56
62
  )
57
63
 
58
64
  def delete_haproxy_listen_to_node(
59
65
  self,
60
66
  *,
61
67
  id_: int,
62
- ) -> models.DetailMessage:
63
- return models.DetailMessage.parse_obj(
64
- self.api_connector.send_or_fail(
65
- "DELETE",
66
- f"/api/v1/haproxy-listens-to-nodes/{id_}",
67
- data=None,
68
- query_parameters={},
69
- ).json
68
+ ) -> DtoResponse[models.DetailMessage]:
69
+ local_response = self.api_connector.send_or_fail(
70
+ "DELETE",
71
+ f"/api/v1/haproxy-listens-to-nodes/{id_}",
72
+ data=None,
73
+ query_parameters={},
70
74
  )
75
+
76
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -1,14 +1,15 @@
1
1
  from cyberfusion.CoreApiClient import models
2
2
 
3
3
  from cyberfusion.CoreApiClient.interfaces import Resource
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
4
5
 
5
6
 
6
7
  class Health(Resource):
7
8
  def read_health(
8
9
  self,
9
- ) -> models.HealthResource:
10
- return models.HealthResource.parse_obj(
11
- self.api_connector.send_or_fail(
12
- "GET", "/api/v1/health", data=None, query_parameters={}
13
- ).json
10
+ ) -> DtoResponse[models.HealthResource]:
11
+ local_response = self.api_connector.send_or_fail(
12
+ "GET", "/api/v1/health", data=None, query_parameters={}
14
13
  )
14
+
15
+ return DtoResponse.from_response(local_response, models.HealthResource)