# Path: moira_client/client.py
# class ResponseStructureError(Exception):
#     def __init__(self, msg, content):
#         """
# 
#         :param msg: str error message
#         :param content: dict response content
#         """
#         self.msg = msg
#         self.content = content


from ..client import ResponseStructureError
        self.label = label
        self.validation = validation
        self.placeholder = placeholder
        self.help = _help


class Config:
    def __init__(self, remote_allowed, contacts, support_email=None):
        self.remoteAllowed = remote_allowed
        self.contacts = contacts
        self.supportEmail = support_email


class ConfigManager:
    def __init__(self, client):
        self._client = client

    def fetch(self):
        """
        Returns config, see https://moira.readthedocs.io/en/latest/installation/configuration.html

        :return: config

        :raises: ResponseStructureError
        """
        result = self._client.get(self._full_path())

        if 'contacts' not in result:
            raise ResponseStructureError("'contacts' field doesn't exist in response", result)
        if 'remoteAllowed' not in result:

# Path: moira_client/client.py
# class ResponseStructureError(Exception):
#     def __init__(self, msg, content):
#         """
# 
#         :param msg: str error message
#         :param content: dict response content
#         """
#         self.msg = msg
#         self.content = content


# Path: moira_client/models/config.py
from ..client import ResponseStructureError

        self.label = label
        self.validation = validation
        self.placeholder = placeholder
        self.help = _help


class Config:
    def __init__(self, remote_allowed, contacts, support_email=None):
        self.remoteAllowed = remote_allowed
        self.contacts = contacts
        self.supportEmail = support_email


class ConfigManager:
    def __init__(self, client):
        self._client = client

    def fetch(self):
        """
        Returns config, see https://moira.readthedocs.io/en/latest/installation/configuration.html

        :return: config

        :raises: ResponseStructureError
        """
        result = self._client.get(self._full_path())

        if 'contacts' not in result:
            raise ResponseStructureError("'contacts' field doesn't exist in response", result)
        if 'remoteAllowed' not in result:

            raise ResponseStructureError("'remoteAllowed' field doesn't exist in response", result)