Skip to content

Commit 5a73777

Browse files
committed
add antivirus file
1 parent f62b708 commit 5a73777

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

cterasdk/edge/antivirus.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import logging
2+
from .enum import Mode
3+
from .base_command import BaseCommand
4+
5+
6+
logger = logging.getLogger('cterasdk.edge')
7+
8+
9+
class Antivirus(BaseCommand):
10+
"""Edge Filer Antivirus APIs"""
11+
12+
def __init__(self, edge):
13+
super().__init__(edge)
14+
self.settings = Settings(self._edge)
15+
16+
def enable(self):
17+
"""
18+
Enable Bit Defender antivirus.
19+
"""
20+
logger.info('Enabling antivirus.')
21+
response = self._edge.api.put('/config/av/realtime/mode', Mode.Enabled)
22+
logger.info('Antivirus enabled.')
23+
return response
24+
25+
def disable(self):
26+
"""
27+
Disable Bit Defender antivirus.
28+
"""
29+
logger.info('Disabling antivirus.')
30+
response = self._edge.api.put('/config/av/realtime/mode', Mode.Disabled)
31+
logger.info('Antivirus disabled.')
32+
return response
33+
34+
def update(self):
35+
"""
36+
Check for updates.
37+
"""
38+
return self._edge.api.execute('/config/av/updates', 'updatenow')
39+
40+
def status(self):
41+
"""
42+
Get Status.
43+
"""
44+
return self._edge.api.get('/status/av')
45+
46+
47+
class Settings(BaseCommand):
48+
49+
def get(self):
50+
"""
51+
Get antivirus settings.
52+
"""
53+
return self._edge.api.get('/config/av/updates')
54+
55+
def update(self, schedule, disabled=False):
56+
"""
57+
Update antivirus settings.
58+
59+
:param cterasdk.edge.types.AntivirusUpdateSchedule schedule: Antivirus update schedule
60+
:param bool,optional disabled: Enable or disable automatic updates, defaults to ``False``
61+
"""
62+
settings = self.get()
63+
settings.mode = Mode.Disabled if disabled is True else Mode.Enabled
64+
settings.schedule = schedule
65+
return self._edge.api.put('/config/av/updates', settings)

0 commit comments

Comments
 (0)