python3-core-api-client 0.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.
- cyberfusion/CoreApiClient/__init__.py +0 -0
- cyberfusion/CoreApiClient/_encoders.py +7 -0
- cyberfusion/CoreApiClient/connector.py +382 -0
- cyberfusion/CoreApiClient/exceptions.py +13 -0
- cyberfusion/CoreApiClient/http.py +21 -0
- cyberfusion/CoreApiClient/interfaces.py +9 -0
- cyberfusion/CoreApiClient/models.py +5350 -0
- cyberfusion/CoreApiClient/resources/__init__.py +99 -0
- cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +85 -0
- cyberfusion/CoreApiClient/resources/borg_archives.py +144 -0
- cyberfusion/CoreApiClient/resources/borg_repositories.py +134 -0
- cyberfusion/CoreApiClient/resources/certificate_managers.py +99 -0
- cyberfusion/CoreApiClient/resources/certificates.py +63 -0
- cyberfusion/CoreApiClient/resources/clusters.py +233 -0
- cyberfusion/CoreApiClient/resources/cmses.py +289 -0
- cyberfusion/CoreApiClient/resources/crons.py +76 -0
- cyberfusion/CoreApiClient/resources/custom_config_snippets.py +88 -0
- cyberfusion/CoreApiClient/resources/custom_configs.py +82 -0
- cyberfusion/CoreApiClient/resources/customers.py +97 -0
- cyberfusion/CoreApiClient/resources/daemons.py +76 -0
- cyberfusion/CoreApiClient/resources/database_user_grants.py +66 -0
- cyberfusion/CoreApiClient/resources/database_users.py +82 -0
- cyberfusion/CoreApiClient/resources/databases.py +140 -0
- cyberfusion/CoreApiClient/resources/domain_routers.py +43 -0
- cyberfusion/CoreApiClient/resources/firewall_groups.py +82 -0
- cyberfusion/CoreApiClient/resources/firewall_rules.py +67 -0
- cyberfusion/CoreApiClient/resources/fpm_pools.py +110 -0
- cyberfusion/CoreApiClient/resources/ftp_users.py +89 -0
- cyberfusion/CoreApiClient/resources/haproxy_listens.py +67 -0
- cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +70 -0
- cyberfusion/CoreApiClient/resources/health.py +14 -0
- cyberfusion/CoreApiClient/resources/hosts_entries.py +63 -0
- cyberfusion/CoreApiClient/resources/htpasswd_files.py +67 -0
- cyberfusion/CoreApiClient/resources/htpasswd_users.py +82 -0
- cyberfusion/CoreApiClient/resources/login.py +28 -0
- cyberfusion/CoreApiClient/resources/logs.py +50 -0
- cyberfusion/CoreApiClient/resources/mail_accounts.py +105 -0
- cyberfusion/CoreApiClient/resources/mail_aliases.py +79 -0
- cyberfusion/CoreApiClient/resources/mail_domains.py +79 -0
- cyberfusion/CoreApiClient/resources/mail_hostnames.py +82 -0
- cyberfusion/CoreApiClient/resources/malwares.py +53 -0
- cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +56 -0
- cyberfusion/CoreApiClient/resources/node_add_ons.py +74 -0
- cyberfusion/CoreApiClient/resources/nodes.py +112 -0
- cyberfusion/CoreApiClient/resources/passenger_apps.py +99 -0
- cyberfusion/CoreApiClient/resources/redis_instances.py +85 -0
- cyberfusion/CoreApiClient/resources/root_ssh_keys.py +77 -0
- cyberfusion/CoreApiClient/resources/security_txt_policies.py +85 -0
- cyberfusion/CoreApiClient/resources/sites.py +29 -0
- cyberfusion/CoreApiClient/resources/ssh_keys.py +77 -0
- cyberfusion/CoreApiClient/resources/task_collections.py +38 -0
- cyberfusion/CoreApiClient/resources/tombstones.py +29 -0
- cyberfusion/CoreApiClient/resources/unix_users.py +122 -0
- cyberfusion/CoreApiClient/resources/url_redirects.py +79 -0
- cyberfusion/CoreApiClient/resources/virtual_hosts.py +120 -0
- python3_core_api_client-0.1.dist-info/METADATA +236 -0
- python3_core_api_client-0.1.dist-info/RECORD +59 -0
- python3_core_api_client-0.1.dist-info/WHEEL +5 -0
- python3_core_api_client-0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,233 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class Clusters(Resource):
|
8
|
+
def get_common_properties(
|
9
|
+
self,
|
10
|
+
) -> models.ClustersCommonProperties:
|
11
|
+
return models.ClustersCommonProperties.construct(
|
12
|
+
**self.api_connector.send_or_fail(
|
13
|
+
"GET",
|
14
|
+
"/api/v1/clusters/common-properties",
|
15
|
+
data=None,
|
16
|
+
query_parameters={},
|
17
|
+
).json
|
18
|
+
)
|
19
|
+
|
20
|
+
def create_cluster(
|
21
|
+
self,
|
22
|
+
request: models.ClusterCreateRequest,
|
23
|
+
*,
|
24
|
+
callback_url: Optional[str] = None,
|
25
|
+
) -> models.TaskCollectionResource:
|
26
|
+
return models.TaskCollectionResource.construct(
|
27
|
+
**self.api_connector.send_or_fail(
|
28
|
+
"POST",
|
29
|
+
"/api/v1/clusters",
|
30
|
+
data=request.dict(),
|
31
|
+
query_parameters={
|
32
|
+
"callback_url": callback_url,
|
33
|
+
},
|
34
|
+
).json
|
35
|
+
)
|
36
|
+
|
37
|
+
def list_clusters(
|
38
|
+
self,
|
39
|
+
*,
|
40
|
+
skip: Optional[int] = None,
|
41
|
+
limit: Optional[int] = None,
|
42
|
+
filter_: Optional[List[str]] = None,
|
43
|
+
sort: Optional[List[str]] = None,
|
44
|
+
) -> list[models.ClusterResource]:
|
45
|
+
return [
|
46
|
+
models.ClusterResource.construct(**model)
|
47
|
+
for model in self.api_connector.send_or_fail(
|
48
|
+
"GET",
|
49
|
+
"/api/v1/clusters",
|
50
|
+
data=None,
|
51
|
+
query_parameters={
|
52
|
+
"skip": skip,
|
53
|
+
"limit": limit,
|
54
|
+
"filter": filter_,
|
55
|
+
"sort": sort,
|
56
|
+
},
|
57
|
+
).json
|
58
|
+
]
|
59
|
+
|
60
|
+
def read_cluster(
|
61
|
+
self,
|
62
|
+
*,
|
63
|
+
id_: int,
|
64
|
+
) -> models.ClusterResource:
|
65
|
+
return models.ClusterResource.construct(
|
66
|
+
**self.api_connector.send_or_fail(
|
67
|
+
"GET", f"/api/v1/clusters/{id_}", data=None, query_parameters={}
|
68
|
+
).json
|
69
|
+
)
|
70
|
+
|
71
|
+
def update_cluster(
|
72
|
+
self,
|
73
|
+
request: models.ClusterUpdateRequest,
|
74
|
+
*,
|
75
|
+
id_: int,
|
76
|
+
) -> models.ClusterResource:
|
77
|
+
return models.ClusterResource.construct(
|
78
|
+
**self.api_connector.send_or_fail(
|
79
|
+
"PATCH",
|
80
|
+
f"/api/v1/clusters/{id_}",
|
81
|
+
data=request.dict(exclude_unset=True),
|
82
|
+
query_parameters={},
|
83
|
+
).json
|
84
|
+
)
|
85
|
+
|
86
|
+
def delete_cluster(
|
87
|
+
self,
|
88
|
+
*,
|
89
|
+
id_: int,
|
90
|
+
) -> models.DetailMessage:
|
91
|
+
return models.DetailMessage.construct(
|
92
|
+
**self.api_connector.send_or_fail(
|
93
|
+
"DELETE", f"/api/v1/clusters/{id_}", data=None, query_parameters={}
|
94
|
+
).json
|
95
|
+
)
|
96
|
+
|
97
|
+
def get_borg_ssh_key(
|
98
|
+
self,
|
99
|
+
*,
|
100
|
+
id_: int,
|
101
|
+
) -> models.ClusterBorgSSHKey:
|
102
|
+
return models.ClusterBorgSSHKey.construct(
|
103
|
+
**self.api_connector.send_or_fail(
|
104
|
+
"GET",
|
105
|
+
f"/api/v1/clusters/{id_}/borg-ssh-key",
|
106
|
+
data=None,
|
107
|
+
query_parameters={},
|
108
|
+
).json
|
109
|
+
)
|
110
|
+
|
111
|
+
def list_ip_addresses_for_cluster(
|
112
|
+
self,
|
113
|
+
*,
|
114
|
+
id_: int,
|
115
|
+
) -> models.ClusterIPAddresses:
|
116
|
+
return models.ClusterIPAddresses.construct(
|
117
|
+
**self.api_connector.send_or_fail(
|
118
|
+
"GET",
|
119
|
+
f"/api/v1/clusters/{id_}/ip-addresses",
|
120
|
+
data=None,
|
121
|
+
query_parameters={},
|
122
|
+
).json
|
123
|
+
)
|
124
|
+
|
125
|
+
def create_ip_address_for_cluster(
|
126
|
+
self,
|
127
|
+
request: models.ClusterIPAddressCreateRequest,
|
128
|
+
*,
|
129
|
+
id_: int,
|
130
|
+
) -> models.TaskCollectionResource:
|
131
|
+
return models.TaskCollectionResource.construct(
|
132
|
+
**self.api_connector.send_or_fail(
|
133
|
+
"POST",
|
134
|
+
f"/api/v1/clusters/{id_}/ip-addresses",
|
135
|
+
data=request.dict(),
|
136
|
+
query_parameters={},
|
137
|
+
).json
|
138
|
+
)
|
139
|
+
|
140
|
+
def delete_ip_address_for_cluster(
|
141
|
+
self,
|
142
|
+
*,
|
143
|
+
id_: int,
|
144
|
+
ip_address: str,
|
145
|
+
) -> models.TaskCollectionResource:
|
146
|
+
return models.TaskCollectionResource.construct(
|
147
|
+
**self.api_connector.send_or_fail(
|
148
|
+
"DELETE",
|
149
|
+
f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}",
|
150
|
+
data=None,
|
151
|
+
query_parameters={},
|
152
|
+
).json
|
153
|
+
)
|
154
|
+
|
155
|
+
def enable_l3_ddos_protection_for_ip_address(
|
156
|
+
self,
|
157
|
+
*,
|
158
|
+
id_: int,
|
159
|
+
ip_address: str,
|
160
|
+
) -> models.TaskCollectionResource:
|
161
|
+
return models.TaskCollectionResource.construct(
|
162
|
+
**self.api_connector.send_or_fail(
|
163
|
+
"POST",
|
164
|
+
f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
|
165
|
+
data=None,
|
166
|
+
query_parameters={},
|
167
|
+
).json
|
168
|
+
)
|
169
|
+
|
170
|
+
def disable_l3_ddos_protection_for_ip_address(
|
171
|
+
self,
|
172
|
+
*,
|
173
|
+
id_: int,
|
174
|
+
ip_address: str,
|
175
|
+
) -> models.TaskCollectionResource:
|
176
|
+
return models.TaskCollectionResource.construct(
|
177
|
+
**self.api_connector.send_or_fail(
|
178
|
+
"DELETE",
|
179
|
+
f"/api/v1/clusters/{id_}/ip-addresses/{ip_address}/l3-ddos-protection",
|
180
|
+
data=None,
|
181
|
+
query_parameters={},
|
182
|
+
).json
|
183
|
+
)
|
184
|
+
|
185
|
+
def get_ip_addresses_products_for_clusters(
|
186
|
+
self,
|
187
|
+
) -> list[models.IPAddressProduct]:
|
188
|
+
return [
|
189
|
+
models.IPAddressProduct.construct(**model)
|
190
|
+
for model in self.api_connector.send_or_fail(
|
191
|
+
"GET",
|
192
|
+
"/api/v1/clusters/ip-addresses/products",
|
193
|
+
data=None,
|
194
|
+
query_parameters={},
|
195
|
+
).json
|
196
|
+
]
|
197
|
+
|
198
|
+
def list_cluster_deployments_results(
|
199
|
+
self,
|
200
|
+
*,
|
201
|
+
id_: int,
|
202
|
+
get_non_running: Optional[bool] = None,
|
203
|
+
) -> models.ClusterDeploymentResults:
|
204
|
+
return models.ClusterDeploymentResults.construct(
|
205
|
+
**self.api_connector.send_or_fail(
|
206
|
+
"GET",
|
207
|
+
f"/api/v1/clusters/{id_}/deployments-results",
|
208
|
+
data=None,
|
209
|
+
query_parameters={
|
210
|
+
"get_non_running": get_non_running,
|
211
|
+
},
|
212
|
+
).json
|
213
|
+
)
|
214
|
+
|
215
|
+
def list_unix_users_home_directory_usages(
|
216
|
+
self,
|
217
|
+
*,
|
218
|
+
cluster_id: int,
|
219
|
+
timestamp: str,
|
220
|
+
time_unit: Optional[models.UNIXUsersHomeDirectoryUsageResource] = None,
|
221
|
+
) -> list[models.UNIXUsersHomeDirectoryUsageResource]:
|
222
|
+
return [
|
223
|
+
models.UNIXUsersHomeDirectoryUsageResource.construct(**model)
|
224
|
+
for model in self.api_connector.send_or_fail(
|
225
|
+
"GET",
|
226
|
+
f"/api/v1/clusters/unix-users-home-directories/usages/{cluster_id}",
|
227
|
+
data=None,
|
228
|
+
query_parameters={
|
229
|
+
"timestamp": timestamp,
|
230
|
+
"time_unit": time_unit,
|
231
|
+
},
|
232
|
+
).json
|
233
|
+
]
|
@@ -0,0 +1,289 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, Union, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class CMSes(Resource):
|
8
|
+
def create_cms(
|
9
|
+
self,
|
10
|
+
request: models.CMSCreateRequest,
|
11
|
+
) -> models.CMSResource:
|
12
|
+
return models.CMSResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST", "/api/v1/cmses", data=request.dict(), query_parameters={}
|
15
|
+
).json
|
16
|
+
)
|
17
|
+
|
18
|
+
def list_cmses(
|
19
|
+
self,
|
20
|
+
*,
|
21
|
+
skip: Optional[int] = None,
|
22
|
+
limit: Optional[int] = None,
|
23
|
+
filter_: Optional[List[str]] = None,
|
24
|
+
sort: Optional[List[str]] = None,
|
25
|
+
) -> list[models.CMSResource]:
|
26
|
+
return [
|
27
|
+
models.CMSResource.construct(**model)
|
28
|
+
for model in self.api_connector.send_or_fail(
|
29
|
+
"GET",
|
30
|
+
"/api/v1/cmses",
|
31
|
+
data=None,
|
32
|
+
query_parameters={
|
33
|
+
"skip": skip,
|
34
|
+
"limit": limit,
|
35
|
+
"filter": filter_,
|
36
|
+
"sort": sort,
|
37
|
+
},
|
38
|
+
).json
|
39
|
+
]
|
40
|
+
|
41
|
+
def read_cms(
|
42
|
+
self,
|
43
|
+
*,
|
44
|
+
id_: int,
|
45
|
+
) -> models.CMSResource:
|
46
|
+
return models.CMSResource.construct(
|
47
|
+
**self.api_connector.send_or_fail(
|
48
|
+
"GET", f"/api/v1/cmses/{id_}", data=None, query_parameters={}
|
49
|
+
).json
|
50
|
+
)
|
51
|
+
|
52
|
+
def delete_cms(
|
53
|
+
self,
|
54
|
+
*,
|
55
|
+
id_: int,
|
56
|
+
) -> models.DetailMessage:
|
57
|
+
return models.DetailMessage.construct(
|
58
|
+
**self.api_connector.send_or_fail(
|
59
|
+
"DELETE", f"/api/v1/cmses/{id_}", data=None, query_parameters={}
|
60
|
+
).json
|
61
|
+
)
|
62
|
+
|
63
|
+
def install_wordpress(
|
64
|
+
self,
|
65
|
+
request: models.CMSInstallWordPressRequest,
|
66
|
+
*,
|
67
|
+
id_: int,
|
68
|
+
callback_url: Optional[str] = None,
|
69
|
+
) -> models.TaskCollectionResource:
|
70
|
+
return models.TaskCollectionResource.construct(
|
71
|
+
**self.api_connector.send_or_fail(
|
72
|
+
"POST",
|
73
|
+
f"/api/v1/cmses/{id_}/install/wordpress",
|
74
|
+
data=request.dict(),
|
75
|
+
query_parameters={
|
76
|
+
"callback_url": callback_url,
|
77
|
+
},
|
78
|
+
).json
|
79
|
+
)
|
80
|
+
|
81
|
+
def install_nextcloud(
|
82
|
+
self,
|
83
|
+
request: models.CMSInstallNextCloudRequest,
|
84
|
+
*,
|
85
|
+
id_: int,
|
86
|
+
callback_url: Optional[str] = None,
|
87
|
+
) -> models.TaskCollectionResource:
|
88
|
+
return models.TaskCollectionResource.construct(
|
89
|
+
**self.api_connector.send_or_fail(
|
90
|
+
"POST",
|
91
|
+
f"/api/v1/cmses/{id_}/install/nextcloud",
|
92
|
+
data=request.dict(),
|
93
|
+
query_parameters={
|
94
|
+
"callback_url": callback_url,
|
95
|
+
},
|
96
|
+
).json
|
97
|
+
)
|
98
|
+
|
99
|
+
def get_cms_one_time_login(
|
100
|
+
self,
|
101
|
+
*,
|
102
|
+
id_: int,
|
103
|
+
) -> models.CMSOneTimeLogin:
|
104
|
+
return models.CMSOneTimeLogin.construct(
|
105
|
+
**self.api_connector.send_or_fail(
|
106
|
+
"GET",
|
107
|
+
f"/api/v1/cmses/{id_}/one-time-login",
|
108
|
+
data=None,
|
109
|
+
query_parameters={},
|
110
|
+
).json
|
111
|
+
)
|
112
|
+
|
113
|
+
def get_cms_plugins(
|
114
|
+
self,
|
115
|
+
*,
|
116
|
+
id_: int,
|
117
|
+
) -> list[models.CMSPlugin]:
|
118
|
+
return [
|
119
|
+
models.CMSPlugin.construct(**model)
|
120
|
+
for model in self.api_connector.send_or_fail(
|
121
|
+
"GET", f"/api/v1/cmses/{id_}/plugins", data=None, query_parameters={}
|
122
|
+
).json
|
123
|
+
]
|
124
|
+
|
125
|
+
def update_cms_option(
|
126
|
+
self,
|
127
|
+
request: models.CMSOptionUpdateRequest,
|
128
|
+
*,
|
129
|
+
id_: int,
|
130
|
+
name: models.CMSOptionNameEnum,
|
131
|
+
) -> models.CMSOption:
|
132
|
+
return models.CMSOption.construct(
|
133
|
+
**self.api_connector.send_or_fail(
|
134
|
+
"PATCH",
|
135
|
+
f"/api/v1/cmses/{id_}/options/{name}",
|
136
|
+
data=request.dict(),
|
137
|
+
query_parameters={},
|
138
|
+
).json
|
139
|
+
)
|
140
|
+
|
141
|
+
def update_cms_configuration_constant(
|
142
|
+
self,
|
143
|
+
request: models.CMSConfigurationConstantUpdateRequest,
|
144
|
+
*,
|
145
|
+
id_: int,
|
146
|
+
name: str,
|
147
|
+
) -> models.CMSConfigurationConstant:
|
148
|
+
return models.CMSConfigurationConstant.construct(
|
149
|
+
**self.api_connector.send_or_fail(
|
150
|
+
"PATCH",
|
151
|
+
f"/api/v1/cmses/{id_}/configuration-constants/{name}",
|
152
|
+
data=request.dict(),
|
153
|
+
query_parameters={},
|
154
|
+
).json
|
155
|
+
)
|
156
|
+
|
157
|
+
def update_cms_user_credentials(
|
158
|
+
self,
|
159
|
+
request: models.CMSUserCredentialsUpdateRequest,
|
160
|
+
*,
|
161
|
+
id_: int,
|
162
|
+
user_id: int,
|
163
|
+
) -> models.DetailMessage:
|
164
|
+
return models.DetailMessage.construct(
|
165
|
+
**self.api_connector.send_or_fail(
|
166
|
+
"PATCH",
|
167
|
+
f"/api/v1/cmses/{id_}/users/{user_id}/credentials",
|
168
|
+
data=request.dict(),
|
169
|
+
query_parameters={},
|
170
|
+
).json
|
171
|
+
)
|
172
|
+
|
173
|
+
def update_cms_core(
|
174
|
+
self,
|
175
|
+
*,
|
176
|
+
id_: int,
|
177
|
+
callback_url: Optional[str] = None,
|
178
|
+
) -> models.TaskCollectionResource:
|
179
|
+
return models.TaskCollectionResource.construct(
|
180
|
+
**self.api_connector.send_or_fail(
|
181
|
+
"POST",
|
182
|
+
f"/api/v1/cmses/{id_}/core/update",
|
183
|
+
data=None,
|
184
|
+
query_parameters={
|
185
|
+
"callback_url": callback_url,
|
186
|
+
},
|
187
|
+
).json
|
188
|
+
)
|
189
|
+
|
190
|
+
def update_cms_plugin(
|
191
|
+
self,
|
192
|
+
*,
|
193
|
+
id_: int,
|
194
|
+
name: str,
|
195
|
+
callback_url: Optional[str] = None,
|
196
|
+
) -> models.TaskCollectionResource:
|
197
|
+
return models.TaskCollectionResource.construct(
|
198
|
+
**self.api_connector.send_or_fail(
|
199
|
+
"POST",
|
200
|
+
f"/api/v1/cmses/{id_}/plugins/{name}/update",
|
201
|
+
data=None,
|
202
|
+
query_parameters={
|
203
|
+
"callback_url": callback_url,
|
204
|
+
},
|
205
|
+
).json
|
206
|
+
)
|
207
|
+
|
208
|
+
def search_replace_in_cms_database(
|
209
|
+
self,
|
210
|
+
*,
|
211
|
+
id_: int,
|
212
|
+
search_string: str,
|
213
|
+
replace_string: str,
|
214
|
+
callback_url: Optional[str] = None,
|
215
|
+
) -> models.TaskCollectionResource:
|
216
|
+
return models.TaskCollectionResource.construct(
|
217
|
+
**self.api_connector.send_or_fail(
|
218
|
+
"POST",
|
219
|
+
f"/api/v1/cmses/{id_}/search-replace",
|
220
|
+
data=None,
|
221
|
+
query_parameters={
|
222
|
+
"callback_url": callback_url,
|
223
|
+
"search_string": search_string,
|
224
|
+
"replace_string": replace_string,
|
225
|
+
},
|
226
|
+
).json
|
227
|
+
)
|
228
|
+
|
229
|
+
def enable_cms_plugin(
|
230
|
+
self,
|
231
|
+
*,
|
232
|
+
id_: int,
|
233
|
+
name: str,
|
234
|
+
) -> models.DetailMessage:
|
235
|
+
return models.DetailMessage.construct(
|
236
|
+
**self.api_connector.send_or_fail(
|
237
|
+
"POST",
|
238
|
+
f"/api/v1/cmses/{id_}/plugins/{name}/enable",
|
239
|
+
data=None,
|
240
|
+
query_parameters={},
|
241
|
+
).json
|
242
|
+
)
|
243
|
+
|
244
|
+
def disable_cms_plugin(
|
245
|
+
self,
|
246
|
+
*,
|
247
|
+
id_: int,
|
248
|
+
name: str,
|
249
|
+
) -> models.DetailMessage:
|
250
|
+
return models.DetailMessage.construct(
|
251
|
+
**self.api_connector.send_or_fail(
|
252
|
+
"POST",
|
253
|
+
f"/api/v1/cmses/{id_}/plugins/{name}/disable",
|
254
|
+
data=None,
|
255
|
+
query_parameters={},
|
256
|
+
).json
|
257
|
+
)
|
258
|
+
|
259
|
+
def regenerate_cms_salts(
|
260
|
+
self,
|
261
|
+
*,
|
262
|
+
id_: int,
|
263
|
+
) -> models.DetailMessage:
|
264
|
+
return models.DetailMessage.construct(
|
265
|
+
**self.api_connector.send_or_fail(
|
266
|
+
"POST",
|
267
|
+
f"/api/v1/cmses/{id_}/regenerate-salts",
|
268
|
+
data=None,
|
269
|
+
query_parameters={},
|
270
|
+
).json
|
271
|
+
)
|
272
|
+
|
273
|
+
def install_cms_theme(
|
274
|
+
self,
|
275
|
+
request: Union[
|
276
|
+
models.CMSThemeInstallFromRepositoryRequest,
|
277
|
+
models.CMSThemeInstallFromURLRequest,
|
278
|
+
],
|
279
|
+
*,
|
280
|
+
id_: int,
|
281
|
+
) -> models.DetailMessage:
|
282
|
+
return models.DetailMessage.construct(
|
283
|
+
**self.api_connector.send_or_fail(
|
284
|
+
"POST",
|
285
|
+
f"/api/v1/cmses/{id_}/themes",
|
286
|
+
data=request.dict(),
|
287
|
+
query_parameters={},
|
288
|
+
).json
|
289
|
+
)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class Crons(Resource):
|
8
|
+
def create_cron(
|
9
|
+
self,
|
10
|
+
request: models.CronCreateRequest,
|
11
|
+
) -> models.CronResource:
|
12
|
+
return models.CronResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST", "/api/v1/crons", data=request.dict(), query_parameters={}
|
15
|
+
).json
|
16
|
+
)
|
17
|
+
|
18
|
+
def list_crons(
|
19
|
+
self,
|
20
|
+
*,
|
21
|
+
skip: Optional[int] = None,
|
22
|
+
limit: Optional[int] = None,
|
23
|
+
filter_: Optional[List[str]] = None,
|
24
|
+
sort: Optional[List[str]] = None,
|
25
|
+
) -> list[models.CronResource]:
|
26
|
+
return [
|
27
|
+
models.CronResource.construct(**model)
|
28
|
+
for model in self.api_connector.send_or_fail(
|
29
|
+
"GET",
|
30
|
+
"/api/v1/crons",
|
31
|
+
data=None,
|
32
|
+
query_parameters={
|
33
|
+
"skip": skip,
|
34
|
+
"limit": limit,
|
35
|
+
"filter": filter_,
|
36
|
+
"sort": sort,
|
37
|
+
},
|
38
|
+
).json
|
39
|
+
]
|
40
|
+
|
41
|
+
def read_cron(
|
42
|
+
self,
|
43
|
+
*,
|
44
|
+
id_: int,
|
45
|
+
) -> models.CronResource:
|
46
|
+
return models.CronResource.construct(
|
47
|
+
**self.api_connector.send_or_fail(
|
48
|
+
"GET", f"/api/v1/crons/{id_}", data=None, query_parameters={}
|
49
|
+
).json
|
50
|
+
)
|
51
|
+
|
52
|
+
def update_cron(
|
53
|
+
self,
|
54
|
+
request: models.CronUpdateRequest,
|
55
|
+
*,
|
56
|
+
id_: int,
|
57
|
+
) -> models.CronResource:
|
58
|
+
return models.CronResource.construct(
|
59
|
+
**self.api_connector.send_or_fail(
|
60
|
+
"PATCH",
|
61
|
+
f"/api/v1/crons/{id_}",
|
62
|
+
data=request.dict(exclude_unset=True),
|
63
|
+
query_parameters={},
|
64
|
+
).json
|
65
|
+
)
|
66
|
+
|
67
|
+
def delete_cron(
|
68
|
+
self,
|
69
|
+
*,
|
70
|
+
id_: int,
|
71
|
+
) -> models.DetailMessage:
|
72
|
+
return models.DetailMessage.construct(
|
73
|
+
**self.api_connector.send_or_fail(
|
74
|
+
"DELETE", f"/api/v1/crons/{id_}", data=None, query_parameters={}
|
75
|
+
).json
|
76
|
+
)
|
@@ -0,0 +1,88 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, Union, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class CustomConfigSnippets(Resource):
|
8
|
+
def create_custom_config_snippet(
|
9
|
+
self,
|
10
|
+
request: Union[
|
11
|
+
models.CustomConfigSnippetCreateFromContentsRequest,
|
12
|
+
models.CustomConfigSnippetCreateFromTemplateRequest,
|
13
|
+
],
|
14
|
+
) -> models.CustomConfigSnippetResource:
|
15
|
+
return models.CustomConfigSnippetResource.construct(
|
16
|
+
**self.api_connector.send_or_fail(
|
17
|
+
"POST",
|
18
|
+
"/api/v1/custom-config-snippets",
|
19
|
+
data=request.dict(),
|
20
|
+
query_parameters={},
|
21
|
+
).json
|
22
|
+
)
|
23
|
+
|
24
|
+
def list_custom_config_snippets(
|
25
|
+
self,
|
26
|
+
*,
|
27
|
+
skip: Optional[int] = None,
|
28
|
+
limit: Optional[int] = None,
|
29
|
+
filter_: Optional[List[str]] = None,
|
30
|
+
sort: Optional[List[str]] = None,
|
31
|
+
) -> list[models.CustomConfigSnippetResource]:
|
32
|
+
return [
|
33
|
+
models.CustomConfigSnippetResource.construct(**model)
|
34
|
+
for model in self.api_connector.send_or_fail(
|
35
|
+
"GET",
|
36
|
+
"/api/v1/custom-config-snippets",
|
37
|
+
data=None,
|
38
|
+
query_parameters={
|
39
|
+
"skip": skip,
|
40
|
+
"limit": limit,
|
41
|
+
"filter": filter_,
|
42
|
+
"sort": sort,
|
43
|
+
},
|
44
|
+
).json
|
45
|
+
]
|
46
|
+
|
47
|
+
def read_custom_config_snippet(
|
48
|
+
self,
|
49
|
+
*,
|
50
|
+
id_: int,
|
51
|
+
) -> models.CustomConfigSnippetResource:
|
52
|
+
return models.CustomConfigSnippetResource.construct(
|
53
|
+
**self.api_connector.send_or_fail(
|
54
|
+
"GET",
|
55
|
+
f"/api/v1/custom-config-snippets/{id_}",
|
56
|
+
data=None,
|
57
|
+
query_parameters={},
|
58
|
+
).json
|
59
|
+
)
|
60
|
+
|
61
|
+
def update_custom_config_snippet(
|
62
|
+
self,
|
63
|
+
request: models.CustomConfigSnippetUpdateRequest,
|
64
|
+
*,
|
65
|
+
id_: int,
|
66
|
+
) -> models.CustomConfigSnippetResource:
|
67
|
+
return models.CustomConfigSnippetResource.construct(
|
68
|
+
**self.api_connector.send_or_fail(
|
69
|
+
"PATCH",
|
70
|
+
f"/api/v1/custom-config-snippets/{id_}",
|
71
|
+
data=request.dict(exclude_unset=True),
|
72
|
+
query_parameters={},
|
73
|
+
).json
|
74
|
+
)
|
75
|
+
|
76
|
+
def delete_custom_config_snippet(
|
77
|
+
self,
|
78
|
+
*,
|
79
|
+
id_: int,
|
80
|
+
) -> models.DetailMessage:
|
81
|
+
return models.DetailMessage.construct(
|
82
|
+
**self.api_connector.send_or_fail(
|
83
|
+
"DELETE",
|
84
|
+
f"/api/v1/custom-config-snippets/{id_}",
|
85
|
+
data=None,
|
86
|
+
query_parameters={},
|
87
|
+
).json
|
88
|
+
)
|