python3-core-api-client 4.0__py3-none-any.whl → 6.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 +35 -0
  2. cyberfusion/CoreApiClient/http.py +18 -10
  3. cyberfusion/CoreApiClient/models.py +284 -11
  4. cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +8 -14
  5. cyberfusion/CoreApiClient/resources/borg_archives.py +9 -15
  6. cyberfusion/CoreApiClient/resources/borg_repositories.py +12 -16
  7. cyberfusion/CoreApiClient/resources/certificate_managers.py +9 -15
  8. cyberfusion/CoreApiClient/resources/certificates.py +6 -12
  9. cyberfusion/CoreApiClient/resources/clusters.py +142 -256
  10. cyberfusion/CoreApiClient/resources/cmses.py +20 -26
  11. cyberfusion/CoreApiClient/resources/crons.py +7 -13
  12. cyberfusion/CoreApiClient/resources/custom_config_snippets.py +8 -14
  13. cyberfusion/CoreApiClient/resources/custom_configs.py +7 -13
  14. cyberfusion/CoreApiClient/resources/customers.py +8 -14
  15. cyberfusion/CoreApiClient/resources/daemons.py +10 -18
  16. cyberfusion/CoreApiClient/resources/database_user_grants.py +6 -12
  17. cyberfusion/CoreApiClient/resources/database_users.py +7 -13
  18. cyberfusion/CoreApiClient/resources/databases.py +10 -16
  19. cyberfusion/CoreApiClient/resources/domain_routers.py +4 -10
  20. cyberfusion/CoreApiClient/resources/firewall_groups.py +7 -13
  21. cyberfusion/CoreApiClient/resources/firewall_rules.py +6 -12
  22. cyberfusion/CoreApiClient/resources/fpm_pools.py +12 -18
  23. cyberfusion/CoreApiClient/resources/ftp_users.py +8 -14
  24. cyberfusion/CoreApiClient/resources/haproxy_listens.py +6 -12
  25. cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +7 -13
  26. cyberfusion/CoreApiClient/resources/health.py +1 -1
  27. cyberfusion/CoreApiClient/resources/hosts_entries.py +6 -12
  28. cyberfusion/CoreApiClient/resources/htpasswd_files.py +6 -12
  29. cyberfusion/CoreApiClient/resources/htpasswd_users.py +7 -13
  30. cyberfusion/CoreApiClient/resources/login.py +2 -2
  31. cyberfusion/CoreApiClient/resources/logs.py +6 -18
  32. cyberfusion/CoreApiClient/resources/mail_accounts.py +8 -14
  33. cyberfusion/CoreApiClient/resources/mail_aliases.py +7 -13
  34. cyberfusion/CoreApiClient/resources/mail_domains.py +7 -13
  35. cyberfusion/CoreApiClient/resources/mail_hostnames.py +7 -13
  36. cyberfusion/CoreApiClient/resources/malwares.py +3 -9
  37. cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +6 -12
  38. cyberfusion/CoreApiClient/resources/n8n_instances.py +7 -13
  39. cyberfusion/CoreApiClient/resources/node_add_ons.py +7 -13
  40. cyberfusion/CoreApiClient/resources/nodes.py +10 -16
  41. cyberfusion/CoreApiClient/resources/passenger_apps.py +8 -14
  42. cyberfusion/CoreApiClient/resources/redis_instances.py +7 -13
  43. cyberfusion/CoreApiClient/resources/regions.py +3 -9
  44. cyberfusion/CoreApiClient/resources/root_ssh_keys.py +7 -13
  45. cyberfusion/CoreApiClient/resources/security_txt_policies.py +8 -14
  46. cyberfusion/CoreApiClient/resources/ssh_keys.py +7 -13
  47. cyberfusion/CoreApiClient/resources/task_collections.py +2 -2
  48. cyberfusion/CoreApiClient/resources/unix_users.py +9 -15
  49. cyberfusion/CoreApiClient/resources/url_redirects.py +7 -13
  50. cyberfusion/CoreApiClient/resources/virtual_hosts.py +17 -25
  51. {python3_core_api_client-4.0.dist-info → python3_core_api_client-6.0.dist-info}/METADATA +3 -3
  52. python3_core_api_client-6.0.dist-info/RECORD +60 -0
  53. python3_core_api_client-4.0.dist-info/RECORD +0 -60
  54. {python3_core_api_client-4.0.dist-info → python3_core_api_client-6.0.dist-info}/WHEEL +0 -0
  55. {python3_core_api_client-4.0.dist-info → python3_core_api_client-6.0.dist-info}/top_level.txt +0 -0
@@ -18,25 +18,19 @@ class PassengerApps(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.PassengerAppResource)
21
+ return DtoResponse.from_responses(local_response, models.PassengerAppResource)
22
22
 
23
23
  def list_passenger_apps(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.PassengerAppsSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.PassengerAppResource]]:
31
- local_response = self.api_connector.send_or_fail(
29
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
32
30
  "GET",
33
31
  "/api/v1/passenger-apps",
34
32
  data=None,
35
- query_parameters={
36
- "page": page,
37
- "per_page": per_page,
38
- }
39
- | (
33
+ query_parameters=(
40
34
  include_filters.model_dump(exclude_unset=True)
41
35
  if include_filters
42
36
  else {}
@@ -44,7 +38,7 @@ class PassengerApps(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.PassengerAppResource)
41
+ return DtoResponse.from_responses(local_responses, models.PassengerAppResource)
48
42
 
49
43
  def read_passenger_app(
50
44
  self,
@@ -59,7 +53,7 @@ class PassengerApps(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.PassengerAppResource)
56
+ return DtoResponse.from_responses(local_response, models.PassengerAppResource)
63
57
 
64
58
  def update_passenger_app(
65
59
  self,
@@ -74,7 +68,7 @@ class PassengerApps(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.PassengerAppResource)
71
+ return DtoResponse.from_responses(local_response, models.PassengerAppResource)
78
72
 
79
73
  def delete_passenger_app(
80
74
  self,
@@ -89,7 +83,7 @@ class PassengerApps(Resource):
89
83
  query_parameters={"delete_on_cluster": delete_on_cluster},
90
84
  )
91
85
 
92
- return DtoResponse.from_response(local_response, models.DetailMessage)
86
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
93
87
 
94
88
  def restart_passenger_app(
95
89
  self,
@@ -106,4 +100,4 @@ class PassengerApps(Resource):
106
100
  },
107
101
  )
108
102
 
109
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
103
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
@@ -18,25 +18,19 @@ class RedisInstances(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.RedisInstanceResource)
21
+ return DtoResponse.from_responses(local_response, models.RedisInstanceResource)
22
22
 
23
23
  def list_redis_instances(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.RedisInstancesSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.RedisInstanceResource]]:
31
- local_response = self.api_connector.send_or_fail(
29
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
32
30
  "GET",
33
31
  "/api/v1/redis-instances",
34
32
  data=None,
35
- query_parameters={
36
- "page": page,
37
- "per_page": per_page,
38
- }
39
- | (
33
+ query_parameters=(
40
34
  include_filters.model_dump(exclude_unset=True)
41
35
  if include_filters
42
36
  else {}
@@ -44,7 +38,7 @@ class RedisInstances(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.RedisInstanceResource)
41
+ return DtoResponse.from_responses(local_responses, models.RedisInstanceResource)
48
42
 
49
43
  def read_redis_instance(
50
44
  self,
@@ -59,7 +53,7 @@ class RedisInstances(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.RedisInstanceResource)
56
+ return DtoResponse.from_responses(local_response, models.RedisInstanceResource)
63
57
 
64
58
  def update_redis_instance(
65
59
  self,
@@ -74,7 +68,7 @@ class RedisInstances(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.RedisInstanceResource)
71
+ return DtoResponse.from_responses(local_response, models.RedisInstanceResource)
78
72
 
79
73
  def delete_redis_instance(
80
74
  self,
@@ -91,4 +85,4 @@ class RedisInstances(Resource):
91
85
  },
92
86
  )
93
87
 
94
- return DtoResponse.from_response(local_response, models.DetailMessage)
88
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -9,20 +9,14 @@ class Regions(Resource):
9
9
  def list_regions(
10
10
  self,
11
11
  *,
12
- page: int = 1,
13
- per_page: int = 50,
14
12
  include_filters: models.RegionsSearchRequest | None = None,
15
13
  includes: list[str] | None = None,
16
14
  ) -> DtoResponse[list[models.RegionResource]]:
17
- local_response = self.api_connector.send_or_fail(
15
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
18
16
  "GET",
19
17
  "/api/v1/regions",
20
18
  data=None,
21
- query_parameters={
22
- "page": page,
23
- "per_page": per_page,
24
- }
25
- | (
19
+ query_parameters=(
26
20
  include_filters.model_dump(exclude_unset=True)
27
21
  if include_filters
28
22
  else {}
@@ -30,4 +24,4 @@ class Regions(Resource):
30
24
  | construct_includes_query_parameter(includes),
31
25
  )
32
26
 
33
- return DtoResponse.from_response(local_response, models.RegionResource)
27
+ return DtoResponse.from_responses(local_responses, models.RegionResource)
@@ -17,7 +17,7 @@ class RootSshKeys(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.RootSshKeyResource)
20
+ return DtoResponse.from_responses(local_response, models.RootSshKeyResource)
21
21
 
22
22
  def create_private_root_ssh_key(
23
23
  self,
@@ -30,25 +30,19 @@ class RootSshKeys(Resource):
30
30
  query_parameters={},
31
31
  )
32
32
 
33
- return DtoResponse.from_response(local_response, models.RootSshKeyResource)
33
+ return DtoResponse.from_responses(local_response, models.RootSshKeyResource)
34
34
 
35
35
  def list_root_ssh_keys(
36
36
  self,
37
37
  *,
38
- page: int = 1,
39
- per_page: int = 50,
40
38
  include_filters: models.RootSshKeysSearchRequest | None = None,
41
39
  includes: list[str] | None = None,
42
40
  ) -> DtoResponse[list[models.RootSshKeyResource]]:
43
- local_response = self.api_connector.send_or_fail(
41
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
44
42
  "GET",
45
43
  "/api/v1/root-ssh-keys",
46
44
  data=None,
47
- query_parameters={
48
- "page": page,
49
- "per_page": per_page,
50
- }
51
- | (
45
+ query_parameters=(
52
46
  include_filters.model_dump(exclude_unset=True)
53
47
  if include_filters
54
48
  else {}
@@ -56,7 +50,7 @@ class RootSshKeys(Resource):
56
50
  | construct_includes_query_parameter(includes),
57
51
  )
58
52
 
59
- return DtoResponse.from_response(local_response, models.RootSshKeyResource)
53
+ return DtoResponse.from_responses(local_responses, models.RootSshKeyResource)
60
54
 
61
55
  def read_root_ssh_key(
62
56
  self,
@@ -71,7 +65,7 @@ class RootSshKeys(Resource):
71
65
  query_parameters=construct_includes_query_parameter(includes),
72
66
  )
73
67
 
74
- return DtoResponse.from_response(local_response, models.RootSshKeyResource)
68
+ return DtoResponse.from_responses(local_response, models.RootSshKeyResource)
75
69
 
76
70
  def delete_root_ssh_key(
77
71
  self,
@@ -82,4 +76,4 @@ class RootSshKeys(Resource):
82
76
  "DELETE", f"/api/v1/root-ssh-keys/{id_}", data=None, query_parameters={}
83
77
  )
84
78
 
85
- return DtoResponse.from_response(local_response, models.DetailMessage)
79
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -16,27 +16,21 @@ class SecurityTxtPolicies(Resource):
16
16
  query_parameters={},
17
17
  )
18
18
 
19
- return DtoResponse.from_response(
19
+ return DtoResponse.from_responses(
20
20
  local_response, models.SecurityTxtPolicyResource
21
21
  )
22
22
 
23
23
  def list_security_txt_policies(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.SecurityTxtPoliciesSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.SecurityTxtPolicyResource]]:
31
- local_response = self.api_connector.send_or_fail(
29
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
32
30
  "GET",
33
31
  "/api/v1/security-txt-policies",
34
32
  data=None,
35
- query_parameters={
36
- "page": page,
37
- "per_page": per_page,
38
- }
39
- | (
33
+ query_parameters=(
40
34
  include_filters.model_dump(exclude_unset=True)
41
35
  if include_filters
42
36
  else {}
@@ -44,8 +38,8 @@ class SecurityTxtPolicies(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(
48
- local_response, models.SecurityTxtPolicyResource
41
+ return DtoResponse.from_responses(
42
+ local_responses, models.SecurityTxtPolicyResource
49
43
  )
50
44
 
51
45
  def read_security_txt_policy(
@@ -61,7 +55,7 @@ class SecurityTxtPolicies(Resource):
61
55
  query_parameters=construct_includes_query_parameter(includes),
62
56
  )
63
57
 
64
- return DtoResponse.from_response(
58
+ return DtoResponse.from_responses(
65
59
  local_response, models.SecurityTxtPolicyResource
66
60
  )
67
61
 
@@ -78,7 +72,7 @@ class SecurityTxtPolicies(Resource):
78
72
  query_parameters={},
79
73
  )
80
74
 
81
- return DtoResponse.from_response(
75
+ return DtoResponse.from_responses(
82
76
  local_response, models.SecurityTxtPolicyResource
83
77
  )
84
78
 
@@ -94,4 +88,4 @@ class SecurityTxtPolicies(Resource):
94
88
  query_parameters={},
95
89
  )
96
90
 
97
- return DtoResponse.from_response(local_response, models.DetailMessage)
91
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -17,7 +17,7 @@ class SshKeys(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.SshKeyResource)
20
+ return DtoResponse.from_responses(local_response, models.SshKeyResource)
21
21
 
22
22
  def create_private_ssh_key(
23
23
  self,
@@ -30,25 +30,19 @@ class SshKeys(Resource):
30
30
  query_parameters={},
31
31
  )
32
32
 
33
- return DtoResponse.from_response(local_response, models.SshKeyResource)
33
+ return DtoResponse.from_responses(local_response, models.SshKeyResource)
34
34
 
35
35
  def list_ssh_keys(
36
36
  self,
37
37
  *,
38
- page: int = 1,
39
- per_page: int = 50,
40
38
  include_filters: models.SshKeysSearchRequest | None = None,
41
39
  includes: list[str] | None = None,
42
40
  ) -> DtoResponse[list[models.SshKeyResource]]:
43
- local_response = self.api_connector.send_or_fail(
41
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
44
42
  "GET",
45
43
  "/api/v1/ssh-keys",
46
44
  data=None,
47
- query_parameters={
48
- "page": page,
49
- "per_page": per_page,
50
- }
51
- | (
45
+ query_parameters=(
52
46
  include_filters.model_dump(exclude_unset=True)
53
47
  if include_filters
54
48
  else {}
@@ -56,7 +50,7 @@ class SshKeys(Resource):
56
50
  | construct_includes_query_parameter(includes),
57
51
  )
58
52
 
59
- return DtoResponse.from_response(local_response, models.SshKeyResource)
53
+ return DtoResponse.from_responses(local_responses, models.SshKeyResource)
60
54
 
61
55
  def read_ssh_key(
62
56
  self,
@@ -71,7 +65,7 @@ class SshKeys(Resource):
71
65
  query_parameters=construct_includes_query_parameter(includes),
72
66
  )
73
67
 
74
- return DtoResponse.from_response(local_response, models.SshKeyResource)
68
+ return DtoResponse.from_responses(local_response, models.SshKeyResource)
75
69
 
76
70
  def delete_ssh_key(
77
71
  self,
@@ -82,4 +76,4 @@ class SshKeys(Resource):
82
76
  "DELETE", f"/api/v1/ssh-keys/{id_}", data=None, query_parameters={}
83
77
  )
84
78
 
85
- return DtoResponse.from_response(local_response, models.DetailMessage)
79
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -19,7 +19,7 @@ class TaskCollections(Resource):
19
19
  query_parameters={},
20
20
  )
21
21
 
22
- return DtoResponse.from_response(local_response, models.TaskResult)
22
+ return DtoResponse.from_responses(local_response, models.TaskResult)
23
23
 
24
24
  def retry_task_collection(
25
25
  self,
@@ -38,4 +38,4 @@ class TaskCollections(Resource):
38
38
  | construct_includes_query_parameter(includes),
39
39
  )
40
40
 
41
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
41
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
@@ -18,25 +18,19 @@ class UnixUsers(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.UnixUserResource)
21
+ return DtoResponse.from_responses(local_response, models.UnixUserResource)
22
22
 
23
23
  def list_unix_users(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.UnixUsersSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.UnixUserResource]]:
31
- local_response = self.api_connector.send_or_fail(
29
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
32
30
  "GET",
33
31
  "/api/v1/unix-users",
34
32
  data=None,
35
- query_parameters={
36
- "page": page,
37
- "per_page": per_page,
38
- }
39
- | (
33
+ query_parameters=(
40
34
  include_filters.model_dump(exclude_unset=True)
41
35
  if include_filters
42
36
  else {}
@@ -44,7 +38,7 @@ class UnixUsers(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.UnixUserResource)
41
+ return DtoResponse.from_responses(local_responses, models.UnixUserResource)
48
42
 
49
43
  def read_unix_user(
50
44
  self,
@@ -59,7 +53,7 @@ class UnixUsers(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.UnixUserResource)
56
+ return DtoResponse.from_responses(local_response, models.UnixUserResource)
63
57
 
64
58
  def update_unix_user(
65
59
  self,
@@ -74,7 +68,7 @@ class UnixUsers(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.UnixUserResource)
71
+ return DtoResponse.from_responses(local_response, models.UnixUserResource)
78
72
 
79
73
  def delete_unix_user(
80
74
  self,
@@ -91,7 +85,7 @@ class UnixUsers(Resource):
91
85
  },
92
86
  )
93
87
 
94
- return DtoResponse.from_response(local_response, models.DetailMessage)
88
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
95
89
 
96
90
  def compare_unix_users(
97
91
  self,
@@ -108,7 +102,7 @@ class UnixUsers(Resource):
108
102
  },
109
103
  )
110
104
 
111
- return DtoResponse.from_response(local_response, models.UnixUserComparison)
105
+ return DtoResponse.from_responses(local_response, models.UnixUserComparison)
112
106
 
113
107
  def list_unix_user_usages(
114
108
  self,
@@ -129,4 +123,4 @@ class UnixUsers(Resource):
129
123
  | construct_includes_query_parameter(includes),
130
124
  )
131
125
 
132
- return DtoResponse.from_response(local_response, models.UnixUserUsageResource)
126
+ return DtoResponse.from_responses(local_response, models.UnixUserUsageResource)
@@ -16,25 +16,19 @@ class UrlRedirects(Resource):
16
16
  query_parameters={},
17
17
  )
18
18
 
19
- return DtoResponse.from_response(local_response, models.UrlRedirectResource)
19
+ return DtoResponse.from_responses(local_response, models.UrlRedirectResource)
20
20
 
21
21
  def list_url_redirects(
22
22
  self,
23
23
  *,
24
- page: int = 1,
25
- per_page: int = 50,
26
24
  include_filters: models.UrlRedirectsSearchRequest | None = None,
27
25
  includes: list[str] | None = None,
28
26
  ) -> DtoResponse[list[models.UrlRedirectResource]]:
29
- local_response = self.api_connector.send_or_fail(
27
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
30
28
  "GET",
31
29
  "/api/v1/url-redirects",
32
30
  data=None,
33
- query_parameters={
34
- "page": page,
35
- "per_page": per_page,
36
- }
37
- | (
31
+ query_parameters=(
38
32
  include_filters.model_dump(exclude_unset=True)
39
33
  if include_filters
40
34
  else {}
@@ -42,7 +36,7 @@ class UrlRedirects(Resource):
42
36
  | construct_includes_query_parameter(includes),
43
37
  )
44
38
 
45
- return DtoResponse.from_response(local_response, models.UrlRedirectResource)
39
+ return DtoResponse.from_responses(local_responses, models.UrlRedirectResource)
46
40
 
47
41
  def read_url_redirect(
48
42
  self,
@@ -57,7 +51,7 @@ class UrlRedirects(Resource):
57
51
  query_parameters=construct_includes_query_parameter(includes),
58
52
  )
59
53
 
60
- return DtoResponse.from_response(local_response, models.UrlRedirectResource)
54
+ return DtoResponse.from_responses(local_response, models.UrlRedirectResource)
61
55
 
62
56
  def update_url_redirect(
63
57
  self,
@@ -72,7 +66,7 @@ class UrlRedirects(Resource):
72
66
  query_parameters={},
73
67
  )
74
68
 
75
- return DtoResponse.from_response(local_response, models.UrlRedirectResource)
69
+ return DtoResponse.from_responses(local_response, models.UrlRedirectResource)
76
70
 
77
71
  def delete_url_redirect(
78
72
  self,
@@ -83,4 +77,4 @@ class UrlRedirects(Resource):
83
77
  "DELETE", f"/api/v1/url-redirects/{id_}", data=None, query_parameters={}
84
78
  )
85
79
 
86
- return DtoResponse.from_response(local_response, models.DetailMessage)
80
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -18,25 +18,19 @@ class VirtualHosts(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.VirtualHostResource)
21
+ return DtoResponse.from_responses(local_response, models.VirtualHostResource)
22
22
 
23
23
  def list_virtual_hosts(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.VirtualHostsSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.VirtualHostResource]]:
31
- local_response = self.api_connector.send_or_fail(
29
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
32
30
  "GET",
33
31
  "/api/v1/virtual-hosts",
34
32
  data=None,
35
- query_parameters={
36
- "page": page,
37
- "per_page": per_page,
38
- }
39
- | (
33
+ query_parameters=(
40
34
  include_filters.model_dump(exclude_unset=True)
41
35
  if include_filters
42
36
  else {}
@@ -44,7 +38,7 @@ class VirtualHosts(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.VirtualHostResource)
41
+ return DtoResponse.from_responses(local_responses, models.VirtualHostResource)
48
42
 
49
43
  def read_virtual_host(
50
44
  self,
@@ -59,7 +53,7 @@ class VirtualHosts(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.VirtualHostResource)
56
+ return DtoResponse.from_responses(local_response, models.VirtualHostResource)
63
57
 
64
58
  def update_virtual_host(
65
59
  self,
@@ -74,7 +68,7 @@ class VirtualHosts(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.VirtualHostResource)
71
+ return DtoResponse.from_responses(local_response, models.VirtualHostResource)
78
72
 
79
73
  def delete_virtual_host(
80
74
  self,
@@ -91,7 +85,7 @@ class VirtualHosts(Resource):
91
85
  },
92
86
  )
93
87
 
94
- return DtoResponse.from_response(local_response, models.DetailMessage)
88
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
95
89
 
96
90
  def get_virtual_host_document_root(
97
91
  self,
@@ -105,7 +99,9 @@ class VirtualHosts(Resource):
105
99
  query_parameters={},
106
100
  )
107
101
 
108
- return DtoResponse.from_response(local_response, models.VirtualHostDocumentRoot)
102
+ return DtoResponse.from_responses(
103
+ local_response, models.VirtualHostDocumentRoot
104
+ )
109
105
 
110
106
  def sync_document_roots_of_virtual_hosts(
111
107
  self,
@@ -126,7 +122,7 @@ class VirtualHosts(Resource):
126
122
  },
127
123
  )
128
124
 
129
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
125
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
130
126
 
131
127
  def list_virtual_host_access_logs(
132
128
  self,
@@ -134,20 +130,18 @@ class VirtualHosts(Resource):
134
130
  id_: int,
135
131
  timestamp: Optional[str] = None,
136
132
  sort: Optional[str] = None,
137
- page: int = 1,
138
133
  ) -> DtoResponse[list[models.VirtualHostAccessLogResource]]:
139
- local_response = self.api_connector.send_or_fail(
134
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
140
135
  "GET",
141
136
  f"/api/v1/virtual-hosts/{id_}/logs/access",
142
137
  data=None,
143
138
  query_parameters={
144
139
  "timestamp": timestamp,
145
- "page": page,
146
140
  },
147
141
  )
148
142
 
149
- return DtoResponse.from_response(
150
- local_response, models.VirtualHostAccessLogResource
143
+ return DtoResponse.from_responses(
144
+ local_responses, models.VirtualHostAccessLogResource
151
145
  )
152
146
 
153
147
  def list_virtual_host_error_logs(
@@ -156,18 +150,16 @@ class VirtualHosts(Resource):
156
150
  id_: int,
157
151
  timestamp: Optional[str] = None,
158
152
  sort: Optional[str] = None,
159
- page: int = 1,
160
153
  ) -> DtoResponse[list[models.VirtualHostErrorLogResource]]:
161
- local_response = self.api_connector.send_or_fail(
154
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
162
155
  "GET",
163
156
  f"/api/v1/virtual-hosts/{id_}/logs/error",
164
157
  data=None,
165
158
  query_parameters={
166
159
  "timestamp": timestamp,
167
- "page": page,
168
160
  },
169
161
  )
170
162
 
171
- return DtoResponse.from_response(
172
- local_response, models.VirtualHostErrorLogResource
163
+ return DtoResponse.from_responses(
164
+ local_responses, models.VirtualHostErrorLogResource
173
165
  )
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-core-api-client
3
- Version: 4.0
3
+ Version: 6.0
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
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: certifi==2026.2.25
9
- Requires-Dist: requests==2.32.5
9
+ Requires-Dist: requests==2.33.0
10
10
  Requires-Dist: pydantic[email]==2.12.5
11
11
 
12
12
  # python3-core-api-client
13
13
 
14
14
  Python client for Core API.
15
15
 
16
- This client was built for and tested on the **1.265.0** version of the API.
16
+ This client was built for and tested on the **1.267.0** version of the API.
17
17
 
18
18
  ## Support
19
19