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,99 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class PassengerApps(Resource):
|
8
|
+
def create_nodejs_passenger_app(
|
9
|
+
self,
|
10
|
+
request: models.PassengerAppCreateNodeJSRequest,
|
11
|
+
) -> models.PassengerAppResource:
|
12
|
+
return models.PassengerAppResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/passenger-apps/nodejs",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_passenger_apps(
|
22
|
+
self,
|
23
|
+
*,
|
24
|
+
skip: Optional[int] = None,
|
25
|
+
limit: Optional[int] = None,
|
26
|
+
filter_: Optional[List[str]] = None,
|
27
|
+
sort: Optional[List[str]] = None,
|
28
|
+
) -> list[models.PassengerAppResource]:
|
29
|
+
return [
|
30
|
+
models.PassengerAppResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/passenger-apps",
|
34
|
+
data=None,
|
35
|
+
query_parameters={
|
36
|
+
"skip": skip,
|
37
|
+
"limit": limit,
|
38
|
+
"filter": filter_,
|
39
|
+
"sort": sort,
|
40
|
+
},
|
41
|
+
).json
|
42
|
+
]
|
43
|
+
|
44
|
+
def read_passenger_app(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.PassengerAppResource:
|
49
|
+
return models.PassengerAppResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/passenger-apps/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def update_passenger_app(
|
56
|
+
self,
|
57
|
+
request: models.PassengerAppUpdateRequest,
|
58
|
+
*,
|
59
|
+
id_: int,
|
60
|
+
) -> models.PassengerAppResource:
|
61
|
+
return models.PassengerAppResource.construct(
|
62
|
+
**self.api_connector.send_or_fail(
|
63
|
+
"PATCH",
|
64
|
+
f"/api/v1/passenger-apps/{id_}",
|
65
|
+
data=request.dict(exclude_unset=True),
|
66
|
+
query_parameters={},
|
67
|
+
).json
|
68
|
+
)
|
69
|
+
|
70
|
+
def delete_passenger_app(
|
71
|
+
self,
|
72
|
+
*,
|
73
|
+
id_: int,
|
74
|
+
) -> models.DetailMessage:
|
75
|
+
return models.DetailMessage.construct(
|
76
|
+
**self.api_connector.send_or_fail(
|
77
|
+
"DELETE",
|
78
|
+
f"/api/v1/passenger-apps/{id_}",
|
79
|
+
data=None,
|
80
|
+
query_parameters={},
|
81
|
+
).json
|
82
|
+
)
|
83
|
+
|
84
|
+
def restart_passenger_app(
|
85
|
+
self,
|
86
|
+
*,
|
87
|
+
id_: int,
|
88
|
+
callback_url: Optional[str] = None,
|
89
|
+
) -> models.TaskCollectionResource:
|
90
|
+
return models.TaskCollectionResource.construct(
|
91
|
+
**self.api_connector.send_or_fail(
|
92
|
+
"POST",
|
93
|
+
f"/api/v1/passenger-apps/{id_}/restart",
|
94
|
+
data=None,
|
95
|
+
query_parameters={
|
96
|
+
"callback_url": callback_url,
|
97
|
+
},
|
98
|
+
).json
|
99
|
+
)
|
@@ -0,0 +1,85 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class RedisInstances(Resource):
|
8
|
+
def create_redis_instance(
|
9
|
+
self,
|
10
|
+
request: models.RedisInstanceCreateRequest,
|
11
|
+
) -> models.RedisInstanceResource:
|
12
|
+
return models.RedisInstanceResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/redis-instances",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_redis_instances(
|
22
|
+
self,
|
23
|
+
*,
|
24
|
+
skip: Optional[int] = None,
|
25
|
+
limit: Optional[int] = None,
|
26
|
+
filter_: Optional[List[str]] = None,
|
27
|
+
sort: Optional[List[str]] = None,
|
28
|
+
) -> list[models.RedisInstanceResource]:
|
29
|
+
return [
|
30
|
+
models.RedisInstanceResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/redis-instances",
|
34
|
+
data=None,
|
35
|
+
query_parameters={
|
36
|
+
"skip": skip,
|
37
|
+
"limit": limit,
|
38
|
+
"filter": filter_,
|
39
|
+
"sort": sort,
|
40
|
+
},
|
41
|
+
).json
|
42
|
+
]
|
43
|
+
|
44
|
+
def read_redis_instance(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.RedisInstanceResource:
|
49
|
+
return models.RedisInstanceResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/redis-instances/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def update_redis_instance(
|
56
|
+
self,
|
57
|
+
request: models.RedisInstanceUpdateRequest,
|
58
|
+
*,
|
59
|
+
id_: int,
|
60
|
+
) -> models.RedisInstanceResource:
|
61
|
+
return models.RedisInstanceResource.construct(
|
62
|
+
**self.api_connector.send_or_fail(
|
63
|
+
"PATCH",
|
64
|
+
f"/api/v1/redis-instances/{id_}",
|
65
|
+
data=request.dict(exclude_unset=True),
|
66
|
+
query_parameters={},
|
67
|
+
).json
|
68
|
+
)
|
69
|
+
|
70
|
+
def delete_redis_instance(
|
71
|
+
self,
|
72
|
+
*,
|
73
|
+
id_: int,
|
74
|
+
delete_on_cluster: Optional[bool] = None,
|
75
|
+
) -> models.DetailMessage:
|
76
|
+
return models.DetailMessage.construct(
|
77
|
+
**self.api_connector.send_or_fail(
|
78
|
+
"DELETE",
|
79
|
+
f"/api/v1/redis-instances/{id_}",
|
80
|
+
data=None,
|
81
|
+
query_parameters={
|
82
|
+
"delete_on_cluster": delete_on_cluster,
|
83
|
+
},
|
84
|
+
).json
|
85
|
+
)
|
@@ -0,0 +1,77 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class RootSSHKeys(Resource):
|
8
|
+
def create_public_root_ssh_key(
|
9
|
+
self,
|
10
|
+
request: models.RootSSHKeyCreatePublicRequest,
|
11
|
+
) -> models.RootSSHKeyResource:
|
12
|
+
return models.RootSSHKeyResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/root-ssh-keys/public",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def create_private_root_ssh_key(
|
22
|
+
self,
|
23
|
+
request: models.RootSSHKeyCreatePrivateRequest,
|
24
|
+
) -> models.RootSSHKeyResource:
|
25
|
+
return models.RootSSHKeyResource.construct(
|
26
|
+
**self.api_connector.send_or_fail(
|
27
|
+
"POST",
|
28
|
+
"/api/v1/root-ssh-keys/private",
|
29
|
+
data=request.dict(),
|
30
|
+
query_parameters={},
|
31
|
+
).json
|
32
|
+
)
|
33
|
+
|
34
|
+
def list_root_ssh_keys(
|
35
|
+
self,
|
36
|
+
*,
|
37
|
+
skip: Optional[int] = None,
|
38
|
+
limit: Optional[int] = None,
|
39
|
+
filter_: Optional[List[str]] = None,
|
40
|
+
sort: Optional[List[str]] = None,
|
41
|
+
) -> list[models.RootSSHKeyResource]:
|
42
|
+
return [
|
43
|
+
models.RootSSHKeyResource.construct(**model)
|
44
|
+
for model in self.api_connector.send_or_fail(
|
45
|
+
"GET",
|
46
|
+
"/api/v1/root-ssh-keys",
|
47
|
+
data=None,
|
48
|
+
query_parameters={
|
49
|
+
"skip": skip,
|
50
|
+
"limit": limit,
|
51
|
+
"filter": filter_,
|
52
|
+
"sort": sort,
|
53
|
+
},
|
54
|
+
).json
|
55
|
+
]
|
56
|
+
|
57
|
+
def read_root_ssh_key(
|
58
|
+
self,
|
59
|
+
*,
|
60
|
+
id_: int,
|
61
|
+
) -> models.RootSSHKeyResource:
|
62
|
+
return models.RootSSHKeyResource.construct(
|
63
|
+
**self.api_connector.send_or_fail(
|
64
|
+
"GET", f"/api/v1/root-ssh-keys/{id_}", data=None, query_parameters={}
|
65
|
+
).json
|
66
|
+
)
|
67
|
+
|
68
|
+
def delete_root_ssh_key(
|
69
|
+
self,
|
70
|
+
*,
|
71
|
+
id_: int,
|
72
|
+
) -> models.DetailMessage:
|
73
|
+
return models.DetailMessage.construct(
|
74
|
+
**self.api_connector.send_or_fail(
|
75
|
+
"DELETE", f"/api/v1/root-ssh-keys/{id_}", data=None, query_parameters={}
|
76
|
+
).json
|
77
|
+
)
|
@@ -0,0 +1,85 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class SecurityTXTPolicies(Resource):
|
8
|
+
def create_security_txt_policy(
|
9
|
+
self,
|
10
|
+
request: models.SecurityTXTPolicyCreateRequest,
|
11
|
+
) -> models.SecurityTXTPolicyResource:
|
12
|
+
return models.SecurityTXTPolicyResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/security-txt-policies",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_security_txt_policies(
|
22
|
+
self,
|
23
|
+
*,
|
24
|
+
skip: Optional[int] = None,
|
25
|
+
limit: Optional[int] = None,
|
26
|
+
filter_: Optional[List[str]] = None,
|
27
|
+
sort: Optional[List[str]] = None,
|
28
|
+
) -> list[models.SecurityTXTPolicyResource]:
|
29
|
+
return [
|
30
|
+
models.SecurityTXTPolicyResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/security-txt-policies",
|
34
|
+
data=None,
|
35
|
+
query_parameters={
|
36
|
+
"skip": skip,
|
37
|
+
"limit": limit,
|
38
|
+
"filter": filter_,
|
39
|
+
"sort": sort,
|
40
|
+
},
|
41
|
+
).json
|
42
|
+
]
|
43
|
+
|
44
|
+
def read_security_txt_policy(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.SecurityTXTPolicyResource:
|
49
|
+
return models.SecurityTXTPolicyResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET",
|
52
|
+
f"/api/v1/security-txt-policies/{id_}",
|
53
|
+
data=None,
|
54
|
+
query_parameters={},
|
55
|
+
).json
|
56
|
+
)
|
57
|
+
|
58
|
+
def update_security_txt_policy(
|
59
|
+
self,
|
60
|
+
request: models.SecurityTXTPolicyUpdateRequest,
|
61
|
+
*,
|
62
|
+
id_: int,
|
63
|
+
) -> models.SecurityTXTPolicyResource:
|
64
|
+
return models.SecurityTXTPolicyResource.construct(
|
65
|
+
**self.api_connector.send_or_fail(
|
66
|
+
"PATCH",
|
67
|
+
f"/api/v1/security-txt-policies/{id_}",
|
68
|
+
data=request.dict(exclude_unset=True),
|
69
|
+
query_parameters={},
|
70
|
+
).json
|
71
|
+
)
|
72
|
+
|
73
|
+
def delete_security_txt_policy(
|
74
|
+
self,
|
75
|
+
*,
|
76
|
+
id_: int,
|
77
|
+
) -> models.DetailMessage:
|
78
|
+
return models.DetailMessage.construct(
|
79
|
+
**self.api_connector.send_or_fail(
|
80
|
+
"DELETE",
|
81
|
+
f"/api/v1/security-txt-policies/{id_}",
|
82
|
+
data=None,
|
83
|
+
query_parameters={},
|
84
|
+
).json
|
85
|
+
)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class Sites(Resource):
|
8
|
+
def list_sites(
|
9
|
+
self,
|
10
|
+
*,
|
11
|
+
skip: Optional[int] = None,
|
12
|
+
limit: Optional[int] = None,
|
13
|
+
filter_: Optional[List[str]] = None,
|
14
|
+
sort: Optional[List[str]] = None,
|
15
|
+
) -> list[models.SiteResource]:
|
16
|
+
return [
|
17
|
+
models.SiteResource.construct(**model)
|
18
|
+
for model in self.api_connector.send_or_fail(
|
19
|
+
"GET",
|
20
|
+
"/api/v1/sites",
|
21
|
+
data=None,
|
22
|
+
query_parameters={
|
23
|
+
"skip": skip,
|
24
|
+
"limit": limit,
|
25
|
+
"filter": filter_,
|
26
|
+
"sort": sort,
|
27
|
+
},
|
28
|
+
).json
|
29
|
+
]
|
@@ -0,0 +1,77 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class SSHKeys(Resource):
|
8
|
+
def create_public_ssh_key(
|
9
|
+
self,
|
10
|
+
request: models.SSHKeyCreatePublicRequest,
|
11
|
+
) -> models.SSHKeyResource:
|
12
|
+
return models.SSHKeyResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/ssh-keys/public",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def create_private_ssh_key(
|
22
|
+
self,
|
23
|
+
request: models.SSHKeyCreatePrivateRequest,
|
24
|
+
) -> models.SSHKeyResource:
|
25
|
+
return models.SSHKeyResource.construct(
|
26
|
+
**self.api_connector.send_or_fail(
|
27
|
+
"POST",
|
28
|
+
"/api/v1/ssh-keys/private",
|
29
|
+
data=request.dict(),
|
30
|
+
query_parameters={},
|
31
|
+
).json
|
32
|
+
)
|
33
|
+
|
34
|
+
def list_ssh_keys(
|
35
|
+
self,
|
36
|
+
*,
|
37
|
+
skip: Optional[int] = None,
|
38
|
+
limit: Optional[int] = None,
|
39
|
+
filter_: Optional[List[str]] = None,
|
40
|
+
sort: Optional[List[str]] = None,
|
41
|
+
) -> list[models.SSHKeyResource]:
|
42
|
+
return [
|
43
|
+
models.SSHKeyResource.construct(**model)
|
44
|
+
for model in self.api_connector.send_or_fail(
|
45
|
+
"GET",
|
46
|
+
"/api/v1/ssh-keys",
|
47
|
+
data=None,
|
48
|
+
query_parameters={
|
49
|
+
"skip": skip,
|
50
|
+
"limit": limit,
|
51
|
+
"filter": filter_,
|
52
|
+
"sort": sort,
|
53
|
+
},
|
54
|
+
).json
|
55
|
+
]
|
56
|
+
|
57
|
+
def read_ssh_key(
|
58
|
+
self,
|
59
|
+
*,
|
60
|
+
id_: int,
|
61
|
+
) -> models.SSHKeyResource:
|
62
|
+
return models.SSHKeyResource.construct(
|
63
|
+
**self.api_connector.send_or_fail(
|
64
|
+
"GET", f"/api/v1/ssh-keys/{id_}", data=None, query_parameters={}
|
65
|
+
).json
|
66
|
+
)
|
67
|
+
|
68
|
+
def delete_ssh_key(
|
69
|
+
self,
|
70
|
+
*,
|
71
|
+
id_: int,
|
72
|
+
) -> models.DetailMessage:
|
73
|
+
return models.DetailMessage.construct(
|
74
|
+
**self.api_connector.send_or_fail(
|
75
|
+
"DELETE", f"/api/v1/ssh-keys/{id_}", data=None, query_parameters={}
|
76
|
+
).json
|
77
|
+
)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class TaskCollections(Resource):
|
8
|
+
def list_task_collection_results(
|
9
|
+
self,
|
10
|
+
*,
|
11
|
+
uuid: str,
|
12
|
+
) -> list[models.TaskResult]:
|
13
|
+
return [
|
14
|
+
models.TaskResult.construct(**model)
|
15
|
+
for model in self.api_connector.send_or_fail(
|
16
|
+
"GET",
|
17
|
+
f"/api/v1/task-collections/{uuid}/results",
|
18
|
+
data=None,
|
19
|
+
query_parameters={},
|
20
|
+
).json
|
21
|
+
]
|
22
|
+
|
23
|
+
def retry_task_collection(
|
24
|
+
self,
|
25
|
+
*,
|
26
|
+
uuid: str,
|
27
|
+
callback_url: Optional[str] = None,
|
28
|
+
) -> models.TaskCollectionResource:
|
29
|
+
return models.TaskCollectionResource.construct(
|
30
|
+
**self.api_connector.send_or_fail(
|
31
|
+
"POST",
|
32
|
+
f"/api/v1/task-collections/{uuid}/retry",
|
33
|
+
data=None,
|
34
|
+
query_parameters={
|
35
|
+
"callback_url": callback_url,
|
36
|
+
},
|
37
|
+
).json
|
38
|
+
)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class Tombstones(Resource):
|
8
|
+
def list_tombstones(
|
9
|
+
self,
|
10
|
+
*,
|
11
|
+
skip: Optional[int] = None,
|
12
|
+
limit: Optional[int] = None,
|
13
|
+
filter_: Optional[List[str]] = None,
|
14
|
+
sort: Optional[List[str]] = None,
|
15
|
+
) -> list[models.TombstoneResource]:
|
16
|
+
return [
|
17
|
+
models.TombstoneResource.construct(**model)
|
18
|
+
for model in self.api_connector.send_or_fail(
|
19
|
+
"GET",
|
20
|
+
"/api/v1/tombstones",
|
21
|
+
data=None,
|
22
|
+
query_parameters={
|
23
|
+
"skip": skip,
|
24
|
+
"limit": limit,
|
25
|
+
"filter": filter_,
|
26
|
+
"sort": sort,
|
27
|
+
},
|
28
|
+
).json
|
29
|
+
]
|
@@ -0,0 +1,122 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class UNIXUsers(Resource):
|
8
|
+
def create_unix_user(
|
9
|
+
self,
|
10
|
+
request: models.UNIXUserCreateRequest,
|
11
|
+
) -> models.UNIXUserResource:
|
12
|
+
return models.UNIXUserResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/unix-users",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_unix_users(
|
22
|
+
self,
|
23
|
+
*,
|
24
|
+
skip: Optional[int] = None,
|
25
|
+
limit: Optional[int] = None,
|
26
|
+
filter_: Optional[List[str]] = None,
|
27
|
+
sort: Optional[List[str]] = None,
|
28
|
+
) -> list[models.UNIXUserResource]:
|
29
|
+
return [
|
30
|
+
models.UNIXUserResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/unix-users",
|
34
|
+
data=None,
|
35
|
+
query_parameters={
|
36
|
+
"skip": skip,
|
37
|
+
"limit": limit,
|
38
|
+
"filter": filter_,
|
39
|
+
"sort": sort,
|
40
|
+
},
|
41
|
+
).json
|
42
|
+
]
|
43
|
+
|
44
|
+
def read_unix_user(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.UNIXUserResource:
|
49
|
+
return models.UNIXUserResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/unix-users/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def update_unix_user(
|
56
|
+
self,
|
57
|
+
request: models.UNIXUserUpdateRequest,
|
58
|
+
*,
|
59
|
+
id_: int,
|
60
|
+
) -> models.UNIXUserResource:
|
61
|
+
return models.UNIXUserResource.construct(
|
62
|
+
**self.api_connector.send_or_fail(
|
63
|
+
"PATCH",
|
64
|
+
f"/api/v1/unix-users/{id_}",
|
65
|
+
data=request.dict(exclude_unset=True),
|
66
|
+
query_parameters={},
|
67
|
+
).json
|
68
|
+
)
|
69
|
+
|
70
|
+
def delete_unix_user(
|
71
|
+
self,
|
72
|
+
*,
|
73
|
+
id_: int,
|
74
|
+
delete_on_cluster: Optional[bool] = None,
|
75
|
+
) -> models.DetailMessage:
|
76
|
+
return models.DetailMessage.construct(
|
77
|
+
**self.api_connector.send_or_fail(
|
78
|
+
"DELETE",
|
79
|
+
f"/api/v1/unix-users/{id_}",
|
80
|
+
data=None,
|
81
|
+
query_parameters={
|
82
|
+
"delete_on_cluster": delete_on_cluster,
|
83
|
+
},
|
84
|
+
).json
|
85
|
+
)
|
86
|
+
|
87
|
+
def compare_unix_users(
|
88
|
+
self,
|
89
|
+
*,
|
90
|
+
left_unix_user_id: int,
|
91
|
+
right_unix_user_id: int,
|
92
|
+
) -> models.UNIXUserComparison:
|
93
|
+
return models.UNIXUserComparison.construct(
|
94
|
+
**self.api_connector.send_or_fail(
|
95
|
+
"GET",
|
96
|
+
f"/api/v1/unix-users/{left_unix_user_id}/comparison",
|
97
|
+
data=None,
|
98
|
+
query_parameters={
|
99
|
+
"right_unix_user_id": right_unix_user_id,
|
100
|
+
},
|
101
|
+
).json
|
102
|
+
)
|
103
|
+
|
104
|
+
def list_unix_user_usages(
|
105
|
+
self,
|
106
|
+
*,
|
107
|
+
unix_user_id: int,
|
108
|
+
timestamp: str,
|
109
|
+
time_unit: Optional[models.UNIXUserUsageResource] = None,
|
110
|
+
) -> list[models.UNIXUserUsageResource]:
|
111
|
+
return [
|
112
|
+
models.UNIXUserUsageResource.construct(**model)
|
113
|
+
for model in self.api_connector.send_or_fail(
|
114
|
+
"GET",
|
115
|
+
f"/api/v1/unix-users/usages/{unix_user_id}",
|
116
|
+
data=None,
|
117
|
+
query_parameters={
|
118
|
+
"timestamp": timestamp,
|
119
|
+
"time_unit": time_unit,
|
120
|
+
},
|
121
|
+
).json
|
122
|
+
]
|