moira-client

Форк
0
127 строк · 3.1 Кб
1
from .client import Client
2
from .models.contact import ContactManager
3
from .models.event import EventManager
4
from .models.notification import NotificationManager
5
from .models.pattern import PatternManager
6
from .models.subscription import SubscriptionManager
7
from .models.tag import TagManager
8
from .models.trigger import TriggerManager
9
from .models.health import HealthManager
10

11

12
class Moira:
13
    def __init__(
14
        self, api_url, auth_custom=None,
15
        auth_user=None, auth_pass=None, login=None,
16
        retry_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
        """
26
        self._client = Client(
27
            api_url, auth_custom,
28
            auth_user, auth_pass, login,
29
            retry_policy=retry_policy,
30
        )
31

32
        self._trigger = None
33
        self._tag = None
34
        self._event = None
35
        self._notification = None
36
        self._contact = None
37
        self._pattern = None
38
        self._subscription = None
39
        self._health = None
40

41
    @property
42
    def trigger(self):
43
        """
44
        Get trigger manager
45

46
        :return: TriggerManager
47
        """
48
        if not self._trigger:
49
            self._trigger = TriggerManager(self._client)
50
        return self._trigger
51

52
    @property
53
    def tag(self):
54
        """
55
        Get tag manager
56

57
        :return: TagManager
58
        """
59
        if not self._tag:
60
            self._tag = TagManager(self._client)
61
        return self._tag
62

63
    @property
64
    def event(self):
65
        """
66
        Get event manager
67

68
        :return: EventManager
69
        """
70
        if not self._event:
71
            self._event = EventManager(self._client)
72
        return self._event
73

74
    @property
75
    def notification(self):
76
        """
77
        Get notification manager
78

79
        :return: NotificationManager
80
        """
81
        if not self._notification:
82
            self._notification = NotificationManager(self._client)
83
        return self._notification
84

85
    @property
86
    def contact(self):
87
        """
88
        Get contact manager
89

90
        :return: ContactManager
91
        """
92
        if not self._contact:
93
            self._contact = ContactManager(self._client)
94
        return self._contact
95

96
    @property
97
    def pattern(self):
98
        """
99
        Get pattern manager
100

101
        :return: PatternManager
102
        """
103
        if not self._pattern:
104
            self._pattern = PatternManager(self._client)
105
        return self._pattern
106

107
    @property
108
    def subscription(self):
109
        """
110
        Get subscription manager
111

112
        :return: SubscriptionManager
113
        """
114
        if not self._subscription:
115
            self._subscription = SubscriptionManager(self._client)
116
        return self._subscription
117

118
    @property
119
    def health(self):
120
        """
121
        Get health manager
122

123
        :return: HealthManager
124
        """
125
        if not self._health:
126
            self._health = HealthManager(self._client)
127
        return self._health
128

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.