Skip to content

Commit 54445ec

Browse files
authored
feat(domain): add unauthenticated_registrar_api yaml (scaleway#1439)
1 parent fac1282 commit 54445ec

File tree

8 files changed

+226
-0
lines changed

8 files changed

+226
-0
lines changed

scaleway-async/scaleway_async/domain/v2beta1/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,17 @@
167167
from .types import RestoreDNSZoneVersionRequest
168168
from .types import RestoreDNSZoneVersionResponse
169169
from .types import RetryInboundTransferResponse
170+
from .types import SearchAvailableDomainsConsoleResponse
170171
from .types import SearchAvailableDomainsResponse
172+
from .types import UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest
171173
from .types import UpdateDNSZoneNameserversRequest
172174
from .types import UpdateDNSZoneNameserversResponse
173175
from .types import UpdateDNSZoneRecordsRequest
174176
from .types import UpdateDNSZoneRecordsResponse
175177
from .types import UpdateDNSZoneRequest
176178
from .api import DomainV2Beta1API
177179
from .api import DomainV2Beta1RegistrarAPI
180+
from .api import DomainV2Beta1UnauthenticatedRegistrarAPI
178181

179182
__all__ = [
180183
"ContactEmailStatus",
@@ -344,12 +347,15 @@
344347
"RestoreDNSZoneVersionRequest",
345348
"RestoreDNSZoneVersionResponse",
346349
"RetryInboundTransferResponse",
350+
"SearchAvailableDomainsConsoleResponse",
347351
"SearchAvailableDomainsResponse",
352+
"UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest",
348353
"UpdateDNSZoneNameserversRequest",
349354
"UpdateDNSZoneNameserversResponse",
350355
"UpdateDNSZoneRecordsRequest",
351356
"UpdateDNSZoneRecordsResponse",
352357
"UpdateDNSZoneRequest",
353358
"DomainV2Beta1API",
354359
"DomainV2Beta1RegistrarAPI",
360+
"DomainV2Beta1UnauthenticatedRegistrarAPI",
355361
]

scaleway-async/scaleway_async/domain/v2beta1/api.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
from scaleway_core.api import API
88
from scaleway_core.bridge import (
99
ScwFile,
10+
ServiceInfo,
1011
unmarshal_ScwFile,
12+
unmarshal_ServiceInfo,
1113
)
1214
from scaleway_core.utils import (
1315
WaitForOptions,
@@ -96,6 +98,7 @@
9698
RestoreDNSZoneVersionResponse,
9799
RetryInboundTransferResponse,
98100
SSLCertificate,
101+
SearchAvailableDomainsConsoleResponse,
99102
SearchAvailableDomainsResponse,
100103
Task,
101104
Tld,
@@ -145,6 +148,7 @@
145148
unmarshal_RegisterExternalDomainResponse,
146149
unmarshal_RestoreDNSZoneVersionResponse,
147150
unmarshal_RetryInboundTransferResponse,
151+
unmarshal_SearchAvailableDomainsConsoleResponse,
148152
unmarshal_SearchAvailableDomainsResponse,
149153
unmarshal_UpdateDNSZoneNameserversResponse,
150154
unmarshal_UpdateDNSZoneRecordsResponse,
@@ -2977,3 +2981,65 @@ async def delete_domain_host(
29772981

29782982
self._throw_on_error(res)
29792983
return unmarshal_Host(res.json())
2984+
2985+
2986+
class DomainV2Beta1UnauthenticatedRegistrarAPI(API):
2987+
"""
2988+
Unauthenticated Domain search API.
2989+
"""
2990+
2991+
async def get_service_info(
2992+
self,
2993+
) -> ServiceInfo:
2994+
"""
2995+
2996+
:return: :class:`ServiceInfo <ServiceInfo>`
2997+
2998+
Usage:
2999+
::
3000+
3001+
result = await api.get_service_info()
3002+
"""
3003+
3004+
res = self._request(
3005+
"GET",
3006+
"/domain/v2beta1/search",
3007+
)
3008+
3009+
self._throw_on_error(res)
3010+
return unmarshal_ServiceInfo(res.json())
3011+
3012+
async def search_available_domains_console(
3013+
self,
3014+
*,
3015+
domain: str,
3016+
strict_search: bool,
3017+
tlds: Optional[list[str]] = None,
3018+
) -> SearchAvailableDomainsConsoleResponse:
3019+
"""
3020+
:param domain:
3021+
:param strict_search:
3022+
:param tlds:
3023+
:return: :class:`SearchAvailableDomainsConsoleResponse <SearchAvailableDomainsConsoleResponse>`
3024+
3025+
Usage:
3026+
::
3027+
3028+
result = await api.search_available_domains_console(
3029+
domain="example",
3030+
strict_search=False,
3031+
)
3032+
"""
3033+
3034+
res = self._request(
3035+
"GET",
3036+
"/domain/v2beta1/search-domains-console",
3037+
params={
3038+
"domain": domain,
3039+
"strict_search": strict_search,
3040+
"tlds": tlds,
3041+
},
3042+
)
3043+
3044+
self._throw_on_error(res)
3045+
return unmarshal_SearchAvailableDomainsConsoleResponse(res.json())

scaleway-async/scaleway_async/domain/v2beta1/marshalling.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
RestoreDNSZoneVersionResponse,
9494
RetryInboundTransferResponse,
9595
AvailableDomain,
96+
SearchAvailableDomainsConsoleResponse,
9697
SearchAvailableDomainsResponse,
9798
UpdateDNSZoneNameserversResponse,
9899
UpdateDNSZoneRecordsResponse,
@@ -2581,6 +2582,33 @@ def unmarshal_AvailableDomain(data: Any) -> AvailableDomain:
25812582
return AvailableDomain(**args)
25822583

25832584

2585+
def unmarshal_SearchAvailableDomainsConsoleResponse(
2586+
data: Any,
2587+
) -> SearchAvailableDomainsConsoleResponse:
2588+
if not isinstance(data, dict):
2589+
raise TypeError(
2590+
"Unmarshalling the type 'SearchAvailableDomainsConsoleResponse' failed as data isn't a dictionary."
2591+
)
2592+
2593+
args: dict[str, Any] = {}
2594+
2595+
field = data.get("available_domains", None)
2596+
if field is not None:
2597+
args["available_domains"] = (
2598+
[unmarshal_AvailableDomain(v) for v in field] if field is not None else None
2599+
)
2600+
else:
2601+
args["available_domains"] = None
2602+
2603+
field = data.get("exact_match_domain", None)
2604+
if field is not None:
2605+
args["exact_match_domain"] = unmarshal_AvailableDomain(field)
2606+
else:
2607+
args["exact_match_domain"] = None
2608+
2609+
return SearchAvailableDomainsConsoleResponse(**args)
2610+
2611+
25842612
def unmarshal_SearchAvailableDomainsResponse(
25852613
data: Any,
25862614
) -> SearchAvailableDomainsResponse:

scaleway-async/scaleway_async/domain/v2beta1/types.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1808,6 +1808,12 @@ class RetryInboundTransferResponse:
18081808
pass
18091809

18101810

1811+
@dataclass
1812+
class SearchAvailableDomainsConsoleResponse:
1813+
available_domains: list[AvailableDomain]
1814+
exact_match_domain: Optional[AvailableDomain] = None
1815+
1816+
18111817
@dataclass
18121818
class SearchAvailableDomainsResponse:
18131819
available_domains: list[AvailableDomain]
@@ -1816,6 +1822,13 @@ class SearchAvailableDomainsResponse:
18161822
"""
18171823

18181824

1825+
@dataclass
1826+
class UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest:
1827+
domain: str
1828+
strict_search: bool
1829+
tlds: Optional[list[str]] = field(default_factory=list)
1830+
1831+
18191832
@dataclass
18201833
class UpdateDNSZoneNameserversRequest:
18211834
dns_zone: str

scaleway/scaleway/domain/v2beta1/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,17 @@
167167
from .types import RestoreDNSZoneVersionRequest
168168
from .types import RestoreDNSZoneVersionResponse
169169
from .types import RetryInboundTransferResponse
170+
from .types import SearchAvailableDomainsConsoleResponse
170171
from .types import SearchAvailableDomainsResponse
172+
from .types import UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest
171173
from .types import UpdateDNSZoneNameserversRequest
172174
from .types import UpdateDNSZoneNameserversResponse
173175
from .types import UpdateDNSZoneRecordsRequest
174176
from .types import UpdateDNSZoneRecordsResponse
175177
from .types import UpdateDNSZoneRequest
176178
from .api import DomainV2Beta1API
177179
from .api import DomainV2Beta1RegistrarAPI
180+
from .api import DomainV2Beta1UnauthenticatedRegistrarAPI
178181

179182
__all__ = [
180183
"ContactEmailStatus",
@@ -344,12 +347,15 @@
344347
"RestoreDNSZoneVersionRequest",
345348
"RestoreDNSZoneVersionResponse",
346349
"RetryInboundTransferResponse",
350+
"SearchAvailableDomainsConsoleResponse",
347351
"SearchAvailableDomainsResponse",
352+
"UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest",
348353
"UpdateDNSZoneNameserversRequest",
349354
"UpdateDNSZoneNameserversResponse",
350355
"UpdateDNSZoneRecordsRequest",
351356
"UpdateDNSZoneRecordsResponse",
352357
"UpdateDNSZoneRequest",
353358
"DomainV2Beta1API",
354359
"DomainV2Beta1RegistrarAPI",
360+
"DomainV2Beta1UnauthenticatedRegistrarAPI",
355361
]

scaleway/scaleway/domain/v2beta1/api.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
from scaleway_core.api import API
88
from scaleway_core.bridge import (
99
ScwFile,
10+
ServiceInfo,
1011
unmarshal_ScwFile,
12+
unmarshal_ServiceInfo,
1113
)
1214
from scaleway_core.utils import (
1315
WaitForOptions,
@@ -96,6 +98,7 @@
9698
RestoreDNSZoneVersionResponse,
9799
RetryInboundTransferResponse,
98100
SSLCertificate,
101+
SearchAvailableDomainsConsoleResponse,
99102
SearchAvailableDomainsResponse,
100103
Task,
101104
Tld,
@@ -145,6 +148,7 @@
145148
unmarshal_RegisterExternalDomainResponse,
146149
unmarshal_RestoreDNSZoneVersionResponse,
147150
unmarshal_RetryInboundTransferResponse,
151+
unmarshal_SearchAvailableDomainsConsoleResponse,
148152
unmarshal_SearchAvailableDomainsResponse,
149153
unmarshal_UpdateDNSZoneNameserversResponse,
150154
unmarshal_UpdateDNSZoneRecordsResponse,
@@ -2975,3 +2979,65 @@ def delete_domain_host(
29752979

29762980
self._throw_on_error(res)
29772981
return unmarshal_Host(res.json())
2982+
2983+
2984+
class DomainV2Beta1UnauthenticatedRegistrarAPI(API):
2985+
"""
2986+
Unauthenticated Domain search API.
2987+
"""
2988+
2989+
def get_service_info(
2990+
self,
2991+
) -> ServiceInfo:
2992+
"""
2993+
2994+
:return: :class:`ServiceInfo <ServiceInfo>`
2995+
2996+
Usage:
2997+
::
2998+
2999+
result = api.get_service_info()
3000+
"""
3001+
3002+
res = self._request(
3003+
"GET",
3004+
"/domain/v2beta1/search",
3005+
)
3006+
3007+
self._throw_on_error(res)
3008+
return unmarshal_ServiceInfo(res.json())
3009+
3010+
def search_available_domains_console(
3011+
self,
3012+
*,
3013+
domain: str,
3014+
strict_search: bool,
3015+
tlds: Optional[list[str]] = None,
3016+
) -> SearchAvailableDomainsConsoleResponse:
3017+
"""
3018+
:param domain:
3019+
:param strict_search:
3020+
:param tlds:
3021+
:return: :class:`SearchAvailableDomainsConsoleResponse <SearchAvailableDomainsConsoleResponse>`
3022+
3023+
Usage:
3024+
::
3025+
3026+
result = api.search_available_domains_console(
3027+
domain="example",
3028+
strict_search=False,
3029+
)
3030+
"""
3031+
3032+
res = self._request(
3033+
"GET",
3034+
"/domain/v2beta1/search-domains-console",
3035+
params={
3036+
"domain": domain,
3037+
"strict_search": strict_search,
3038+
"tlds": tlds,
3039+
},
3040+
)
3041+
3042+
self._throw_on_error(res)
3043+
return unmarshal_SearchAvailableDomainsConsoleResponse(res.json())

scaleway/scaleway/domain/v2beta1/marshalling.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
RestoreDNSZoneVersionResponse,
9494
RetryInboundTransferResponse,
9595
AvailableDomain,
96+
SearchAvailableDomainsConsoleResponse,
9697
SearchAvailableDomainsResponse,
9798
UpdateDNSZoneNameserversResponse,
9899
UpdateDNSZoneRecordsResponse,
@@ -2581,6 +2582,33 @@ def unmarshal_AvailableDomain(data: Any) -> AvailableDomain:
25812582
return AvailableDomain(**args)
25822583

25832584

2585+
def unmarshal_SearchAvailableDomainsConsoleResponse(
2586+
data: Any,
2587+
) -> SearchAvailableDomainsConsoleResponse:
2588+
if not isinstance(data, dict):
2589+
raise TypeError(
2590+
"Unmarshalling the type 'SearchAvailableDomainsConsoleResponse' failed as data isn't a dictionary."
2591+
)
2592+
2593+
args: dict[str, Any] = {}
2594+
2595+
field = data.get("available_domains", None)
2596+
if field is not None:
2597+
args["available_domains"] = (
2598+
[unmarshal_AvailableDomain(v) for v in field] if field is not None else None
2599+
)
2600+
else:
2601+
args["available_domains"] = None
2602+
2603+
field = data.get("exact_match_domain", None)
2604+
if field is not None:
2605+
args["exact_match_domain"] = unmarshal_AvailableDomain(field)
2606+
else:
2607+
args["exact_match_domain"] = None
2608+
2609+
return SearchAvailableDomainsConsoleResponse(**args)
2610+
2611+
25842612
def unmarshal_SearchAvailableDomainsResponse(
25852613
data: Any,
25862614
) -> SearchAvailableDomainsResponse:

scaleway/scaleway/domain/v2beta1/types.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1808,6 +1808,12 @@ class RetryInboundTransferResponse:
18081808
pass
18091809

18101810

1811+
@dataclass
1812+
class SearchAvailableDomainsConsoleResponse:
1813+
available_domains: list[AvailableDomain]
1814+
exact_match_domain: Optional[AvailableDomain] = None
1815+
1816+
18111817
@dataclass
18121818
class SearchAvailableDomainsResponse:
18131819
available_domains: list[AvailableDomain]
@@ -1816,6 +1822,13 @@ class SearchAvailableDomainsResponse:
18161822
"""
18171823

18181824

1825+
@dataclass
1826+
class UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest:
1827+
domain: str
1828+
strict_search: bool
1829+
tlds: Optional[list[str]] = field(default_factory=list)
1830+
1831+
18191832
@dataclass
18201833
class UpdateDNSZoneNameserversRequest:
18211834
dns_zone: str

0 commit comments

Comments
 (0)