python3-core-api-client 2.3__py3-none-any.whl → 2.4.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.
Files changed (53) hide show
  1. cyberfusion/CoreApiClient/connector.py +2 -2
  2. cyberfusion/CoreApiClient/models.py +510 -59
  3. cyberfusion/CoreApiClient/resources/__init__.py +2 -2
  4. cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +9 -10
  5. cyberfusion/CoreApiClient/resources/borg_archives.py +13 -30
  6. cyberfusion/CoreApiClient/resources/borg_repositories.py +10 -10
  7. cyberfusion/CoreApiClient/resources/certificate_managers.py +9 -10
  8. cyberfusion/CoreApiClient/resources/certificates.py +9 -10
  9. cyberfusion/CoreApiClient/resources/clusters.py +192 -207
  10. cyberfusion/CoreApiClient/resources/cmses.py +10 -10
  11. cyberfusion/CoreApiClient/resources/crons.py +9 -10
  12. cyberfusion/CoreApiClient/resources/custom_config_snippets.py +10 -10
  13. cyberfusion/CoreApiClient/resources/custom_configs.py +9 -10
  14. cyberfusion/CoreApiClient/resources/customers.py +18 -12
  15. cyberfusion/CoreApiClient/resources/daemons.py +29 -13
  16. cyberfusion/CoreApiClient/resources/database_user_grants.py +9 -10
  17. cyberfusion/CoreApiClient/resources/database_users.py +9 -11
  18. cyberfusion/CoreApiClient/resources/databases.py +9 -9
  19. cyberfusion/CoreApiClient/resources/domain_routers.py +9 -10
  20. cyberfusion/CoreApiClient/resources/firewall_groups.py +9 -10
  21. cyberfusion/CoreApiClient/resources/firewall_rules.py +9 -10
  22. cyberfusion/CoreApiClient/resources/fpm_pools.py +42 -10
  23. cyberfusion/CoreApiClient/resources/ftp_users.py +9 -10
  24. cyberfusion/CoreApiClient/resources/haproxy_listens.py +9 -10
  25. cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +9 -10
  26. cyberfusion/CoreApiClient/resources/hosts_entries.py +9 -10
  27. cyberfusion/CoreApiClient/resources/htpasswd_files.py +9 -10
  28. cyberfusion/CoreApiClient/resources/htpasswd_users.py +9 -10
  29. cyberfusion/CoreApiClient/resources/logs.py +23 -25
  30. cyberfusion/CoreApiClient/resources/mail_accounts.py +10 -10
  31. cyberfusion/CoreApiClient/resources/mail_aliases.py +9 -10
  32. cyberfusion/CoreApiClient/resources/mail_domains.py +9 -10
  33. cyberfusion/CoreApiClient/resources/mail_hostnames.py +9 -10
  34. cyberfusion/CoreApiClient/resources/malwares.py +9 -10
  35. cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +9 -10
  36. cyberfusion/CoreApiClient/resources/node_add_ons.py +23 -14
  37. cyberfusion/CoreApiClient/resources/nodes.py +22 -17
  38. cyberfusion/CoreApiClient/resources/passenger_apps.py +10 -10
  39. cyberfusion/CoreApiClient/resources/redis_instances.py +10 -10
  40. cyberfusion/CoreApiClient/resources/regions.py +28 -0
  41. cyberfusion/CoreApiClient/resources/root_ssh_keys.py +9 -10
  42. cyberfusion/CoreApiClient/resources/security_txt_policies.py +9 -11
  43. cyberfusion/CoreApiClient/resources/ssh_keys.py +9 -10
  44. cyberfusion/CoreApiClient/resources/tombstones.py +9 -10
  45. cyberfusion/CoreApiClient/resources/unix_users.py +10 -10
  46. cyberfusion/CoreApiClient/resources/url_redirects.py +9 -11
  47. cyberfusion/CoreApiClient/resources/virtual_hosts.py +9 -9
  48. {python3_core_api_client-2.3.dist-info → python3_core_api_client-2.4.1.dist-info}/METADATA +1 -1
  49. python3_core_api_client-2.4.1.dist-info/RECORD +59 -0
  50. cyberfusion/CoreApiClient/resources/sites.py +0 -29
  51. python3_core_api_client-2.3.dist-info/RECORD +0 -59
  52. {python3_core_api_client-2.3.dist-info → python3_core_api_client-2.4.1.dist-info}/WHEEL +0 -0
  53. {python3_core_api_client-2.3.dist-info → python3_core_api_client-2.4.1.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class HAProxyListens(Resource):
22
21
  def list_haproxy_listens(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.HaproxyListensSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.HAProxyListenResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/haproxy-listens",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.HAProxyListenResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -24,21 +23,21 @@ class HAProxyListensToNodes(Resource):
24
23
  def list_haproxy_listens_to_nodes(
25
24
  self,
26
25
  *,
27
- skip: Optional[int] = None,
28
- limit: Optional[int] = None,
29
- filter_: Optional[List[str]] = None,
30
- sort: Optional[List[str]] = None,
26
+ page: int = 1,
27
+ per_page: int = 0,
28
+ include_filters: models.HaproxyListensToNodesSearchRequest | None = None,
31
29
  ) -> DtoResponse[list[models.HAProxyListenToNodeResource]]:
32
30
  local_response = self.api_connector.send_or_fail(
33
31
  "GET",
34
32
  "/api/v1/haproxy-listens-to-nodes",
35
33
  data=None,
36
34
  query_parameters={
37
- "skip": skip,
38
- "limit": limit,
39
- "filter": filter_,
40
- "sort": sort,
41
- },
35
+ "page": page,
36
+ "per_page": per_page,
37
+ }
38
+ | include_filters.dict(exclude_unset=True)
39
+ if include_filters
40
+ else None,
42
41
  )
43
42
 
44
43
  return DtoResponse.from_response(
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
  from cyberfusion.CoreApiClient.interfaces import Resource
4
3
  from cyberfusion.CoreApiClient.http import DtoResponse
5
4
 
@@ -21,21 +20,21 @@ class HostsEntries(Resource):
21
20
  def list_hosts_entries(
22
21
  self,
23
22
  *,
24
- skip: Optional[int] = None,
25
- limit: Optional[int] = None,
26
- filter_: Optional[List[str]] = None,
27
- sort: Optional[List[str]] = None,
23
+ page: int = 1,
24
+ per_page: int = 0,
25
+ include_filters: models.HostsEntriesSearchRequest | None = None,
28
26
  ) -> DtoResponse[list[models.HostsEntryResource]]:
29
27
  local_response = self.api_connector.send_or_fail(
30
28
  "GET",
31
29
  "/api/v1/hosts-entries",
32
30
  data=None,
33
31
  query_parameters={
34
- "skip": skip,
35
- "limit": limit,
36
- "filter": filter_,
37
- "sort": sort,
38
- },
32
+ "page": page,
33
+ "per_page": per_page,
34
+ }
35
+ | include_filters.dict(exclude_unset=True)
36
+ if include_filters
37
+ else None,
39
38
  )
40
39
 
41
40
  return DtoResponse.from_response(local_response, models.HostsEntryResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class HtpasswdFiles(Resource):
22
21
  def list_htpasswd_files(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.HtpasswdFilesSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.HtpasswdFileResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/htpasswd-files",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.HtpasswdFileResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class HtpasswdUsers(Resource):
22
21
  def list_htpasswd_users(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.HtpasswdUsersSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.HtpasswdUserResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/htpasswd-users",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.HtpasswdUserResource)
@@ -1,5 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
2
+ from typing import Optional
3
3
 
4
4
  from cyberfusion.CoreApiClient.http import DtoResponse
5
5
  from cyberfusion.CoreApiClient.interfaces import Resource
@@ -12,7 +12,7 @@ class Logs(Resource):
12
12
  virtual_host_id: int,
13
13
  timestamp: Optional[str] = None,
14
14
  sort: Optional[str] = None,
15
- limit: Optional[int] = None,
15
+ page: int = 1,
16
16
  ) -> DtoResponse[list[models.WebServerLogAccessResource]]:
17
17
  local_response = self.api_connector.send_or_fail(
18
18
  "GET",
@@ -20,8 +20,7 @@ class Logs(Resource):
20
20
  data=None,
21
21
  query_parameters={
22
22
  "timestamp": timestamp,
23
- "sort": sort,
24
- "limit": limit,
23
+ "page": page,
25
24
  },
26
25
  )
27
26
 
@@ -35,7 +34,7 @@ class Logs(Resource):
35
34
  virtual_host_id: int,
36
35
  timestamp: Optional[str] = None,
37
36
  sort: Optional[str] = None,
38
- limit: Optional[int] = None,
37
+ page: int = 1,
39
38
  ) -> DtoResponse[list[models.WebServerLogErrorResource]]:
40
39
  local_response = self.api_connector.send_or_fail(
41
40
  "GET",
@@ -43,8 +42,7 @@ class Logs(Resource):
43
42
  data=None,
44
43
  query_parameters={
45
44
  "timestamp": timestamp,
46
- "sort": sort,
47
- "limit": limit,
45
+ "page": page,
48
46
  },
49
47
  )
50
48
 
@@ -55,21 +53,21 @@ class Logs(Resource):
55
53
  def list_object_logs(
56
54
  self,
57
55
  *,
58
- skip: Optional[int] = None,
59
- limit: Optional[int] = None,
60
- filter_: Optional[List[str]] = None,
61
- sort: Optional[List[str]] = None,
56
+ page: int = 1,
57
+ per_page: int = 0,
58
+ include_filters: models.ObjectLogsSearchRequest | None = None,
62
59
  ) -> DtoResponse[list[models.ObjectLogResource]]:
63
60
  local_response = self.api_connector.send_or_fail(
64
61
  "GET",
65
62
  "/api/v1/object-logs",
66
63
  data=None,
67
64
  query_parameters={
68
- "skip": skip,
69
- "limit": limit,
70
- "filter": filter_,
71
- "sort": sort,
72
- },
65
+ "page": page,
66
+ "per_page": per_page,
67
+ }
68
+ | include_filters.dict(exclude_unset=True)
69
+ if include_filters
70
+ else None,
73
71
  )
74
72
 
75
73
  return DtoResponse.from_response(local_response, models.ObjectLogResource)
@@ -77,21 +75,21 @@ class Logs(Resource):
77
75
  def list_request_logs(
78
76
  self,
79
77
  *,
80
- skip: Optional[int] = None,
81
- limit: Optional[int] = None,
82
- filter_: Optional[List[str]] = None,
83
- sort: Optional[List[str]] = None,
78
+ page: int = 1,
79
+ per_page: int = 0,
80
+ include_filters: models.RequestLogsSearchRequest | None = None,
84
81
  ) -> DtoResponse[list[models.RequestLogResource]]:
85
82
  local_response = self.api_connector.send_or_fail(
86
83
  "GET",
87
84
  "/api/v1/request-logs",
88
85
  data=None,
89
86
  query_parameters={
90
- "skip": skip,
91
- "limit": limit,
92
- "filter": filter_,
93
- "sort": sort,
94
- },
87
+ "page": page,
88
+ "per_page": per_page,
89
+ }
90
+ | include_filters.dict(exclude_unset=True)
91
+ if include_filters
92
+ else None,
95
93
  )
96
94
 
97
95
  return DtoResponse.from_response(local_response, models.RequestLogResource)
@@ -1,5 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
2
+ from typing import Optional
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
5
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +22,21 @@ class MailAccounts(Resource):
22
22
  def list_mail_accounts(
23
23
  self,
24
24
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
25
+ page: int = 1,
26
+ per_page: int = 0,
27
+ include_filters: models.MailAccountsSearchRequest | None = None,
29
28
  ) -> DtoResponse[list[models.MailAccountResource]]:
30
29
  local_response = self.api_connector.send_or_fail(
31
30
  "GET",
32
31
  "/api/v1/mail-accounts",
33
32
  data=None,
34
33
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
34
+ "page": page,
35
+ "per_page": per_page,
36
+ }
37
+ | include_filters.dict(exclude_unset=True)
38
+ if include_filters
39
+ else None,
40
40
  )
41
41
 
42
42
  return DtoResponse.from_response(local_response, models.MailAccountResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class MailAliases(Resource):
22
21
  def list_mail_aliases(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.MailAliasesSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.MailAliasResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/mail-aliases",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.MailAliasResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class MailDomains(Resource):
22
21
  def list_mail_domains(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.MailDomainsSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.MailDomainResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/mail-domains",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.MailDomainResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -22,21 +21,21 @@ class MailHostnames(Resource):
22
21
  def list_mail_hostnames(
23
22
  self,
24
23
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
24
+ page: int = 1,
25
+ per_page: int = 0,
26
+ include_filters: models.MailHostnamesSearchRequest | None = None,
29
27
  ) -> DtoResponse[list[models.MailHostnameResource]]:
30
28
  local_response = self.api_connector.send_or_fail(
31
29
  "GET",
32
30
  "/api/v1/mail-hostnames",
33
31
  data=None,
34
32
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
33
+ "page": page,
34
+ "per_page": per_page,
35
+ }
36
+ | include_filters.dict(exclude_unset=True)
37
+ if include_filters
38
+ else None,
40
39
  )
41
40
 
42
41
  return DtoResponse.from_response(local_response, models.MailHostnameResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.http import DtoResponse
5
4
  from cyberfusion.CoreApiClient.interfaces import Resource
@@ -9,21 +8,21 @@ class Malwares(Resource):
9
8
  def list_malwares(
10
9
  self,
11
10
  *,
12
- skip: Optional[int] = None,
13
- limit: Optional[int] = None,
14
- filter_: Optional[List[str]] = None,
15
- sort: Optional[List[str]] = None,
11
+ page: int = 1,
12
+ per_page: int = 0,
13
+ include_filters: models.MalwaresSearchRequest | None = None,
16
14
  ) -> DtoResponse[list[models.MalwareResource]]:
17
15
  local_response = self.api_connector.send_or_fail(
18
16
  "GET",
19
17
  "/api/v1/malwares",
20
18
  data=None,
21
19
  query_parameters={
22
- "skip": skip,
23
- "limit": limit,
24
- "filter": filter_,
25
- "sort": sort,
26
- },
20
+ "page": page,
21
+ "per_page": per_page,
22
+ }
23
+ | include_filters.dict(exclude_unset=True)
24
+ if include_filters
25
+ else None,
27
26
  )
28
27
 
29
28
  return DtoResponse.from_response(local_response, models.MalwareResource)
@@ -1,5 +1,4 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
3
2
 
4
3
  from cyberfusion.CoreApiClient.interfaces import Resource
5
4
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -24,21 +23,21 @@ class MariaDBEncryptionKeys(Resource):
24
23
  def list_mariadb_encryption_keys(
25
24
  self,
26
25
  *,
27
- skip: Optional[int] = None,
28
- limit: Optional[int] = None,
29
- filter_: Optional[List[str]] = None,
30
- sort: Optional[List[str]] = None,
26
+ page: int = 1,
27
+ per_page: int = 0,
28
+ include_filters: models.MariadbEncryptionKeysSearchRequest | None = None,
31
29
  ) -> DtoResponse[list[models.MariaDBEncryptionKeyResource]]:
32
30
  local_response = self.api_connector.send_or_fail(
33
31
  "GET",
34
32
  "/api/v1/mariadb-encryption-keys",
35
33
  data=None,
36
34
  query_parameters={
37
- "skip": skip,
38
- "limit": limit,
39
- "filter": filter_,
40
- "sort": sort,
41
- },
35
+ "page": page,
36
+ "per_page": per_page,
37
+ }
38
+ | include_filters.dict(exclude_unset=True)
39
+ if include_filters
40
+ else None,
42
41
  )
43
42
 
44
43
  return DtoResponse.from_response(
@@ -1,5 +1,5 @@
1
1
  from cyberfusion.CoreApiClient import models
2
- from typing import Optional, List
2
+ from typing import Optional
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
5
  from cyberfusion.CoreApiClient.http import DtoResponse
@@ -9,12 +9,15 @@ class NodeAddOns(Resource):
9
9
  def create_node_add_on(
10
10
  self,
11
11
  request: models.NodeAddOnCreateRequest,
12
+ callback_url: Optional[str] = None,
12
13
  ) -> DtoResponse[models.TaskCollectionResource]:
13
14
  local_response = self.api_connector.send_or_fail(
14
15
  "POST",
15
16
  "/api/v1/node-add-ons",
16
17
  data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
+ query_parameters={
19
+ "callback_url": callback_url,
20
+ },
18
21
  )
19
22
 
20
23
  return DtoResponse.from_response(local_response, models.TaskCollectionResource)
@@ -22,21 +25,21 @@ class NodeAddOns(Resource):
22
25
  def list_node_add_ons(
23
26
  self,
24
27
  *,
25
- skip: Optional[int] = None,
26
- limit: Optional[int] = None,
27
- filter_: Optional[List[str]] = None,
28
- sort: Optional[List[str]] = None,
28
+ page: int = 1,
29
+ per_page: int = 0,
30
+ include_filters: models.NodeAddOnsSearchRequest | None = None,
29
31
  ) -> DtoResponse[list[models.NodeAddOnResource]]:
30
32
  local_response = self.api_connector.send_or_fail(
31
33
  "GET",
32
34
  "/api/v1/node-add-ons",
33
35
  data=None,
34
36
  query_parameters={
35
- "skip": skip,
36
- "limit": limit,
37
- "filter": filter_,
38
- "sort": sort,
39
- },
37
+ "page": page,
38
+ "per_page": per_page,
39
+ }
40
+ | include_filters.dict(exclude_unset=True)
41
+ if include_filters
42
+ else None,
40
43
  )
41
44
 
42
45
  return DtoResponse.from_response(local_response, models.NodeAddOnResource)
@@ -65,9 +68,15 @@ class NodeAddOns(Resource):
65
68
  self,
66
69
  *,
67
70
  id_: int,
68
- ) -> DtoResponse[models.DetailMessage]:
71
+ callback_url: Optional[str] = None,
72
+ ) -> DtoResponse[models.TaskCollectionResource]:
69
73
  local_response = self.api_connector.send_or_fail(
70
- "DELETE", f"/api/v1/node-add-ons/{id_}", data=None, query_parameters={}
74
+ "DELETE",
75
+ f"/api/v1/node-add-ons/{id_}",
76
+ data=None,
77
+ query_parameters={
78
+ "callback_url": callback_url,
79
+ },
71
80
  )
72
81
 
73
- return DtoResponse.from_response(local_response, models.DetailMessage)
82
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)