Source code for domainrobot.services.mail_proxy

from __future__ import annotations

from ..models.resources import MailProxy
from ._base import BaseService


[docs] class MailProxyService(BaseService): """Mail proxy operations."""
[docs] def create(self, body: dict, *, headers: dict | None = None): """Create a new mail proxy. :param body: MailProxy data. :param headers: Optional extra HTTP headers. :returns: Response with :class:`~domainrobot.models.resources.MailProxy` data. """ return self._request("POST", "/mailProxy", json=body, headers=headers, model=MailProxy)
[docs] def info(self, domain: str, *, headers: dict | None = None): """Inquire data for a mail proxy. :param domain: Domain name. :param headers: Optional extra HTTP headers. :returns: Response with :class:`~domainrobot.models.resources.MailProxy` data. """ return self._request("GET", f"/mailProxy/{domain}", headers=headers, model=MailProxy)
[docs] def update(self, domain: str, body: dict, *, headers: dict | None = None): """Update a mail proxy. :param domain: Domain name. :param body: MailProxy data to update. :param headers: Optional extra HTTP headers. :returns: Response with :class:`~domainrobot.models.resources.MailProxy` data. """ return self._request( "PUT", f"/mailProxy/{domain}", json=body, headers=headers, model=MailProxy )
[docs] def delete(self, domain: str, *, headers: dict | None = None): """Delete a mail proxy. :param domain: Domain name. :param headers: Optional extra HTTP headers. """ return self._request("DELETE", f"/mailProxy/{domain}", headers=headers)
[docs] def list( self, body: dict | None = None, *, keys: list[str] | None = None, headers: dict | None = None, ): """List mail proxies. :param body: Optional query filters. :param keys: Additional data keys to return. :param headers: Optional extra HTTP headers. :returns: Response with list of :class:`~domainrobot.models.resources.MailProxy`. """ return self._request( "POST", "/mailProxy/_search", json=body or {}, params=self._keys_params(keys), headers=headers, model=MailProxy, )