from parallels.core.utils.entity import Entity


class Hosting(Entity):
    def __init__(
        self, domain_id, asp, asp_dot_net, certificate_id, managed_runtime_version, perl, php, php_handler_id,
        python, ssi, ssl, sys_user_id, webstat, webdeploy
    ):
        self._domain_id = domain_id
        self._asp = asp
        self._asp_dot_net = asp_dot_net
        self._certificate_id = certificate_id
        self._managed_runtime_version = managed_runtime_version
        self._perl = perl
        self._php = php
        self._php_handler_id = php_handler_id
        self._python = python
        self._ssi = ssi
        self._ssl = ssl
        self._sys_user_id = sys_user_id
        self._webstat = webstat
        self._webdeploy = webdeploy

    @property
    def domain_id(self):
        """
        :rtype: str | unicode
        """
        return self._domain_id

    @property
    def asp(self):
        """
        :rtype: str | unicode
        """
        return self._asp

    @property
    def asp_dot_net(self):
        """
        :rtype: str | unicode
        """
        return self._asp_dot_net

    @property
    def certificate_id(self):
        """
        :rtype: str | unicode
        """
        return self._certificate_id

    @property
    def managed_runtime_version(self):
        """
        :rtype: str | unicode
        """
        return self._managed_runtime_version

    @property
    def perl(self):
        """
        :rtype: str | unicode
        """
        return self._perl

    @property
    def php(self):
        """
        :rtype: str | unicode
        """
        return self._php

    @property
    def php_handler_id(self):
        """
        :rtype: str | unicode
        """
        return self._php_handler_id

    @property
    def python(self):
        """
        :rtype: str | unicode
        """
        return self._python

    @property
    def ssi(self):
        """
        :rtype: str | unicode
        """
        return self._ssi

    @property
    def ssl(self):
        """
        :rtype: str | unicode
        """
        return self._ssl

    @property
    def sys_user_id(self):
        """
        :rtype: str | unicode
        """
        return self._sys_user_id

    @property
    def webstat(self):
        """
        :rtype: str | unicode
        """
        return self._webstat

    @property
    def webdeploy(self):
        """
        :rtype: str | unicode
        """
        return self._webdeploy
