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
@@ -17,25 +17,19 @@ class HtpasswdUsers(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.HtpasswdUserResource)
20
+ return DtoResponse.from_responses(local_response, models.HtpasswdUserResource)
21
21
 
22
22
  def list_htpasswd_users(
23
23
  self,
24
24
  *,
25
- page: int = 1,
26
- per_page: int = 50,
27
25
  include_filters: models.HtpasswdUsersSearchRequest | None = None,
28
26
  includes: list[str] | None = None,
29
27
  ) -> DtoResponse[list[models.HtpasswdUserResource]]:
30
- local_response = self.api_connector.send_or_fail(
28
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
31
29
  "GET",
32
30
  "/api/v1/htpasswd-users",
33
31
  data=None,
34
- query_parameters={
35
- "page": page,
36
- "per_page": per_page,
37
- }
38
- | (
32
+ query_parameters=(
39
33
  include_filters.model_dump(exclude_unset=True)
40
34
  if include_filters
41
35
  else {}
@@ -43,7 +37,7 @@ class HtpasswdUsers(Resource):
43
37
  | construct_includes_query_parameter(includes),
44
38
  )
45
39
 
46
- return DtoResponse.from_response(local_response, models.HtpasswdUserResource)
40
+ return DtoResponse.from_responses(local_responses, models.HtpasswdUserResource)
47
41
 
48
42
  def read_htpasswd_user(
49
43
  self,
@@ -58,7 +52,7 @@ class HtpasswdUsers(Resource):
58
52
  query_parameters=construct_includes_query_parameter(includes),
59
53
  )
60
54
 
61
- return DtoResponse.from_response(local_response, models.HtpasswdUserResource)
55
+ return DtoResponse.from_responses(local_response, models.HtpasswdUserResource)
62
56
 
63
57
  def update_htpasswd_user(
64
58
  self,
@@ -73,7 +67,7 @@ class HtpasswdUsers(Resource):
73
67
  query_parameters={},
74
68
  )
75
69
 
76
- return DtoResponse.from_response(local_response, models.HtpasswdUserResource)
70
+ return DtoResponse.from_responses(local_response, models.HtpasswdUserResource)
77
71
 
78
72
  def delete_htpasswd_user(
79
73
  self,
@@ -87,4 +81,4 @@ class HtpasswdUsers(Resource):
87
81
  query_parameters={},
88
82
  )
89
83
 
90
- return DtoResponse.from_response(local_response, models.DetailMessage)
84
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -17,7 +17,7 @@ class Login(Resource):
17
17
  content_type="application/x-www-form-urlencoded",
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.TokenResource)
20
+ return DtoResponse.from_responses(local_response, models.TokenResource)
21
21
 
22
22
  def test_access_token(
23
23
  self,
@@ -26,4 +26,4 @@ class Login(Resource):
26
26
  "POST", "/api/v1/login/test-token", data=None, query_parameters={}
27
27
  )
28
28
 
29
- return DtoResponse.from_response(local_response, models.ApiUserInfo)
29
+ return DtoResponse.from_responses(local_response, models.ApiUserInfo)
@@ -9,20 +9,14 @@ class Logs(Resource):
9
9
  def list_object_logs(
10
10
  self,
11
11
  *,
12
- page: int = 1,
13
- per_page: int = 50,
14
12
  include_filters: models.ObjectLogsSearchRequest | None = None,
15
13
  includes: list[str] | None = None,
16
14
  ) -> DtoResponse[list[models.ObjectLogResource]]:
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/object-logs",
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,25 +24,19 @@ class Logs(Resource):
30
24
  | construct_includes_query_parameter(includes),
31
25
  )
32
26
 
33
- return DtoResponse.from_response(local_response, models.ObjectLogResource)
27
+ return DtoResponse.from_responses(local_responses, models.ObjectLogResource)
34
28
 
35
29
  def list_request_logs(
36
30
  self,
37
31
  *,
38
- page: int = 1,
39
- per_page: int = 50,
40
32
  include_filters: models.RequestLogsSearchRequest | None = None,
41
33
  includes: list[str] | None = None,
42
34
  ) -> DtoResponse[list[models.RequestLogResource]]:
43
- local_response = self.api_connector.send_or_fail(
35
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
44
36
  "GET",
45
37
  "/api/v1/request-logs",
46
38
  data=None,
47
- query_parameters={
48
- "page": page,
49
- "per_page": per_page,
50
- }
51
- | (
39
+ query_parameters=(
52
40
  include_filters.model_dump(exclude_unset=True)
53
41
  if include_filters
54
42
  else {}
@@ -56,4 +44,4 @@ class Logs(Resource):
56
44
  | construct_includes_query_parameter(includes),
57
45
  )
58
46
 
59
- return DtoResponse.from_response(local_response, models.RequestLogResource)
47
+ return DtoResponse.from_responses(local_responses, models.RequestLogResource)
@@ -18,25 +18,19 @@ class MailAccounts(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.MailAccountResource)
21
+ return DtoResponse.from_responses(local_response, models.MailAccountResource)
22
22
 
23
23
  def list_mail_accounts(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.MailAccountsSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.MailAccountResource]]:
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/mail-accounts",
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 MailAccounts(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.MailAccountResource)
41
+ return DtoResponse.from_responses(local_responses, models.MailAccountResource)
48
42
 
49
43
  def read_mail_account(
50
44
  self,
@@ -59,7 +53,7 @@ class MailAccounts(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.MailAccountResource)
56
+ return DtoResponse.from_responses(local_response, models.MailAccountResource)
63
57
 
64
58
  def update_mail_account(
65
59
  self,
@@ -74,7 +68,7 @@ class MailAccounts(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.MailAccountResource)
71
+ return DtoResponse.from_responses(local_response, models.MailAccountResource)
78
72
 
79
73
  def delete_mail_account(
80
74
  self,
@@ -91,7 +85,7 @@ class MailAccounts(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 list_mail_account_usages(
97
91
  self,
@@ -112,6 +106,6 @@ class MailAccounts(Resource):
112
106
  | construct_includes_query_parameter(includes),
113
107
  )
114
108
 
115
- return DtoResponse.from_response(
109
+ return DtoResponse.from_responses(
116
110
  local_response, models.MailAccountUsageResource
117
111
  )
@@ -17,25 +17,19 @@ class MailAliases(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.MailAliasResource)
20
+ return DtoResponse.from_responses(local_response, models.MailAliasResource)
21
21
 
22
22
  def list_mail_aliases(
23
23
  self,
24
24
  *,
25
- page: int = 1,
26
- per_page: int = 50,
27
25
  include_filters: models.MailAliasesSearchRequest | None = None,
28
26
  includes: list[str] | None = None,
29
27
  ) -> DtoResponse[list[models.MailAliasResource]]:
30
- local_response = self.api_connector.send_or_fail(
28
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
31
29
  "GET",
32
30
  "/api/v1/mail-aliases",
33
31
  data=None,
34
- query_parameters={
35
- "page": page,
36
- "per_page": per_page,
37
- }
38
- | (
32
+ query_parameters=(
39
33
  include_filters.model_dump(exclude_unset=True)
40
34
  if include_filters
41
35
  else {}
@@ -43,7 +37,7 @@ class MailAliases(Resource):
43
37
  | construct_includes_query_parameter(includes),
44
38
  )
45
39
 
46
- return DtoResponse.from_response(local_response, models.MailAliasResource)
40
+ return DtoResponse.from_responses(local_responses, models.MailAliasResource)
47
41
 
48
42
  def read_mail_alias(
49
43
  self,
@@ -58,7 +52,7 @@ class MailAliases(Resource):
58
52
  query_parameters=construct_includes_query_parameter(includes),
59
53
  )
60
54
 
61
- return DtoResponse.from_response(local_response, models.MailAliasResource)
55
+ return DtoResponse.from_responses(local_response, models.MailAliasResource)
62
56
 
63
57
  def update_mail_alias(
64
58
  self,
@@ -73,7 +67,7 @@ class MailAliases(Resource):
73
67
  query_parameters={},
74
68
  )
75
69
 
76
- return DtoResponse.from_response(local_response, models.MailAliasResource)
70
+ return DtoResponse.from_responses(local_response, models.MailAliasResource)
77
71
 
78
72
  def delete_mail_alias(
79
73
  self,
@@ -84,4 +78,4 @@ class MailAliases(Resource):
84
78
  "DELETE", f"/api/v1/mail-aliases/{id_}", data=None, query_parameters={}
85
79
  )
86
80
 
87
- return DtoResponse.from_response(local_response, models.DetailMessage)
81
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -17,25 +17,19 @@ class MailDomains(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.MailDomainResource)
20
+ return DtoResponse.from_responses(local_response, models.MailDomainResource)
21
21
 
22
22
  def list_mail_domains(
23
23
  self,
24
24
  *,
25
- page: int = 1,
26
- per_page: int = 50,
27
25
  include_filters: models.MailDomainsSearchRequest | None = None,
28
26
  includes: list[str] | None = None,
29
27
  ) -> DtoResponse[list[models.MailDomainResource]]:
30
- local_response = self.api_connector.send_or_fail(
28
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
31
29
  "GET",
32
30
  "/api/v1/mail-domains",
33
31
  data=None,
34
- query_parameters={
35
- "page": page,
36
- "per_page": per_page,
37
- }
38
- | (
32
+ query_parameters=(
39
33
  include_filters.model_dump(exclude_unset=True)
40
34
  if include_filters
41
35
  else {}
@@ -43,7 +37,7 @@ class MailDomains(Resource):
43
37
  | construct_includes_query_parameter(includes),
44
38
  )
45
39
 
46
- return DtoResponse.from_response(local_response, models.MailDomainResource)
40
+ return DtoResponse.from_responses(local_responses, models.MailDomainResource)
47
41
 
48
42
  def read_mail_domain(
49
43
  self,
@@ -58,7 +52,7 @@ class MailDomains(Resource):
58
52
  query_parameters=construct_includes_query_parameter(includes),
59
53
  )
60
54
 
61
- return DtoResponse.from_response(local_response, models.MailDomainResource)
55
+ return DtoResponse.from_responses(local_response, models.MailDomainResource)
62
56
 
63
57
  def update_mail_domain(
64
58
  self,
@@ -73,7 +67,7 @@ class MailDomains(Resource):
73
67
  query_parameters={},
74
68
  )
75
69
 
76
- return DtoResponse.from_response(local_response, models.MailDomainResource)
70
+ return DtoResponse.from_responses(local_response, models.MailDomainResource)
77
71
 
78
72
  def delete_mail_domain(
79
73
  self,
@@ -84,4 +78,4 @@ class MailDomains(Resource):
84
78
  "DELETE", f"/api/v1/mail-domains/{id_}", data=None, query_parameters={}
85
79
  )
86
80
 
87
- return DtoResponse.from_response(local_response, models.DetailMessage)
81
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -17,25 +17,19 @@ class MailHostnames(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(local_response, models.MailHostnameResource)
20
+ return DtoResponse.from_responses(local_response, models.MailHostnameResource)
21
21
 
22
22
  def list_mail_hostnames(
23
23
  self,
24
24
  *,
25
- page: int = 1,
26
- per_page: int = 50,
27
25
  include_filters: models.MailHostnamesSearchRequest | None = None,
28
26
  includes: list[str] | None = None,
29
27
  ) -> DtoResponse[list[models.MailHostnameResource]]:
30
- local_response = self.api_connector.send_or_fail(
28
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
31
29
  "GET",
32
30
  "/api/v1/mail-hostnames",
33
31
  data=None,
34
- query_parameters={
35
- "page": page,
36
- "per_page": per_page,
37
- }
38
- | (
32
+ query_parameters=(
39
33
  include_filters.model_dump(exclude_unset=True)
40
34
  if include_filters
41
35
  else {}
@@ -43,7 +37,7 @@ class MailHostnames(Resource):
43
37
  | construct_includes_query_parameter(includes),
44
38
  )
45
39
 
46
- return DtoResponse.from_response(local_response, models.MailHostnameResource)
40
+ return DtoResponse.from_responses(local_responses, models.MailHostnameResource)
47
41
 
48
42
  def read_mail_hostname(
49
43
  self,
@@ -58,7 +52,7 @@ class MailHostnames(Resource):
58
52
  query_parameters=construct_includes_query_parameter(includes),
59
53
  )
60
54
 
61
- return DtoResponse.from_response(local_response, models.MailHostnameResource)
55
+ return DtoResponse.from_responses(local_response, models.MailHostnameResource)
62
56
 
63
57
  def update_mail_hostname(
64
58
  self,
@@ -73,7 +67,7 @@ class MailHostnames(Resource):
73
67
  query_parameters={},
74
68
  )
75
69
 
76
- return DtoResponse.from_response(local_response, models.MailHostnameResource)
70
+ return DtoResponse.from_responses(local_response, models.MailHostnameResource)
77
71
 
78
72
  def delete_mail_hostname(
79
73
  self,
@@ -87,4 +81,4 @@ class MailHostnames(Resource):
87
81
  query_parameters={},
88
82
  )
89
83
 
90
- return DtoResponse.from_response(local_response, models.DetailMessage)
84
+ return DtoResponse.from_responses(local_response, models.DetailMessage)
@@ -9,20 +9,14 @@ class Malwares(Resource):
9
9
  def list_malwares(
10
10
  self,
11
11
  *,
12
- page: int = 1,
13
- per_page: int = 50,
14
12
  include_filters: models.MalwaresSearchRequest | None = None,
15
13
  includes: list[str] | None = None,
16
14
  ) -> DtoResponse[list[models.MalwareResource]]:
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/malwares",
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 Malwares(Resource):
30
24
  | construct_includes_query_parameter(includes),
31
25
  )
32
26
 
33
- return DtoResponse.from_response(local_response, models.MalwareResource)
27
+ return DtoResponse.from_responses(local_responses, models.MalwareResource)
@@ -17,27 +17,21 @@ class MariadbEncryptionKeys(Resource):
17
17
  query_parameters={},
18
18
  )
19
19
 
20
- return DtoResponse.from_response(
20
+ return DtoResponse.from_responses(
21
21
  local_response, models.MariadbEncryptionKeyResource
22
22
  )
23
23
 
24
24
  def list_mariadb_encryption_keys(
25
25
  self,
26
26
  *,
27
- page: int = 1,
28
- per_page: int = 50,
29
27
  include_filters: models.MariadbEncryptionKeysSearchRequest | None = None,
30
28
  includes: list[str] | None = None,
31
29
  ) -> DtoResponse[list[models.MariadbEncryptionKeyResource]]:
32
- local_response = self.api_connector.send_or_fail(
30
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
33
31
  "GET",
34
32
  "/api/v1/mariadb-encryption-keys",
35
33
  data=None,
36
- query_parameters={
37
- "page": page,
38
- "per_page": per_page,
39
- }
40
- | (
34
+ query_parameters=(
41
35
  include_filters.model_dump(exclude_unset=True)
42
36
  if include_filters
43
37
  else {}
@@ -45,8 +39,8 @@ class MariadbEncryptionKeys(Resource):
45
39
  | construct_includes_query_parameter(includes),
46
40
  )
47
41
 
48
- return DtoResponse.from_response(
49
- local_response, models.MariadbEncryptionKeyResource
42
+ return DtoResponse.from_responses(
43
+ local_responses, models.MariadbEncryptionKeyResource
50
44
  )
51
45
 
52
46
  def read_mariadb_encryption_key(
@@ -62,6 +56,6 @@ class MariadbEncryptionKeys(Resource):
62
56
  query_parameters=construct_includes_query_parameter(includes),
63
57
  )
64
58
 
65
- return DtoResponse.from_response(
59
+ return DtoResponse.from_responses(
66
60
  local_response, models.MariadbEncryptionKeyResource
67
61
  )
@@ -18,25 +18,19 @@ class N8nInstances(Resource):
18
18
  query_parameters={},
19
19
  )
20
20
 
21
- return DtoResponse.from_response(local_response, models.N8nInstanceResource)
21
+ return DtoResponse.from_responses(local_response, models.N8nInstanceResource)
22
22
 
23
23
  def list_n8n_instances(
24
24
  self,
25
25
  *,
26
- page: int = 1,
27
- per_page: int = 50,
28
26
  include_filters: models.N8nInstancesSearchRequest | None = None,
29
27
  includes: list[str] | None = None,
30
28
  ) -> DtoResponse[list[models.N8nInstanceResource]]:
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/n8n-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 N8nInstances(Resource):
44
38
  | construct_includes_query_parameter(includes),
45
39
  )
46
40
 
47
- return DtoResponse.from_response(local_response, models.N8nInstanceResource)
41
+ return DtoResponse.from_responses(local_responses, models.N8nInstanceResource)
48
42
 
49
43
  def read_n8n_instance(
50
44
  self,
@@ -59,7 +53,7 @@ class N8nInstances(Resource):
59
53
  query_parameters=construct_includes_query_parameter(includes),
60
54
  )
61
55
 
62
- return DtoResponse.from_response(local_response, models.N8nInstanceResource)
56
+ return DtoResponse.from_responses(local_response, models.N8nInstanceResource)
63
57
 
64
58
  def update_n8n_instance(
65
59
  self,
@@ -74,7 +68,7 @@ class N8nInstances(Resource):
74
68
  query_parameters={},
75
69
  )
76
70
 
77
- return DtoResponse.from_response(local_response, models.N8nInstanceResource)
71
+ return DtoResponse.from_responses(local_response, models.N8nInstanceResource)
78
72
 
79
73
  def delete_n8n_instance(
80
74
  self,
@@ -91,4 +85,4 @@ class N8nInstances(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)
@@ -21,25 +21,19 @@ class NodeAddOns(Resource):
21
21
  },
22
22
  )
23
23
 
24
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
24
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
25
25
 
26
26
  def list_node_add_ons(
27
27
  self,
28
28
  *,
29
- page: int = 1,
30
- per_page: int = 50,
31
29
  include_filters: models.NodeAddOnsSearchRequest | None = None,
32
30
  includes: list[str] | None = None,
33
31
  ) -> DtoResponse[list[models.NodeAddOnResource]]:
34
- local_response = self.api_connector.send_or_fail(
32
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
35
33
  "GET",
36
34
  "/api/v1/node-add-ons",
37
35
  data=None,
38
- query_parameters={
39
- "page": page,
40
- "per_page": per_page,
41
- }
42
- | (
36
+ query_parameters=(
43
37
  include_filters.model_dump(exclude_unset=True)
44
38
  if include_filters
45
39
  else {}
@@ -47,7 +41,7 @@ class NodeAddOns(Resource):
47
41
  | construct_includes_query_parameter(includes),
48
42
  )
49
43
 
50
- return DtoResponse.from_response(local_response, models.NodeAddOnResource)
44
+ return DtoResponse.from_responses(local_responses, models.NodeAddOnResource)
51
45
 
52
46
  def get_node_add_on_products(
53
47
  self,
@@ -56,7 +50,7 @@ class NodeAddOns(Resource):
56
50
  "GET", "/api/v1/node-add-ons/products", data=None, query_parameters={}
57
51
  )
58
52
 
59
- return DtoResponse.from_response(local_response, models.NodeAddOnProduct)
53
+ return DtoResponse.from_responses(local_response, models.NodeAddOnProduct)
60
54
 
61
55
  def read_node_add_on(
62
56
  self,
@@ -71,7 +65,7 @@ class NodeAddOns(Resource):
71
65
  query_parameters=construct_includes_query_parameter(includes),
72
66
  )
73
67
 
74
- return DtoResponse.from_response(local_response, models.NodeAddOnResource)
68
+ return DtoResponse.from_responses(local_response, models.NodeAddOnResource)
75
69
 
76
70
  def delete_node_add_on(
77
71
  self,
@@ -88,4 +82,4 @@ class NodeAddOns(Resource):
88
82
  },
89
83
  )
90
84
 
91
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
85
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
@@ -22,25 +22,19 @@ class Nodes(Resource):
22
22
  query_parameters={"callback_url": callback_url, "amount": amount},
23
23
  )
24
24
 
25
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
25
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
26
26
 
27
27
  def list_nodes(
28
28
  self,
29
29
  *,
30
- page: int = 1,
31
- per_page: int = 50,
32
30
  include_filters: models.NodesSearchRequest | None = None,
33
31
  includes: list[str] | None = None,
34
32
  ) -> DtoResponse[list[models.NodeResource]]:
35
- local_response = self.api_connector.send_or_fail(
33
+ local_responses = self.api_connector.send_or_fail_with_auto_pagination(
36
34
  "GET",
37
35
  "/api/v1/nodes",
38
36
  data=None,
39
- query_parameters={
40
- "page": page,
41
- "per_page": per_page,
42
- }
43
- | (
37
+ query_parameters=(
44
38
  include_filters.model_dump(exclude_unset=True)
45
39
  if include_filters
46
40
  else {}
@@ -48,7 +42,7 @@ class Nodes(Resource):
48
42
  | construct_includes_query_parameter(includes),
49
43
  )
50
44
 
51
- return DtoResponse.from_response(local_response, models.NodeResource)
45
+ return DtoResponse.from_responses(local_responses, models.NodeResource)
52
46
 
53
47
  def get_node_products(
54
48
  self,
@@ -57,7 +51,7 @@ class Nodes(Resource):
57
51
  "GET", "/api/v1/nodes/products", data=None, query_parameters={}
58
52
  )
59
53
 
60
- return DtoResponse.from_response(local_response, models.NodeProduct)
54
+ return DtoResponse.from_responses(local_response, models.NodeProduct)
61
55
 
62
56
  def read_node(
63
57
  self,
@@ -72,7 +66,7 @@ class Nodes(Resource):
72
66
  query_parameters=construct_includes_query_parameter(includes),
73
67
  )
74
68
 
75
- return DtoResponse.from_response(local_response, models.NodeResource)
69
+ return DtoResponse.from_responses(local_response, models.NodeResource)
76
70
 
77
71
  def update_node(
78
72
  self,
@@ -87,7 +81,7 @@ class Nodes(Resource):
87
81
  query_parameters={},
88
82
  )
89
83
 
90
- return DtoResponse.from_response(local_response, models.NodeResource)
84
+ return DtoResponse.from_responses(local_response, models.NodeResource)
91
85
 
92
86
  def delete_node(
93
87
  self,
@@ -104,7 +98,7 @@ class Nodes(Resource):
104
98
  },
105
99
  )
106
100
 
107
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
101
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
108
102
 
109
103
  def upgrade_downgrade_node(
110
104
  self,
@@ -123,7 +117,7 @@ class Nodes(Resource):
123
117
  },
124
118
  )
125
119
 
126
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
120
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)
127
121
 
128
122
  def add_node_groups(
129
123
  self,
@@ -141,4 +135,4 @@ class Nodes(Resource):
141
135
  },
142
136
  )
143
137
 
144
- return DtoResponse.from_response(local_response, models.TaskCollectionResource)
138
+ return DtoResponse.from_responses(local_response, models.TaskCollectionResource)