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
8 changes: 8 additions & 0 deletions scaleway-async/scaleway_async/domain/v2beta1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
from .types import RecordIdentifier
from .types import ContactExtensionEU
from .types import ContactExtensionFR
from .types import ContactExtensionIT
from .types import ContactExtensionNL
from .types import ContactQuestion
from .types import TldOffer
Expand Down Expand Up @@ -167,14 +168,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 @@ -230,6 +234,7 @@
"RecordIdentifier",
"ContactExtensionEU",
"ContactExtensionFR",
"ContactExtensionIT",
"ContactExtensionNL",
"ContactQuestion",
"TldOffer",
Expand Down Expand Up @@ -344,12 +349,15 @@
"RestoreDNSZoneVersionRequest",
"RestoreDNSZoneVersionResponse",
"RetryInboundTransferResponse",
"SearchAvailableDomainsConsoleResponse",
"SearchAvailableDomainsResponse",
"UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest",
"UpdateDNSZoneNameserversRequest",
"UpdateDNSZoneNameserversResponse",
"UpdateDNSZoneRecordsRequest",
"UpdateDNSZoneRecordsResponse",
"UpdateDNSZoneRequest",
"DomainV2Beta1API",
"DomainV2Beta1RegistrarAPI",
"DomainV2Beta1UnauthenticatedRegistrarAPI",
]
70 changes: 70 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 @@ -35,6 +37,7 @@
Contact,
ContactExtensionEU,
ContactExtensionFR,
ContactExtensionIT,
ContactExtensionNL,
ContactRoles,
CreateDNSZoneRequest,
Expand Down Expand Up @@ -96,6 +99,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
SSLCertificate,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
Task,
Tld,
Expand Down Expand Up @@ -145,6 +149,7 @@
unmarshal_RegisterExternalDomainResponse,
unmarshal_RestoreDNSZoneVersionResponse,
unmarshal_RetryInboundTransferResponse,
unmarshal_SearchAvailableDomainsConsoleResponse,
unmarshal_SearchAvailableDomainsResponse,
unmarshal_UpdateDNSZoneNameserversResponse,
unmarshal_UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -2087,6 +2092,7 @@ async def update_contact(
whois_opt_in: Optional[bool] = None,
state: Optional[str] = None,
extension_nl: Optional[ContactExtensionNL] = None,
extension_it: Optional[ContactExtensionIT] = None,
) -> Contact:
"""
Update contact.
Expand All @@ -2111,6 +2117,7 @@ async def update_contact(
:param whois_opt_in:
:param state:
:param extension_nl:
:param extension_it:
:return: :class:`Contact <Contact>`

Usage:
Expand Down Expand Up @@ -2148,6 +2155,7 @@ async def update_contact(
whois_opt_in=whois_opt_in,
state=state,
extension_nl=extension_nl,
extension_it=extension_it,
),
self.client,
),
Expand Down Expand Up @@ -2977,3 +2985,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())
109 changes: 96 additions & 13 deletions scaleway-async/scaleway_async/domain/v2beta1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
ContactExtensionFRTrademarkInfo,
ContactExtensionEU,
ContactExtensionFR,
ContactExtensionIT,
ContactExtensionNL,
ContactQuestion,
Contact,
Expand Down Expand Up @@ -93,6 +94,7 @@
RestoreDNSZoneVersionResponse,
RetryInboundTransferResponse,
AvailableDomain,
SearchAvailableDomainsConsoleResponse,
SearchAvailableDomainsResponse,
UpdateDNSZoneNameserversResponse,
UpdateDNSZoneRecordsResponse,
Expand Down Expand Up @@ -300,6 +302,29 @@ def unmarshal_ContactExtensionFR(data: Any) -> ContactExtensionFR:
return ContactExtensionFR(**args)


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

args: dict[str, Any] = {}

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

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

return ContactExtensionIT(**args)


def unmarshal_ContactExtensionNL(data: Any) -> ContactExtensionNL:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -512,6 +537,12 @@ def unmarshal_Contact(data: Any) -> Contact:
else:
args["extension_nl"] = None

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

return Contact(**args)


Expand Down Expand Up @@ -2581,6 +2612,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 Expand Up @@ -2946,6 +3004,21 @@ def marshal_ContactExtensionFR(
return output


def marshal_ContactExtensionIT(
request: ContactExtensionIT,
defaults: ProfileDefaults,
) -> dict[str, Any]:
output: dict[str, Any] = {}

if request.european_citizenship is not None:
output["european_citizenship"] = request.european_citizenship

if request.tax_code is not None:
output["tax_code"] = request.tax_code

return output


def marshal_ContactExtensionNL(
request: ContactExtensionNL,
defaults: ProfileDefaults,
Expand Down Expand Up @@ -2996,12 +3069,6 @@ def marshal_NewContact(
if request.email is not None:
output["email"] = request.email

if request.company_name is not None:
output["company_name"] = request.company_name

if request.email_alt is not None:
output["email_alt"] = request.email_alt

if request.phone_number is not None:
output["phone_number"] = request.phone_number

Expand All @@ -3014,20 +3081,20 @@ def marshal_NewContact(
if request.city is not None:
output["city"] = request.city

if request.country is not None:
output["country"] = request.country
if request.company_name is not None:
output["company_name"] = request.company_name

if request.email_alt is not None:
output["email_alt"] = request.email_alt

if request.fax_number is not None:
output["fax_number"] = request.fax_number

if request.address_line_2 is not None:
output["address_line_2"] = request.address_line_2

if request.vat_identification_code is not None:
output["vat_identification_code"] = request.vat_identification_code

if request.company_identification_code is not None:
output["company_identification_code"] = request.company_identification_code
if request.country is not None:
output["country"] = request.country

if request.lang is not None:
output["lang"] = request.lang
Expand All @@ -3038,6 +3105,12 @@ def marshal_NewContact(
if request.whois_opt_in is not None:
output["whois_opt_in"] = request.whois_opt_in

if request.vat_identification_code is not None:
output["vat_identification_code"] = request.vat_identification_code

if request.company_identification_code is not None:
output["company_identification_code"] = request.company_identification_code

if request.questions is not None:
output["questions"] = [
marshal_ContactQuestion(item, defaults) for item in request.questions
Expand All @@ -3061,6 +3134,11 @@ def marshal_NewContact(
request.extension_nl, defaults
)

if request.extension_it is not None:
output["extension_it"] = marshal_ContactExtensionIT(
request.extension_it, defaults
)

return output


Expand Down Expand Up @@ -3536,6 +3614,11 @@ def marshal_RegistrarApiUpdateContactRequest(
request.extension_nl, defaults
)

if request.extension_it is not None:
output["extension_it"] = marshal_ContactExtensionIT(
request.extension_it, defaults
)

return output


Expand Down
Loading