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,67 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class FirewallRules(Resource):
|
8
|
+
def create_firewall_rule(
|
9
|
+
self,
|
10
|
+
request: models.FirewallRuleCreateRequest,
|
11
|
+
) -> models.FirewallRuleResource:
|
12
|
+
return models.FirewallRuleResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/firewall-rules",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_firewall_rules(
|
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.FirewallRuleResource]:
|
29
|
+
return [
|
30
|
+
models.FirewallRuleResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/firewall-rules",
|
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_firewall_rule(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.FirewallRuleResource:
|
49
|
+
return models.FirewallRuleResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/firewall-rules/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def delete_firewall_rule(
|
56
|
+
self,
|
57
|
+
*,
|
58
|
+
id_: int,
|
59
|
+
) -> models.DetailMessage:
|
60
|
+
return models.DetailMessage.construct(
|
61
|
+
**self.api_connector.send_or_fail(
|
62
|
+
"DELETE",
|
63
|
+
f"/api/v1/firewall-rules/{id_}",
|
64
|
+
data=None,
|
65
|
+
query_parameters={},
|
66
|
+
).json
|
67
|
+
)
|
@@ -0,0 +1,110 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class FPMPools(Resource):
|
8
|
+
def create_fpm_pool(
|
9
|
+
self,
|
10
|
+
request: models.FPMPoolCreateRequest,
|
11
|
+
) -> models.FPMPoolResource:
|
12
|
+
return models.FPMPoolResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST", "/api/v1/fpm-pools", data=request.dict(), query_parameters={}
|
15
|
+
).json
|
16
|
+
)
|
17
|
+
|
18
|
+
def list_fpm_pools(
|
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.FPMPoolResource]:
|
26
|
+
return [
|
27
|
+
models.FPMPoolResource.construct(**model)
|
28
|
+
for model in self.api_connector.send_or_fail(
|
29
|
+
"GET",
|
30
|
+
"/api/v1/fpm-pools",
|
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_fpm_pool(
|
42
|
+
self,
|
43
|
+
*,
|
44
|
+
id_: int,
|
45
|
+
) -> models.FPMPoolResource:
|
46
|
+
return models.FPMPoolResource.construct(
|
47
|
+
**self.api_connector.send_or_fail(
|
48
|
+
"GET", f"/api/v1/fpm-pools/{id_}", data=None, query_parameters={}
|
49
|
+
).json
|
50
|
+
)
|
51
|
+
|
52
|
+
def update_fpm_pool(
|
53
|
+
self,
|
54
|
+
request: models.FPMPoolUpdateRequest,
|
55
|
+
*,
|
56
|
+
id_: int,
|
57
|
+
) -> models.FPMPoolResource:
|
58
|
+
return models.FPMPoolResource.construct(
|
59
|
+
**self.api_connector.send_or_fail(
|
60
|
+
"PATCH",
|
61
|
+
f"/api/v1/fpm-pools/{id_}",
|
62
|
+
data=request.dict(exclude_unset=True),
|
63
|
+
query_parameters={},
|
64
|
+
).json
|
65
|
+
)
|
66
|
+
|
67
|
+
def delete_fpm_pool(
|
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/fpm-pools/{id_}", data=None, query_parameters={}
|
75
|
+
).json
|
76
|
+
)
|
77
|
+
|
78
|
+
def restart_fpm_pool(
|
79
|
+
self,
|
80
|
+
*,
|
81
|
+
id_: int,
|
82
|
+
callback_url: Optional[str] = None,
|
83
|
+
) -> models.TaskCollectionResource:
|
84
|
+
return models.TaskCollectionResource.construct(
|
85
|
+
**self.api_connector.send_or_fail(
|
86
|
+
"POST",
|
87
|
+
f"/api/v1/fpm-pools/{id_}/restart",
|
88
|
+
data=None,
|
89
|
+
query_parameters={
|
90
|
+
"callback_url": callback_url,
|
91
|
+
},
|
92
|
+
).json
|
93
|
+
)
|
94
|
+
|
95
|
+
def reload_fpm_pool(
|
96
|
+
self,
|
97
|
+
*,
|
98
|
+
id_: int,
|
99
|
+
callback_url: Optional[str] = None,
|
100
|
+
) -> models.TaskCollectionResource:
|
101
|
+
return models.TaskCollectionResource.construct(
|
102
|
+
**self.api_connector.send_or_fail(
|
103
|
+
"POST",
|
104
|
+
f"/api/v1/fpm-pools/{id_}/reload",
|
105
|
+
data=None,
|
106
|
+
query_parameters={
|
107
|
+
"callback_url": callback_url,
|
108
|
+
},
|
109
|
+
).json
|
110
|
+
)
|
@@ -0,0 +1,89 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class FTPUsers(Resource):
|
8
|
+
def create_ftp_user(
|
9
|
+
self,
|
10
|
+
request: models.FTPUserCreateRequest,
|
11
|
+
) -> models.FTPUserResource:
|
12
|
+
return models.FTPUserResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST", "/api/v1/ftp-users", data=request.dict(), query_parameters={}
|
15
|
+
).json
|
16
|
+
)
|
17
|
+
|
18
|
+
def list_ftp_users(
|
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.FTPUserResource]:
|
26
|
+
return [
|
27
|
+
models.FTPUserResource.construct(**model)
|
28
|
+
for model in self.api_connector.send_or_fail(
|
29
|
+
"GET",
|
30
|
+
"/api/v1/ftp-users",
|
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_ftp_user(
|
42
|
+
self,
|
43
|
+
*,
|
44
|
+
id_: int,
|
45
|
+
) -> models.FTPUserResource:
|
46
|
+
return models.FTPUserResource.construct(
|
47
|
+
**self.api_connector.send_or_fail(
|
48
|
+
"GET", f"/api/v1/ftp-users/{id_}", data=None, query_parameters={}
|
49
|
+
).json
|
50
|
+
)
|
51
|
+
|
52
|
+
def update_ftp_user(
|
53
|
+
self,
|
54
|
+
request: models.FTPUserUpdateRequest,
|
55
|
+
*,
|
56
|
+
id_: int,
|
57
|
+
) -> models.FTPUserResource:
|
58
|
+
return models.FTPUserResource.construct(
|
59
|
+
**self.api_connector.send_or_fail(
|
60
|
+
"PATCH",
|
61
|
+
f"/api/v1/ftp-users/{id_}",
|
62
|
+
data=request.dict(exclude_unset=True),
|
63
|
+
query_parameters={},
|
64
|
+
).json
|
65
|
+
)
|
66
|
+
|
67
|
+
def delete_ftp_user(
|
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/ftp-users/{id_}", data=None, query_parameters={}
|
75
|
+
).json
|
76
|
+
)
|
77
|
+
|
78
|
+
def create_temporary_ftp_user(
|
79
|
+
self,
|
80
|
+
request: models.TemporaryFTPUserCreateRequest,
|
81
|
+
) -> models.TemporaryFTPUserResource:
|
82
|
+
return models.TemporaryFTPUserResource.construct(
|
83
|
+
**self.api_connector.send_or_fail(
|
84
|
+
"POST",
|
85
|
+
"/api/v1/ftp-users/temporary",
|
86
|
+
data=request.dict(),
|
87
|
+
query_parameters={},
|
88
|
+
).json
|
89
|
+
)
|
@@ -0,0 +1,67 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class HAProxyListens(Resource):
|
8
|
+
def create_haproxy_listen(
|
9
|
+
self,
|
10
|
+
request: models.HAProxyListenCreateRequest,
|
11
|
+
) -> models.HAProxyListenResource:
|
12
|
+
return models.HAProxyListenResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/haproxy-listens",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_haproxy_listens(
|
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.HAProxyListenResource]:
|
29
|
+
return [
|
30
|
+
models.HAProxyListenResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/haproxy-listens",
|
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_haproxy_listen(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.HAProxyListenResource:
|
49
|
+
return models.HAProxyListenResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/haproxy-listens/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def delete_haproxy_listen(
|
56
|
+
self,
|
57
|
+
*,
|
58
|
+
id_: int,
|
59
|
+
) -> models.DetailMessage:
|
60
|
+
return models.DetailMessage.construct(
|
61
|
+
**self.api_connector.send_or_fail(
|
62
|
+
"DELETE",
|
63
|
+
f"/api/v1/haproxy-listens/{id_}",
|
64
|
+
data=None,
|
65
|
+
query_parameters={},
|
66
|
+
).json
|
67
|
+
)
|
@@ -0,0 +1,70 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class HAProxyListensToNodes(Resource):
|
8
|
+
def create_haproxy_listen_to_node(
|
9
|
+
self,
|
10
|
+
request: models.HAProxyListenToNodeCreateRequest,
|
11
|
+
) -> models.HAProxyListenToNodeResource:
|
12
|
+
return models.HAProxyListenToNodeResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/haproxy-listens-to-nodes",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_haproxy_listens_to_nodes(
|
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.HAProxyListenToNodeResource]:
|
29
|
+
return [
|
30
|
+
models.HAProxyListenToNodeResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/haproxy-listens-to-nodes",
|
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_haproxy_listen_to_node(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.HAProxyListenToNodeResource:
|
49
|
+
return models.HAProxyListenToNodeResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET",
|
52
|
+
f"/api/v1/haproxy-listens-to-nodes/{id_}",
|
53
|
+
data=None,
|
54
|
+
query_parameters={},
|
55
|
+
).json
|
56
|
+
)
|
57
|
+
|
58
|
+
def delete_haproxy_listen_to_node(
|
59
|
+
self,
|
60
|
+
*,
|
61
|
+
id_: int,
|
62
|
+
) -> models.DetailMessage:
|
63
|
+
return models.DetailMessage.construct(
|
64
|
+
**self.api_connector.send_or_fail(
|
65
|
+
"DELETE",
|
66
|
+
f"/api/v1/haproxy-listens-to-nodes/{id_}",
|
67
|
+
data=None,
|
68
|
+
query_parameters={},
|
69
|
+
).json
|
70
|
+
)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
|
3
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
4
|
+
|
5
|
+
|
6
|
+
class Health(Resource):
|
7
|
+
def read_health(
|
8
|
+
self,
|
9
|
+
) -> models.HealthResource:
|
10
|
+
return models.HealthResource.construct(
|
11
|
+
**self.api_connector.send_or_fail(
|
12
|
+
"GET", "/api/v1/health", data=None, query_parameters={}
|
13
|
+
).json
|
14
|
+
)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
4
|
+
|
5
|
+
|
6
|
+
class HostsEntries(Resource):
|
7
|
+
def create_hosts_entry(
|
8
|
+
self,
|
9
|
+
request: models.HostsEntryCreateRequest,
|
10
|
+
) -> models.HostsEntryResource:
|
11
|
+
return models.HostsEntryResource.construct(
|
12
|
+
**self.api_connector.send_or_fail(
|
13
|
+
"POST",
|
14
|
+
"/api/v1/hosts-entries",
|
15
|
+
data=request.dict(),
|
16
|
+
query_parameters={},
|
17
|
+
).json
|
18
|
+
)
|
19
|
+
|
20
|
+
def list_hosts_entries(
|
21
|
+
self,
|
22
|
+
*,
|
23
|
+
skip: Optional[int] = None,
|
24
|
+
limit: Optional[int] = None,
|
25
|
+
filter_: Optional[List[str]] = None,
|
26
|
+
sort: Optional[List[str]] = None,
|
27
|
+
) -> list[models.HostsEntryResource]:
|
28
|
+
return [
|
29
|
+
models.HostsEntryResource.construct(**model)
|
30
|
+
for model in self.api_connector.send_or_fail(
|
31
|
+
"GET",
|
32
|
+
"/api/v1/hosts-entries",
|
33
|
+
data=None,
|
34
|
+
query_parameters={
|
35
|
+
"skip": skip,
|
36
|
+
"limit": limit,
|
37
|
+
"filter": filter_,
|
38
|
+
"sort": sort,
|
39
|
+
},
|
40
|
+
).json
|
41
|
+
]
|
42
|
+
|
43
|
+
def read_hosts_entry(
|
44
|
+
self,
|
45
|
+
*,
|
46
|
+
id_: int,
|
47
|
+
) -> models.HostsEntryResource:
|
48
|
+
return models.HostsEntryResource.construct(
|
49
|
+
**self.api_connector.send_or_fail(
|
50
|
+
"GET", f"/api/v1/hosts-entries/{id_}", data=None, query_parameters={}
|
51
|
+
).json
|
52
|
+
)
|
53
|
+
|
54
|
+
def delete_hosts_entry(
|
55
|
+
self,
|
56
|
+
*,
|
57
|
+
id_: int,
|
58
|
+
) -> models.DetailMessage:
|
59
|
+
return models.DetailMessage.construct(
|
60
|
+
**self.api_connector.send_or_fail(
|
61
|
+
"DELETE", f"/api/v1/hosts-entries/{id_}", data=None, query_parameters={}
|
62
|
+
).json
|
63
|
+
)
|
@@ -0,0 +1,67 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class HtpasswdFiles(Resource):
|
8
|
+
def create_htpasswd_file(
|
9
|
+
self,
|
10
|
+
request: models.HtpasswdFileCreateRequest,
|
11
|
+
) -> models.HtpasswdFileResource:
|
12
|
+
return models.HtpasswdFileResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/htpasswd-files",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_htpasswd_files(
|
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.HtpasswdFileResource]:
|
29
|
+
return [
|
30
|
+
models.HtpasswdFileResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/htpasswd-files",
|
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_htpasswd_file(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.HtpasswdFileResource:
|
49
|
+
return models.HtpasswdFileResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/htpasswd-files/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def delete_htpasswd_file(
|
56
|
+
self,
|
57
|
+
*,
|
58
|
+
id_: int,
|
59
|
+
) -> models.DetailMessage:
|
60
|
+
return models.DetailMessage.construct(
|
61
|
+
**self.api_connector.send_or_fail(
|
62
|
+
"DELETE",
|
63
|
+
f"/api/v1/htpasswd-files/{id_}",
|
64
|
+
data=None,
|
65
|
+
query_parameters={},
|
66
|
+
).json
|
67
|
+
)
|
@@ -0,0 +1,82 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
from typing import Optional, List
|
3
|
+
|
4
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
5
|
+
|
6
|
+
|
7
|
+
class HtpasswdUsers(Resource):
|
8
|
+
def create_htpasswd_user(
|
9
|
+
self,
|
10
|
+
request: models.HtpasswdUserCreateRequest,
|
11
|
+
) -> models.HtpasswdUserResource:
|
12
|
+
return models.HtpasswdUserResource.construct(
|
13
|
+
**self.api_connector.send_or_fail(
|
14
|
+
"POST",
|
15
|
+
"/api/v1/htpasswd-users",
|
16
|
+
data=request.dict(),
|
17
|
+
query_parameters={},
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def list_htpasswd_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.HtpasswdUserResource]:
|
29
|
+
return [
|
30
|
+
models.HtpasswdUserResource.construct(**model)
|
31
|
+
for model in self.api_connector.send_or_fail(
|
32
|
+
"GET",
|
33
|
+
"/api/v1/htpasswd-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_htpasswd_user(
|
45
|
+
self,
|
46
|
+
*,
|
47
|
+
id_: int,
|
48
|
+
) -> models.HtpasswdUserResource:
|
49
|
+
return models.HtpasswdUserResource.construct(
|
50
|
+
**self.api_connector.send_or_fail(
|
51
|
+
"GET", f"/api/v1/htpasswd-users/{id_}", data=None, query_parameters={}
|
52
|
+
).json
|
53
|
+
)
|
54
|
+
|
55
|
+
def update_htpasswd_user(
|
56
|
+
self,
|
57
|
+
request: models.HtpasswdUserUpdateRequest,
|
58
|
+
*,
|
59
|
+
id_: int,
|
60
|
+
) -> models.HtpasswdUserResource:
|
61
|
+
return models.HtpasswdUserResource.construct(
|
62
|
+
**self.api_connector.send_or_fail(
|
63
|
+
"PATCH",
|
64
|
+
f"/api/v1/htpasswd-users/{id_}",
|
65
|
+
data=request.dict(exclude_unset=True),
|
66
|
+
query_parameters={},
|
67
|
+
).json
|
68
|
+
)
|
69
|
+
|
70
|
+
def delete_htpasswd_user(
|
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/htpasswd-users/{id_}",
|
79
|
+
data=None,
|
80
|
+
query_parameters={},
|
81
|
+
).json
|
82
|
+
)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
from cyberfusion.CoreApiClient import models
|
2
|
+
|
3
|
+
from cyberfusion.CoreApiClient.interfaces import Resource
|
4
|
+
|
5
|
+
|
6
|
+
class Login(Resource):
|
7
|
+
def request_access_token(
|
8
|
+
self,
|
9
|
+
request: models.BodyLoginAccessToken,
|
10
|
+
) -> models.TokenResource:
|
11
|
+
return models.TokenResource.construct(
|
12
|
+
**self.api_connector.send_or_fail(
|
13
|
+
"POST",
|
14
|
+
"/api/v1/login/access-token",
|
15
|
+
data=request.dict(),
|
16
|
+
query_parameters={},
|
17
|
+
content_type="application/x-www-form-urlencoded",
|
18
|
+
).json
|
19
|
+
)
|
20
|
+
|
21
|
+
def test_access_token(
|
22
|
+
self,
|
23
|
+
) -> models.APIUserInfo:
|
24
|
+
return models.APIUserInfo.construct(
|
25
|
+
**self.api_connector.send_or_fail(
|
26
|
+
"POST", "/api/v1/login/test-token", data=None, query_parameters={}
|
27
|
+
).json
|
28
|
+
)
|