Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions scaleway-async/scaleway_async/domain/v2beta1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,14 +167,17 @@
from .types import RestoreDNSZoneVersionRequest
from .types import RestoreDNSZoneVersionResponse
from .types import RetryInboundTransferResponse
from .types import SearchAvailableDomainsConsoleResponse
from .types import SearchAvailableDomainsResponse
from .types import UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest
from .types import UpdateDNSZoneNameserversRequest
from .types import UpdateDNSZoneNameserversResponse
from .types import UpdateDNSZoneRecordsRequest
from .types import UpdateDNSZoneRecordsResponse
from .types import UpdateDNSZoneRequest
from .api import DomainV2Beta1API
from .api import DomainV2Beta1RegistrarAPI
from .api import DomainV2Beta1UnauthenticatedRegistrarAPI

__all__ = [
"ContactEmailStatus",
Expand Down Expand Up @@ -344,12 +347,15 @@
"RestoreDNSZoneVersionRequest",
"RestoreDNSZoneVersionResponse",
"RetryInboundTransferResponse",
"SearchAvailableDomainsConsoleResponse",
"SearchAvailableDomainsResponse",
"UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest",
"UpdateDNSZoneNameserversRequest",
"UpdateDNSZoneNameserversResponse",
"UpdateDNSZoneRecordsRequest",
"UpdateDNSZoneRecordsResponse",
"UpdateDNSZoneRequest",
"DomainV2Beta1API",
"DomainV2Beta1RegistrarAPI",
"DomainV2Beta1UnauthenticatedRegistrarAPI",
]
66 changes: 66 additions & 0 deletions scaleway-async/scaleway_async/domain/v2beta1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from scaleway_core.api import API
from scaleway_core.bridge import (
ScwFile,
ServiceInfo,
unmarshal_ScwFile,
unmarshal_ServiceInfo,
)
from scaleway_core.utils import (
WaitForOptions,
Expand Down Expand Up @@ -96,6 +98,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
SSLCertificate,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
Task,
Tld,
Expand Down Expand Up @@ -145,6 +148,7 @@
unmarshal_RegisterExternalDomainResponse,
unmarshal_RestoreDNSZoneVersionResponse,
unmarshal_RetryInboundTransferResponse,
unmarshal_SearchAvailableDomainsConsoleResponse,
unmarshal_SearchAvailableDomainsResponse,
unmarshal_UpdateDNSZoneNameserversResponse,
unmarshal_UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -2977,3 +2981,65 @@ async def delete_domain_host(

self._throw_on_error(res)
return unmarshal_Host(res.json())


class DomainV2Beta1UnauthenticatedRegistrarAPI(API):
"""
Unauthenticated Domain search API.
"""

async def get_service_info(
self,
) -> ServiceInfo:
"""

:return: :class:`ServiceInfo <ServiceInfo>`

Usage:
::

result = await api.get_service_info()
"""

res = self._request(
"GET",
"/domain/v2beta1/search",
)

self._throw_on_error(res)
return unmarshal_ServiceInfo(res.json())

async def search_available_domains_console(
self,
*,
domain: str,
strict_search: bool,
tlds: Optional[list[str]] = None,
) -> SearchAvailableDomainsConsoleResponse:
"""
:param domain:
:param strict_search:
:param tlds:
:return: :class:`SearchAvailableDomainsConsoleResponse <SearchAvailableDomainsConsoleResponse>`

Usage:
::

result = await api.search_available_domains_console(
domain="example",
strict_search=False,
)
"""

res = self._request(
"GET",
"/domain/v2beta1/search-domains-console",
params={
"domain": domain,
"strict_search": strict_search,
"tlds": tlds,
},
)

self._throw_on_error(res)
return unmarshal_SearchAvailableDomainsConsoleResponse(res.json())
28 changes: 28 additions & 0 deletions scaleway-async/scaleway_async/domain/v2beta1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
AvailableDomain,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
UpdateDNSZoneNameserversResponse,
UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -2581,6 +2582,33 @@ def unmarshal_AvailableDomain(data: Any) -> AvailableDomain:
return AvailableDomain(**args)


def unmarshal_SearchAvailableDomainsConsoleResponse(
data: Any,
) -> SearchAvailableDomainsConsoleResponse:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'SearchAvailableDomainsConsoleResponse' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("available_domains", None)
if field is not None:
args["available_domains"] = (
[unmarshal_AvailableDomain(v) for v in field] if field is not None else None
)
else:
args["available_domains"] = None

field = data.get("exact_match_domain", None)
if field is not None:
args["exact_match_domain"] = unmarshal_AvailableDomain(field)
else:
args["exact_match_domain"] = None

return SearchAvailableDomainsConsoleResponse(**args)


def unmarshal_SearchAvailableDomainsResponse(
data: Any,
) -> SearchAvailableDomainsResponse:
Expand Down
13 changes: 13 additions & 0 deletions scaleway-async/scaleway_async/domain/v2beta1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1808,6 +1808,12 @@ class RetryInboundTransferResponse:
pass


@dataclass
class SearchAvailableDomainsConsoleResponse:
available_domains: list[AvailableDomain]
exact_match_domain: Optional[AvailableDomain] = None


@dataclass
class SearchAvailableDomainsResponse:
available_domains: list[AvailableDomain]
Expand All @@ -1816,6 +1822,13 @@ class SearchAvailableDomainsResponse:
"""


@dataclass
class UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest:
domain: str
strict_search: bool
tlds: Optional[list[str]] = field(default_factory=list)


@dataclass
class UpdateDNSZoneNameserversRequest:
dns_zone: str
Expand Down
6 changes: 6 additions & 0 deletions scaleway/scaleway/domain/v2beta1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,14 +167,17 @@
from .types import RestoreDNSZoneVersionRequest
from .types import RestoreDNSZoneVersionResponse
from .types import RetryInboundTransferResponse
from .types import SearchAvailableDomainsConsoleResponse
from .types import SearchAvailableDomainsResponse
from .types import UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest
from .types import UpdateDNSZoneNameserversRequest
from .types import UpdateDNSZoneNameserversResponse
from .types import UpdateDNSZoneRecordsRequest
from .types import UpdateDNSZoneRecordsResponse
from .types import UpdateDNSZoneRequest
from .api import DomainV2Beta1API
from .api import DomainV2Beta1RegistrarAPI
from .api import DomainV2Beta1UnauthenticatedRegistrarAPI

__all__ = [
"ContactEmailStatus",
Expand Down Expand Up @@ -344,12 +347,15 @@
"RestoreDNSZoneVersionRequest",
"RestoreDNSZoneVersionResponse",
"RetryInboundTransferResponse",
"SearchAvailableDomainsConsoleResponse",
"SearchAvailableDomainsResponse",
"UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest",
"UpdateDNSZoneNameserversRequest",
"UpdateDNSZoneNameserversResponse",
"UpdateDNSZoneRecordsRequest",
"UpdateDNSZoneRecordsResponse",
"UpdateDNSZoneRequest",
"DomainV2Beta1API",
"DomainV2Beta1RegistrarAPI",
"DomainV2Beta1UnauthenticatedRegistrarAPI",
]
66 changes: 66 additions & 0 deletions scaleway/scaleway/domain/v2beta1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from scaleway_core.api import API
from scaleway_core.bridge import (
ScwFile,
ServiceInfo,
unmarshal_ScwFile,
unmarshal_ServiceInfo,
)
from scaleway_core.utils import (
WaitForOptions,
Expand Down Expand Up @@ -96,6 +98,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
SSLCertificate,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
Task,
Tld,
Expand Down Expand Up @@ -145,6 +148,7 @@
unmarshal_RegisterExternalDomainResponse,
unmarshal_RestoreDNSZoneVersionResponse,
unmarshal_RetryInboundTransferResponse,
unmarshal_SearchAvailableDomainsConsoleResponse,
unmarshal_SearchAvailableDomainsResponse,
unmarshal_UpdateDNSZoneNameserversResponse,
unmarshal_UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -2975,3 +2979,65 @@ def delete_domain_host(

self._throw_on_error(res)
return unmarshal_Host(res.json())


class DomainV2Beta1UnauthenticatedRegistrarAPI(API):
"""
Unauthenticated Domain search API.
"""

def get_service_info(
self,
) -> ServiceInfo:
"""

:return: :class:`ServiceInfo <ServiceInfo>`

Usage:
::

result = api.get_service_info()
"""

res = self._request(
"GET",
"/domain/v2beta1/search",
)

self._throw_on_error(res)
return unmarshal_ServiceInfo(res.json())

def search_available_domains_console(
self,
*,
domain: str,
strict_search: bool,
tlds: Optional[list[str]] = None,
) -> SearchAvailableDomainsConsoleResponse:
"""
:param domain:
:param strict_search:
:param tlds:
:return: :class:`SearchAvailableDomainsConsoleResponse <SearchAvailableDomainsConsoleResponse>`

Usage:
::

result = api.search_available_domains_console(
domain="example",
strict_search=False,
)
"""

res = self._request(
"GET",
"/domain/v2beta1/search-domains-console",
params={
"domain": domain,
"strict_search": strict_search,
"tlds": tlds,
},
)

self._throw_on_error(res)
return unmarshal_SearchAvailableDomainsConsoleResponse(res.json())
28 changes: 28 additions & 0 deletions scaleway/scaleway/domain/v2beta1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
AvailableDomain,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
UpdateDNSZoneNameserversResponse,
UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -2581,6 +2582,33 @@ def unmarshal_AvailableDomain(data: Any) -> AvailableDomain:
return AvailableDomain(**args)


def unmarshal_SearchAvailableDomainsConsoleResponse(
data: Any,
) -> SearchAvailableDomainsConsoleResponse:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'SearchAvailableDomainsConsoleResponse' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("available_domains", None)
if field is not None:
args["available_domains"] = (
[unmarshal_AvailableDomain(v) for v in field] if field is not None else None
)
else:
args["available_domains"] = None

field = data.get("exact_match_domain", None)
if field is not None:
args["exact_match_domain"] = unmarshal_AvailableDomain(field)
else:
args["exact_match_domain"] = None

return SearchAvailableDomainsConsoleResponse(**args)


def unmarshal_SearchAvailableDomainsResponse(
data: Any,
) -> SearchAvailableDomainsResponse:
Expand Down
13 changes: 13 additions & 0 deletions scaleway/scaleway/domain/v2beta1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1808,6 +1808,12 @@ class RetryInboundTransferResponse:
pass


@dataclass
class SearchAvailableDomainsConsoleResponse:
available_domains: list[AvailableDomain]
exact_match_domain: Optional[AvailableDomain] = None


@dataclass
class SearchAvailableDomainsResponse:
available_domains: list[AvailableDomain]
Expand All @@ -1816,6 +1822,13 @@ class SearchAvailableDomainsResponse:
"""


@dataclass
class UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest:
domain: str
strict_search: bool
tlds: Optional[list[str]] = field(default_factory=list)


@dataclass
class UpdateDNSZoneNameserversRequest:
dns_zone: str
Expand Down