python3-core-api-client 2.11__tar.gz → 2.12__tar.gz

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 (66) hide show
  1. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/PKG-INFO +6 -6
  2. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/README.md +2 -2
  3. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/pyproject.toml +4 -4
  4. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/connector.py +4 -0
  5. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/models.py +36 -0
  6. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/__init__.py +2 -0
  7. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +1 -1
  8. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/borg_archives.py +1 -1
  9. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/borg_repositories.py +1 -1
  10. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/certificate_managers.py +1 -1
  11. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/certificates.py +1 -1
  12. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/clusters.py +19 -19
  13. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/cmses.py +1 -1
  14. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/crons.py +1 -1
  15. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/custom_config_snippets.py +1 -1
  16. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/custom_configs.py +1 -1
  17. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/customers.py +1 -1
  18. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/daemons.py +1 -1
  19. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/database_user_grants.py +1 -1
  20. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/database_users.py +1 -1
  21. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/databases.py +1 -1
  22. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/domain_routers.py +1 -1
  23. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/firewall_groups.py +1 -1
  24. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/firewall_rules.py +1 -1
  25. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/fpm_pools.py +1 -1
  26. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/ftp_users.py +1 -1
  27. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/haproxy_listens.py +1 -1
  28. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +1 -1
  29. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/hosts_entries.py +1 -1
  30. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/htpasswd_files.py +1 -1
  31. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/htpasswd_users.py +1 -1
  32. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/logs.py +2 -2
  33. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/mail_accounts.py +1 -1
  34. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/mail_aliases.py +1 -1
  35. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/mail_domains.py +1 -1
  36. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/mail_hostnames.py +1 -1
  37. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/malwares.py +1 -1
  38. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +1 -1
  39. python3_core_api_client-2.12/src/cyberfusion/CoreApiClient/resources/n8n_instances.py +94 -0
  40. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/node_add_ons.py +1 -1
  41. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/nodes.py +1 -1
  42. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/passenger_apps.py +1 -1
  43. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/redis_instances.py +1 -1
  44. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/regions.py +1 -1
  45. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/root_ssh_keys.py +1 -1
  46. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/security_txt_policies.py +1 -1
  47. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/ssh_keys.py +1 -1
  48. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/unix_users.py +1 -1
  49. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/url_redirects.py +1 -1
  50. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/virtual_hosts.py +1 -1
  51. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/python3_core_api_client.egg-info/PKG-INFO +6 -6
  52. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/python3_core_api_client.egg-info/SOURCES.txt +1 -0
  53. python3_core_api_client-2.12/src/python3_core_api_client.egg-info/requires.txt +3 -0
  54. python3_core_api_client-2.11/src/python3_core_api_client.egg-info/requires.txt +0 -3
  55. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/setup.cfg +0 -0
  56. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/__init__.py +0 -0
  57. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/_encoders.py +0 -0
  58. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/_helpers.py +0 -0
  59. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/exceptions.py +0 -0
  60. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/http.py +0 -0
  61. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/interfaces.py +0 -0
  62. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/health.py +0 -0
  63. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/login.py +0 -0
  64. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/cyberfusion/CoreApiClient/resources/task_collections.py +0 -0
  65. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/python3_core_api_client.egg-info/dependency_links.txt +0 -0
  66. {python3_core_api_client-2.11 → python3_core_api_client-2.12}/src/python3_core_api_client.egg-info/top_level.txt +0 -0
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-core-api-client
3
- Version: 2.11
3
+ Version: 2.12
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
- Requires-Dist: certifi==2025.1.31
9
- Requires-Dist: requests==2.32.3
10
- Requires-Dist: pydantic[email]==2.10.6
8
+ Requires-Dist: certifi==2025.11.12
9
+ Requires-Dist: requests==2.32.5
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.260.0** version of the API.
16
+ This client was built for and tested on the **1.263.0** version of the API.
17
17
 
18
18
  ## Support
19
19
 
@@ -300,7 +300,7 @@ To raise `cyberfusion.CoreApiClient.exceptions.CallException` in case of an unex
300
300
 
301
301
  Auto-generate models as follows:
302
302
 
303
- datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.CoreApiModel
303
+ datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.BaseCoreApiModel
304
304
 
305
305
  This adds models to `temp_models.py`. Merge it with `models.py`.
306
306
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Python client for Core API.
4
4
 
5
- This client was built for and tested on the **1.260.0** version of the API.
5
+ This client was built for and tested on the **1.263.0** version of the API.
6
6
 
7
7
  ## Support
8
8
 
@@ -289,7 +289,7 @@ To raise `cyberfusion.CoreApiClient.exceptions.CallException` in case of an unex
289
289
 
290
290
  Auto-generate models as follows:
291
291
 
292
- datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.CoreApiModel
292
+ datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.BaseCoreApiModel
293
293
 
294
294
  This adds models to `temp_models.py`. Merge it with `models.py`.
295
295
 
@@ -4,16 +4,16 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python3-core-api-client"
7
- version = "2.11"
7
+ version = "2.12"
8
8
  description = "Python client for Core API."
9
9
  readme = "README.md"
10
10
  authors = [
11
11
  { name = "Cyberfusion", email = "support@cyberfusion.io" },
12
12
  ]
13
13
  dependencies = [
14
- "certifi==2025.1.31",
15
- "requests==2.32.3",
16
- "pydantic[email]==2.10.6",
14
+ "certifi==2025.11.12",
15
+ "requests==2.32.5",
16
+ "pydantic[email]==2.12.5",
17
17
  ]
18
18
 
19
19
  [project.urls]
@@ -319,6 +319,10 @@ class CoreApiConnector(CoreApiClient):
319
319
  def redis_instances(self) -> resources.redis_instances.RedisInstances:
320
320
  return resources.redis_instances.RedisInstances(self)
321
321
 
322
+ @cached_property
323
+ def n8n_instances(self) -> resources.n8n_instances.N8nInstances:
324
+ return resources.n8n_instances.N8nInstances(self)
325
+
322
326
  @cached_property
323
327
  def task_collections(self) -> resources.task_collections.TaskCollections:
324
328
  return resources.task_collections.TaskCollections(self)
@@ -441,6 +441,7 @@ class DomainRouterCategoryEnum(StrEnum):
441
441
  RABBITMQ_MANAGEMENT = "RabbitMQ Management"
442
442
  VIRTUAL_HOST = "Virtual Host"
443
443
  URL_REDIRECT = "URL Redirect"
444
+ N8N = "n8n"
444
445
 
445
446
 
446
447
  class DomainRouterUpdateRequest(BaseCoreApiModel):
@@ -728,6 +729,7 @@ class NodeGroupEnum(StrEnum):
728
729
  GNU_MAILUTILS = "GNU Mailutils"
729
730
  CLAMAV = "ClamAV"
730
731
  PUPPETEER = "Puppeteer"
732
+ N8N = "n8n"
731
733
  LIBREOFFICE = "LibreOffice"
732
734
  GHOSTSCRIPT = "Ghostscript"
733
735
  FFMPEG = "FFmpeg"
@@ -815,6 +817,7 @@ class ObjectModelNameEnum(StrEnum):
815
817
  SERVICE_ACCOUNT = "ServiceAccount"
816
818
  SERVICE_ACCOUNT_SERVER = "ServiceAccountServer"
817
819
  CUSTOM_CONFIG = "CustomConfig"
820
+ N8N_INSTANCE = "N8nInstance"
818
821
  CLUSTERS_PHP_PROPERTIES = "ClustersPhpProperties"
819
822
  CLUSTERS_NODEJS_PROPERTIES = "ClustersNodejsProperties"
820
823
  CLUSTERS_BORG_PROPERTIES = "ClustersBorgProperties"
@@ -903,6 +906,22 @@ class RedisEvictionPolicyEnum(StrEnum):
903
906
  NOEVICTION = "noeviction"
904
907
 
905
908
 
909
+ class N8nInstanceCreateRequest(BaseCoreApiModel):
910
+ name: constr(pattern=r"^[a-z0-9-_]+$", min_length=1, max_length=64)
911
+ domain: str
912
+ cluster_id: int
913
+
914
+
915
+ class N8nInstanceUpdateRequest(BaseCoreApiModel):
916
+ domain: str | None = None
917
+
918
+
919
+ class N8nInstancesSearchRequest(BaseCoreApiModel):
920
+ name: str | None = None
921
+ domain: str | None = None
922
+ cluster_id: int | None = None
923
+
924
+
906
925
  class RedisInstanceCreateRequest(BaseCoreApiModel):
907
926
  name: constr(pattern=r"^[a-z0-9-_]+$", min_length=1, max_length=64)
908
927
  cluster_id: int
@@ -2877,6 +2896,7 @@ class SpecificationNameEnum(StrEnum):
2877
2896
  CLUSTER_SUPPORTS_FPM_POOLS = "Cluster supports FPM pools"
2878
2897
  CLUSTER_SUPPORTS_PASSENGER_APPS = "Cluster supports Passenger apps"
2879
2898
  CLUSTER_SUPPORTS_REDIS_INSTANCES = "Cluster supports Redis instances"
2899
+ CLUSTER_SUPPORTS_N8N_INSTANCES = "Cluster supports n8n instances"
2880
2900
  CLUSTER_SUPPORTS_UNIX_USERS = "Cluster supports UNIX users"
2881
2901
  CLUSTER_SUPPORTS_FIREWALL_RULES = "Cluster supports firewall rules"
2882
2902
  CLUSTER_SUPPORTS_FIREWALL_GROUPS = "Cluster supports firewall groups"
@@ -2886,6 +2906,7 @@ class SpecificationNameEnum(StrEnum):
2886
2906
  CLUSTER_SUPPORTS_GHOSTSCRIPT_NODES = "Cluster supports Ghostscript nodes"
2887
2907
  CLUSTER_SUPPORTS_LIBREOFFICE_NODES = "Cluster supports LibreOffice nodes"
2888
2908
  CLUSTER_SUPPORTS_PUPPETEER_NODES = "Cluster supports Puppeteer nodes"
2909
+ CLUSTER_SUPPORTS_N8N_NODES = "Cluster supports n8n nodes"
2889
2910
  CLUSTER_SUPPORTS_CLAMAV_NODES = "Cluster supports ClamAV nodes"
2890
2911
  CLUSTER_SUPPORTS_GNU_MAILUTILS_NODES = "Cluster supports GNU Mailutils nodes"
2891
2912
  CLUSTER_SUPPORTS_WKHTMLTOPDF_NODES = "Cluster supports wkhtmltopdf nodes"
@@ -3060,6 +3081,7 @@ class ClustersSearchRequest(BaseCoreApiModel):
3060
3081
  region_id: Optional[int] = None
3061
3082
  description: Optional[str] = None
3062
3083
  customer_id: Optional[int] = None
3084
+ cephfs_enabled: bool | None = None
3063
3085
 
3064
3086
 
3065
3087
  class ClustersSinglestorePropertiesSearchRequest(BaseCoreApiModel):
@@ -3249,6 +3271,20 @@ class ObjectLogsSearchRequest(BaseCoreApiModel):
3249
3271
  customer_id: Optional[int] = None
3250
3272
 
3251
3273
 
3274
+ class N8nInstanceIncludes(BaseCoreApiModel):
3275
+ cluster: ClusterResource | None
3276
+
3277
+
3278
+ class N8nInstanceResource(BaseCoreApiModel):
3279
+ id: int
3280
+ created_at: datetime
3281
+ updated_at: datetime
3282
+ domain: str
3283
+ name: constr(pattern=r"^[a-z0-9-_]+$", min_length=1, max_length=64)
3284
+ cluster_id: int
3285
+ includes: N8nInstanceIncludes
3286
+
3287
+
3252
3288
  class RedisInstancesSearchRequest(BaseCoreApiModel):
3253
3289
  port: Optional[int] = None
3254
3290
  name: Optional[str] = None
@@ -23,6 +23,7 @@ from . import (
23
23
  passenger_apps,
24
24
  cmses,
25
25
  redis_instances,
26
+ n8n_instances,
26
27
  logs,
27
28
  regions,
28
29
  mail_hostnames,
@@ -84,6 +85,7 @@ __all__ = [
84
85
  "node_add_ons",
85
86
  "passenger_apps",
86
87
  "redis_instances",
88
+ "n8n_instances",
87
89
  "root_ssh_keys",
88
90
  "security_txt_policies",
89
91
  "regions",
@@ -25,7 +25,7 @@ class BasicAuthenticationRealms(Resource):
25
25
  self,
26
26
  *,
27
27
  page: int = 1,
28
- per_page: int = 0,
28
+ per_page: int = 50,
29
29
  include_filters: models.BasicAuthenticationRealmsSearchRequest | None = None,
30
30
  includes: list[str] | None = None,
31
31
  ) -> DtoResponse[list[models.BasicAuthenticationRealmResource]]:
@@ -28,7 +28,7 @@ class BorgArchives(Resource):
28
28
  self,
29
29
  *,
30
30
  page: int = 1,
31
- per_page: int = 0,
31
+ per_page: int = 50,
32
32
  include_filters: models.BorgArchivesSearchRequest | None = None,
33
33
  includes: list[str] | None = None,
34
34
  ) -> DtoResponse[list[models.BorgArchiveResource]]:
@@ -24,7 +24,7 @@ class BorgRepositories(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.BorgRepositoriesSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.BorgRepositoryResource]]:
@@ -25,7 +25,7 @@ class CertificateManagers(Resource):
25
25
  self,
26
26
  *,
27
27
  page: int = 1,
28
- per_page: int = 0,
28
+ per_page: int = 50,
29
29
  include_filters: models.CertificateManagersSearchRequest | None = None,
30
30
  includes: list[str] | None = None,
31
31
  ) -> DtoResponse[list[models.CertificateManagerResource]]:
@@ -23,7 +23,7 @@ class Certificates(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.CertificatesSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.CertificateResource]]:
@@ -42,7 +42,7 @@ class Clusters(Resource):
42
42
  self,
43
43
  *,
44
44
  page: int = 1,
45
- per_page: int = 0,
45
+ per_page: int = 50,
46
46
  include_filters: models.ClustersSearchRequest | None = None,
47
47
  includes: list[str] | None = None,
48
48
  ) -> DtoResponse[list[models.ClusterResource]]:
@@ -818,7 +818,7 @@ class Clusters(Resource):
818
818
  self,
819
819
  *,
820
820
  page: int = 1,
821
- per_page: int = 0,
821
+ per_page: int = 50,
822
822
  include_filters: models.ClustersBorgPropertiesSearchRequest | None = None,
823
823
  includes: list[str] | None = None,
824
824
  ) -> DtoResponse[list[models.ClusterBorgPropertiesResource]]:
@@ -846,7 +846,7 @@ class Clusters(Resource):
846
846
  self,
847
847
  *,
848
848
  page: int = 1,
849
- per_page: int = 0,
849
+ per_page: int = 50,
850
850
  include_filters: models.ClustersRedisPropertiesSearchRequest | None = None,
851
851
  includes: list[str] | None = None,
852
852
  ) -> DtoResponse[list[models.ClusterRedisPropertiesResource]]:
@@ -874,7 +874,7 @@ class Clusters(Resource):
874
874
  self,
875
875
  *,
876
876
  page: int = 1,
877
- per_page: int = 0,
877
+ per_page: int = 50,
878
878
  include_filters: models.ClustersElasticsearchPropertiesSearchRequest
879
879
  | None = None,
880
880
  includes: list[str] | None = None,
@@ -903,7 +903,7 @@ class Clusters(Resource):
903
903
  self,
904
904
  *,
905
905
  page: int = 1,
906
- per_page: int = 0,
906
+ per_page: int = 50,
907
907
  include_filters: models.ClustersFirewallPropertiesSearchRequest | None = None,
908
908
  includes: list[str] | None = None,
909
909
  ) -> DtoResponse[list[models.ClusterFirewallPropertiesResource]]:
@@ -931,7 +931,7 @@ class Clusters(Resource):
931
931
  self,
932
932
  *,
933
933
  page: int = 1,
934
- per_page: int = 0,
934
+ per_page: int = 50,
935
935
  include_filters: models.ClustersGrafanaPropertiesSearchRequest | None = None,
936
936
  includes: list[str] | None = None,
937
937
  ) -> DtoResponse[list[models.ClusterGrafanaPropertiesResource]]:
@@ -959,7 +959,7 @@ class Clusters(Resource):
959
959
  self,
960
960
  *,
961
961
  page: int = 1,
962
- per_page: int = 0,
962
+ per_page: int = 50,
963
963
  include_filters: models.ClustersKernelcarePropertiesSearchRequest | None = None,
964
964
  includes: list[str] | None = None,
965
965
  ) -> DtoResponse[list[models.ClusterKernelcarePropertiesResource]]:
@@ -987,7 +987,7 @@ class Clusters(Resource):
987
987
  self,
988
988
  *,
989
989
  page: int = 1,
990
- per_page: int = 0,
990
+ per_page: int = 50,
991
991
  include_filters: models.ClustersLoadBalancingPropertiesSearchRequest
992
992
  | None = None,
993
993
  includes: list[str] | None = None,
@@ -1016,7 +1016,7 @@ class Clusters(Resource):
1016
1016
  self,
1017
1017
  *,
1018
1018
  page: int = 1,
1019
- per_page: int = 0,
1019
+ per_page: int = 50,
1020
1020
  include_filters: models.ClustersMariadbPropertiesSearchRequest | None = None,
1021
1021
  includes: list[str] | None = None,
1022
1022
  ) -> DtoResponse[list[models.ClusterMariadbPropertiesResource]]:
@@ -1044,7 +1044,7 @@ class Clusters(Resource):
1044
1044
  self,
1045
1045
  *,
1046
1046
  page: int = 1,
1047
- per_page: int = 0,
1047
+ per_page: int = 50,
1048
1048
  include_filters: models.ClustersMeilisearchPropertiesSearchRequest
1049
1049
  | None = None,
1050
1050
  includes: list[str] | None = None,
@@ -1073,7 +1073,7 @@ class Clusters(Resource):
1073
1073
  self,
1074
1074
  *,
1075
1075
  page: int = 1,
1076
- per_page: int = 0,
1076
+ per_page: int = 50,
1077
1077
  include_filters: models.ClustersMetabasePropertiesSearchRequest | None = None,
1078
1078
  includes: list[str] | None = None,
1079
1079
  ) -> DtoResponse[list[models.ClusterMetabasePropertiesResource]]:
@@ -1101,7 +1101,7 @@ class Clusters(Resource):
1101
1101
  self,
1102
1102
  *,
1103
1103
  page: int = 1,
1104
- per_page: int = 0,
1104
+ per_page: int = 50,
1105
1105
  include_filters: models.ClustersNewRelicPropertiesSearchRequest | None = None,
1106
1106
  includes: list[str] | None = None,
1107
1107
  ) -> DtoResponse[list[models.ClusterNewRelicPropertiesResource]]:
@@ -1129,7 +1129,7 @@ class Clusters(Resource):
1129
1129
  self,
1130
1130
  *,
1131
1131
  page: int = 1,
1132
- per_page: int = 0,
1132
+ per_page: int = 50,
1133
1133
  include_filters: models.ClustersNodejsPropertiesSearchRequest | None = None,
1134
1134
  includes: list[str] | None = None,
1135
1135
  ) -> DtoResponse[list[models.ClusterNodejsPropertiesResource]]:
@@ -1157,7 +1157,7 @@ class Clusters(Resource):
1157
1157
  self,
1158
1158
  *,
1159
1159
  page: int = 1,
1160
- per_page: int = 0,
1160
+ per_page: int = 50,
1161
1161
  include_filters: models.ClustersOsPropertiesSearchRequest | None = None,
1162
1162
  includes: list[str] | None = None,
1163
1163
  ) -> DtoResponse[list[models.ClusterOsPropertiesResource]]:
@@ -1185,7 +1185,7 @@ class Clusters(Resource):
1185
1185
  self,
1186
1186
  *,
1187
1187
  page: int = 1,
1188
- per_page: int = 0,
1188
+ per_page: int = 50,
1189
1189
  include_filters: models.ClustersPhpPropertiesSearchRequest | None = None,
1190
1190
  includes: list[str] | None = None,
1191
1191
  ) -> DtoResponse[list[models.ClusterPhpPropertiesResource]]:
@@ -1213,7 +1213,7 @@ class Clusters(Resource):
1213
1213
  self,
1214
1214
  *,
1215
1215
  page: int = 1,
1216
- per_page: int = 0,
1216
+ per_page: int = 50,
1217
1217
  include_filters: models.ClustersPostgresqlPropertiesSearchRequest | None = None,
1218
1218
  includes: list[str] | None = None,
1219
1219
  ) -> DtoResponse[list[models.ClusterPostgresqlPropertiesResource]]:
@@ -1241,7 +1241,7 @@ class Clusters(Resource):
1241
1241
  self,
1242
1242
  *,
1243
1243
  page: int = 1,
1244
- per_page: int = 0,
1244
+ per_page: int = 50,
1245
1245
  include_filters: models.ClustersRabbitmqPropertiesSearchRequest | None = None,
1246
1246
  includes: list[str] | None = None,
1247
1247
  ) -> DtoResponse[list[models.ClusterRabbitmqPropertiesResource]]:
@@ -1269,7 +1269,7 @@ class Clusters(Resource):
1269
1269
  self,
1270
1270
  *,
1271
1271
  page: int = 1,
1272
- per_page: int = 0,
1272
+ per_page: int = 50,
1273
1273
  include_filters: models.ClustersSinglestorePropertiesSearchRequest
1274
1274
  | None = None,
1275
1275
  includes: list[str] | None = None,
@@ -1298,7 +1298,7 @@ class Clusters(Resource):
1298
1298
  self,
1299
1299
  *,
1300
1300
  page: int = 1,
1301
- per_page: int = 0,
1301
+ per_page: int = 50,
1302
1302
  include_filters: models.ClustersUnixUsersPropertiesSearchRequest | None = None,
1303
1303
  includes: list[str] | None = None,
1304
1304
  ) -> DtoResponse[list[models.ClusterUnixUsersPropertiesResource]]:
@@ -24,7 +24,7 @@ class CMSes(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.CmsesSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.CMSResource]]:
@@ -23,7 +23,7 @@ class Crons(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.CronsSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.CronResource]]:
@@ -29,7 +29,7 @@ class CustomConfigSnippets(Resource):
29
29
  self,
30
30
  *,
31
31
  page: int = 1,
32
- per_page: int = 0,
32
+ per_page: int = 50,
33
33
  include_filters: models.CustomConfigSnippetsSearchRequest | None = None,
34
34
  includes: list[str] | None = None,
35
35
  ) -> DtoResponse[list[models.CustomConfigSnippetResource]]:
@@ -23,7 +23,7 @@ class CustomConfigs(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.CustomConfigsSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.CustomConfigResource]]:
@@ -11,7 +11,7 @@ class Customers(Resource):
11
11
  self,
12
12
  *,
13
13
  page: int = 1,
14
- per_page: int = 0,
14
+ per_page: int = 50,
15
15
  include_filters: models.CustomersSearchRequest | None = None,
16
16
  includes: list[str] | None = None,
17
17
  ) -> DtoResponse[list[models.CustomerResource]]:
@@ -24,7 +24,7 @@ class Daemons(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.DaemonsSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.DaemonResource]]:
@@ -25,7 +25,7 @@ class DatabaseUserGrants(Resource):
25
25
  self,
26
26
  *,
27
27
  page: int = 1,
28
- per_page: int = 0,
28
+ per_page: int = 50,
29
29
  include_filters: models.DatabaseUserGrantsSearchRequest | None = None,
30
30
  includes: list[str] | None = None,
31
31
  ) -> DtoResponse[list[models.DatabaseUserGrantResource]]:
@@ -22,7 +22,7 @@ class DatabaseUsers(Resource):
22
22
  self,
23
23
  *,
24
24
  page: int = 1,
25
- per_page: int = 0,
25
+ per_page: int = 50,
26
26
  include_filters: models.DatabaseUsersSearchRequest | None = None,
27
27
  includes: list[str] | None = None,
28
28
  ) -> DtoResponse[list[models.DatabaseUserResource]]:
@@ -24,7 +24,7 @@ class Databases(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.DatabasesSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.DatabaseResource]]:
@@ -9,7 +9,7 @@ class DomainRouters(Resource):
9
9
  self,
10
10
  *,
11
11
  page: int = 1,
12
- per_page: int = 0,
12
+ per_page: int = 50,
13
13
  include_filters: models.DomainRoutersSearchRequest | None = None,
14
14
  includes: list[str] | None = None,
15
15
  ) -> DtoResponse[list[models.DomainRouterResource]]:
@@ -23,7 +23,7 @@ class FirewallGroups(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.FirewallGroupsSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.FirewallGroupResource]]:
@@ -23,7 +23,7 @@ class FirewallRules(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.FirewallRulesSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.FirewallRuleResource]]:
@@ -24,7 +24,7 @@ class FPMPools(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.FpmPoolsSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.FPMPoolResource]]:
@@ -23,7 +23,7 @@ class FTPUsers(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.FtpUsersSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.FTPUserResource]]:
@@ -23,7 +23,7 @@ class HAProxyListens(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.HaproxyListensSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.HAProxyListenResource]]:
@@ -25,7 +25,7 @@ class HAProxyListensToNodes(Resource):
25
25
  self,
26
26
  *,
27
27
  page: int = 1,
28
- per_page: int = 0,
28
+ per_page: int = 50,
29
29
  include_filters: models.HaproxyListensToNodesSearchRequest | None = None,
30
30
  includes: list[str] | None = None,
31
31
  ) -> DtoResponse[list[models.HAProxyListenToNodeResource]]:
@@ -22,7 +22,7 @@ class HostsEntries(Resource):
22
22
  self,
23
23
  *,
24
24
  page: int = 1,
25
- per_page: int = 0,
25
+ per_page: int = 50,
26
26
  include_filters: models.HostsEntriesSearchRequest | None = None,
27
27
  includes: list[str] | None = None,
28
28
  ) -> DtoResponse[list[models.HostsEntryResource]]:
@@ -23,7 +23,7 @@ class HtpasswdFiles(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.HtpasswdFilesSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.HtpasswdFileResource]]:
@@ -23,7 +23,7 @@ class HtpasswdUsers(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.HtpasswdUsersSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.HtpasswdUserResource]]:
@@ -10,7 +10,7 @@ class Logs(Resource):
10
10
  self,
11
11
  *,
12
12
  page: int = 1,
13
- per_page: int = 0,
13
+ per_page: int = 50,
14
14
  include_filters: models.ObjectLogsSearchRequest | None = None,
15
15
  includes: list[str] | None = None,
16
16
  ) -> DtoResponse[list[models.ObjectLogResource]]:
@@ -36,7 +36,7 @@ class Logs(Resource):
36
36
  self,
37
37
  *,
38
38
  page: int = 1,
39
- per_page: int = 0,
39
+ per_page: int = 50,
40
40
  include_filters: models.RequestLogsSearchRequest | None = None,
41
41
  includes: list[str] | None = None,
42
42
  ) -> DtoResponse[list[models.RequestLogResource]]:
@@ -24,7 +24,7 @@ class MailAccounts(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.MailAccountsSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.MailAccountResource]]:
@@ -23,7 +23,7 @@ class MailAliases(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.MailAliasesSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.MailAliasResource]]:
@@ -23,7 +23,7 @@ class MailDomains(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.MailDomainsSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.MailDomainResource]]:
@@ -23,7 +23,7 @@ class MailHostnames(Resource):
23
23
  self,
24
24
  *,
25
25
  page: int = 1,
26
- per_page: int = 0,
26
+ per_page: int = 50,
27
27
  include_filters: models.MailHostnamesSearchRequest | None = None,
28
28
  includes: list[str] | None = None,
29
29
  ) -> DtoResponse[list[models.MailHostnameResource]]:
@@ -10,7 +10,7 @@ class Malwares(Resource):
10
10
  self,
11
11
  *,
12
12
  page: int = 1,
13
- per_page: int = 0,
13
+ per_page: int = 50,
14
14
  include_filters: models.MalwaresSearchRequest | None = None,
15
15
  includes: list[str] | None = None,
16
16
  ) -> DtoResponse[list[models.MalwareResource]]:
@@ -25,7 +25,7 @@ class MariaDBEncryptionKeys(Resource):
25
25
  self,
26
26
  *,
27
27
  page: int = 1,
28
- per_page: int = 0,
28
+ per_page: int = 50,
29
29
  include_filters: models.MariadbEncryptionKeysSearchRequest | None = None,
30
30
  includes: list[str] | None = None,
31
31
  ) -> DtoResponse[list[models.MariaDBEncryptionKeyResource]]:
@@ -0,0 +1,94 @@
1
+ from cyberfusion.CoreApiClient import models
2
+ from typing import Optional
3
+
4
+ from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient._helpers import construct_includes_query_parameter
6
+ from cyberfusion.CoreApiClient.http import DtoResponse
7
+
8
+
9
+ class N8nInstances(Resource):
10
+ def create_n8n_instance(
11
+ self,
12
+ request: models.N8nInstanceCreateRequest,
13
+ ) -> DtoResponse[models.N8nInstanceResource]:
14
+ local_response = self.api_connector.send_or_fail(
15
+ "POST",
16
+ "/api/v1/n8n-instances",
17
+ data=request.model_dump(exclude_unset=True),
18
+ query_parameters={},
19
+ )
20
+
21
+ return DtoResponse.from_response(local_response, models.N8nInstanceResource)
22
+
23
+ def list_n8n_instances(
24
+ self,
25
+ *,
26
+ page: int = 1,
27
+ per_page: int = 50,
28
+ include_filters: models.N8nInstancesSearchRequest | None = None,
29
+ includes: list[str] | None = None,
30
+ ) -> DtoResponse[list[models.N8nInstanceResource]]:
31
+ local_response = self.api_connector.send_or_fail(
32
+ "GET",
33
+ "/api/v1/n8n-instances",
34
+ data=None,
35
+ query_parameters={
36
+ "page": page,
37
+ "per_page": per_page,
38
+ }
39
+ | (
40
+ include_filters.model_dump(exclude_unset=True)
41
+ if include_filters
42
+ else {}
43
+ )
44
+ | construct_includes_query_parameter(includes),
45
+ )
46
+
47
+ return DtoResponse.from_response(local_response, models.N8nInstanceResource)
48
+
49
+ def read_n8n_instance(
50
+ self,
51
+ *,
52
+ id_: int,
53
+ includes: list[str] | None = None,
54
+ ) -> DtoResponse[models.N8nInstanceResource]:
55
+ local_response = self.api_connector.send_or_fail(
56
+ "GET",
57
+ f"/api/v1/n8n-instances/{id_}",
58
+ data=None,
59
+ query_parameters=construct_includes_query_parameter(includes),
60
+ )
61
+
62
+ return DtoResponse.from_response(local_response, models.N8nInstanceResource)
63
+
64
+ def update_n8n_instance(
65
+ self,
66
+ request: models.N8nInstanceUpdateRequest,
67
+ *,
68
+ id_: int,
69
+ ) -> DtoResponse[models.N8nInstanceResource]:
70
+ local_response = self.api_connector.send_or_fail(
71
+ "PATCH",
72
+ f"/api/v1/n8n-instances/{id_}",
73
+ data=request.model_dump(exclude_unset=True),
74
+ query_parameters={},
75
+ )
76
+
77
+ return DtoResponse.from_response(local_response, models.N8nInstanceResource)
78
+
79
+ def delete_n8n_instance(
80
+ self,
81
+ *,
82
+ id_: int,
83
+ delete_on_cluster: Optional[bool] = None,
84
+ ) -> DtoResponse[models.DetailMessage]:
85
+ local_response = self.api_connector.send_or_fail(
86
+ "DELETE",
87
+ f"/api/v1/n8n-instances/{id_}",
88
+ data=None,
89
+ query_parameters={
90
+ "delete_on_cluster": delete_on_cluster,
91
+ },
92
+ )
93
+
94
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -27,7 +27,7 @@ class NodeAddOns(Resource):
27
27
  self,
28
28
  *,
29
29
  page: int = 1,
30
- per_page: int = 0,
30
+ per_page: int = 50,
31
31
  include_filters: models.NodeAddOnsSearchRequest | None = None,
32
32
  includes: list[str] | None = None,
33
33
  ) -> DtoResponse[list[models.NodeAddOnResource]]:
@@ -28,7 +28,7 @@ class Nodes(Resource):
28
28
  self,
29
29
  *,
30
30
  page: int = 1,
31
- per_page: int = 0,
31
+ per_page: int = 50,
32
32
  include_filters: models.NodesSearchRequest | None = None,
33
33
  includes: list[str] | None = None,
34
34
  ) -> DtoResponse[list[models.NodeResource]]:
@@ -24,7 +24,7 @@ class PassengerApps(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.PassengerAppsSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.PassengerAppResource]]:
@@ -24,7 +24,7 @@ class RedisInstances(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.RedisInstancesSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.RedisInstanceResource]]:
@@ -10,7 +10,7 @@ class Regions(Resource):
10
10
  self,
11
11
  *,
12
12
  page: int = 1,
13
- per_page: int = 0,
13
+ per_page: int = 50,
14
14
  include_filters: models.RegionsSearchRequest | None = None,
15
15
  includes: list[str] | None = None,
16
16
  ) -> DtoResponse[list[models.RegionResource]]:
@@ -36,7 +36,7 @@ class RootSSHKeys(Resource):
36
36
  self,
37
37
  *,
38
38
  page: int = 1,
39
- per_page: int = 0,
39
+ per_page: int = 50,
40
40
  include_filters: models.RootSshKeysSearchRequest | None = None,
41
41
  includes: list[str] | None = None,
42
42
  ) -> DtoResponse[list[models.RootSSHKeyResource]]:
@@ -24,7 +24,7 @@ class SecurityTXTPolicies(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.SecurityTxtPoliciesSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.SecurityTXTPolicyResource]]:
@@ -36,7 +36,7 @@ class SSHKeys(Resource):
36
36
  self,
37
37
  *,
38
38
  page: int = 1,
39
- per_page: int = 0,
39
+ per_page: int = 50,
40
40
  include_filters: models.SshKeysSearchRequest | None = None,
41
41
  includes: list[str] | None = None,
42
42
  ) -> DtoResponse[list[models.SSHKeyResource]]:
@@ -24,7 +24,7 @@ class UNIXUsers(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.UnixUsersSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.UNIXUserResource]]:
@@ -22,7 +22,7 @@ class URLRedirects(Resource):
22
22
  self,
23
23
  *,
24
24
  page: int = 1,
25
- per_page: int = 0,
25
+ per_page: int = 50,
26
26
  include_filters: models.UrlRedirectsSearchRequest | None = None,
27
27
  includes: list[str] | None = None,
28
28
  ) -> DtoResponse[list[models.URLRedirectResource]]:
@@ -24,7 +24,7 @@ class VirtualHosts(Resource):
24
24
  self,
25
25
  *,
26
26
  page: int = 1,
27
- per_page: int = 0,
27
+ per_page: int = 50,
28
28
  include_filters: models.VirtualHostsSearchRequest | None = None,
29
29
  includes: list[str] | None = None,
30
30
  ) -> DtoResponse[list[models.VirtualHostResource]]:
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-core-api-client
3
- Version: 2.11
3
+ Version: 2.12
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
- Requires-Dist: certifi==2025.1.31
9
- Requires-Dist: requests==2.32.3
10
- Requires-Dist: pydantic[email]==2.10.6
8
+ Requires-Dist: certifi==2025.11.12
9
+ Requires-Dist: requests==2.32.5
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.260.0** version of the API.
16
+ This client was built for and tested on the **1.263.0** version of the API.
17
17
 
18
18
  ## Support
19
19
 
@@ -300,7 +300,7 @@ To raise `cyberfusion.CoreApiClient.exceptions.CallException` in case of an unex
300
300
 
301
301
  Auto-generate models as follows:
302
302
 
303
- datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.CoreApiModel
303
+ datamodel-codegen --input-file-type openapi --url http://127.0.0.1:22190/openapi.json --output temp_models.py --target-python-version 3.13 --base-class cyberfusion.CoreApiClient.models.BaseCoreApiModel
304
304
 
305
305
  This adds models to `temp_models.py`. Merge it with `models.py`.
306
306
 
@@ -44,6 +44,7 @@ src/cyberfusion/CoreApiClient/resources/mail_domains.py
44
44
  src/cyberfusion/CoreApiClient/resources/mail_hostnames.py
45
45
  src/cyberfusion/CoreApiClient/resources/malwares.py
46
46
  src/cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py
47
+ src/cyberfusion/CoreApiClient/resources/n8n_instances.py
47
48
  src/cyberfusion/CoreApiClient/resources/node_add_ons.py
48
49
  src/cyberfusion/CoreApiClient/resources/nodes.py
49
50
  src/cyberfusion/CoreApiClient/resources/passenger_apps.py
@@ -0,0 +1,3 @@
1
+ certifi==2025.11.12
2
+ requests==2.32.5
3
+ pydantic[email]==2.12.5
@@ -1,3 +0,0 @@
1
- certifi==2025.1.31
2
- requests==2.32.3
3
- pydantic[email]==2.10.6