from parallels.core.utils.entity import Entity


class DatabaseServer(Entity):
    def __init__(
        self, database_server_id, server_type, host, port, version, admin_login, admin_password, admin_password_type
    ):
        self._database_server_id = database_server_id
        self._server_type = server_type
        self._host = host
        self._port = port
        self._version = version
        self._admin_login = admin_login
        self._admin_password = admin_password
        self._admin_password_type = admin_password_type

    @property
    def database_server_id(self):
        """
        :rtype: str | unicode
        """
        return self._database_server_id

    @property
    def server_type(self):
        """
        :rtype: str | unicode
        """
        return self._server_type

    @property
    def host(self):
        """
        :rtype: str | unicode
        """
        return self._host

    @property
    def port(self):
        """
        :rtype: str | unicode
        """
        return self._port

    @property
    def version(self):
        """
        :rtype: str | unicode
        """
        return self._version

    @property
    def admin_login(self):
        """
        :rtype: str | unicode
        """
        return self._admin_login

    @property
    def admin_password(self):
        """
        :rtype: str | unicode | None
        """
        return self._admin_password

    @property
    def admin_password_type(self):
        """
        :rtype: str | unicode | None
        """
        return self._admin_password_type
