moira-client
127 строк · 3.1 Кб
1from .client import Client2from .models.contact import ContactManager3from .models.event import EventManager4from .models.notification import NotificationManager5from .models.pattern import PatternManager6from .models.subscription import SubscriptionManager7from .models.tag import TagManager8from .models.trigger import TriggerManager9from .models.health import HealthManager10
11
12class Moira:13def __init__(14self, api_url, auth_custom=None,15auth_user=None, auth_pass=None, login=None,16retry_policy=None,17):18"""19:param api_url: str API URL
20:param auth_custom: dict auth custom headers
21:param auth_user: str auth user
22:param auth_pass: str auth password
23:param login: str auth login
24:param retry_policy: client.RetryPolicy configuration of retries
25"""
26self._client = Client(27api_url, auth_custom,28auth_user, auth_pass, login,29retry_policy=retry_policy,30)31
32self._trigger = None33self._tag = None34self._event = None35self._notification = None36self._contact = None37self._pattern = None38self._subscription = None39self._health = None40
41@property42def trigger(self):43"""44Get trigger manager
45
46:return: TriggerManager
47"""
48if not self._trigger:49self._trigger = TriggerManager(self._client)50return self._trigger51
52@property53def tag(self):54"""55Get tag manager
56
57:return: TagManager
58"""
59if not self._tag:60self._tag = TagManager(self._client)61return self._tag62
63@property64def event(self):65"""66Get event manager
67
68:return: EventManager
69"""
70if not self._event:71self._event = EventManager(self._client)72return self._event73
74@property75def notification(self):76"""77Get notification manager
78
79:return: NotificationManager
80"""
81if not self._notification:82self._notification = NotificationManager(self._client)83return self._notification84
85@property86def contact(self):87"""88Get contact manager
89
90:return: ContactManager
91"""
92if not self._contact:93self._contact = ContactManager(self._client)94return self._contact95
96@property97def pattern(self):98"""99Get pattern manager
100
101:return: PatternManager
102"""
103if not self._pattern:104self._pattern = PatternManager(self._client)105return self._pattern106
107@property108def subscription(self):109"""110Get subscription manager
111
112:return: SubscriptionManager
113"""
114if not self._subscription:115self._subscription = SubscriptionManager(self._client)116return self._subscription117
118@property119def health(self):120"""121Get health manager
122
123:return: HealthManager
124"""
125if not self._health:126self._health = HealthManager(self._client)127return self._health128