diff --git a/scaleway-async/scaleway_async/domain/v2beta1/__init__.py b/scaleway-async/scaleway_async/domain/v2beta1/__init__.py index 9e0c8f0d9..1d2c3e78e 100644 --- a/scaleway-async/scaleway_async/domain/v2beta1/__init__.py +++ b/scaleway-async/scaleway_async/domain/v2beta1/__init__.py @@ -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 @@ -233,6 +234,7 @@ "RecordIdentifier", "ContactExtensionEU", "ContactExtensionFR", + "ContactExtensionIT", "ContactExtensionNL", "ContactQuestion", "TldOffer", diff --git a/scaleway-async/scaleway_async/domain/v2beta1/api.py b/scaleway-async/scaleway_async/domain/v2beta1/api.py index a9a6a379d..26aed8254 100644 --- a/scaleway-async/scaleway_async/domain/v2beta1/api.py +++ b/scaleway-async/scaleway_async/domain/v2beta1/api.py @@ -37,6 +37,7 @@ Contact, ContactExtensionEU, ContactExtensionFR, + ContactExtensionIT, ContactExtensionNL, ContactRoles, CreateDNSZoneRequest, @@ -2091,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. @@ -2115,6 +2117,7 @@ async def update_contact( :param whois_opt_in: :param state: :param extension_nl: + :param extension_it: :return: :class:`Contact ` Usage: @@ -2152,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, ), diff --git a/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py b/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py index abb8a58d6..a6f13566c 100644 --- a/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py +++ b/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py @@ -26,6 +26,7 @@ ContactExtensionFRTrademarkInfo, ContactExtensionEU, ContactExtensionFR, + ContactExtensionIT, ContactExtensionNL, ContactQuestion, Contact, @@ -301,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( @@ -513,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) @@ -2974,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, @@ -3024,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 @@ -3042,8 +3081,11 @@ 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 @@ -3051,11 +3093,8 @@ def marshal_NewContact( 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 @@ -3066,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 @@ -3089,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 @@ -3564,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 diff --git a/scaleway-async/scaleway_async/domain/v2beta1/types.py b/scaleway-async/scaleway_async/domain/v2beta1/types.py index 06b6e1e7d..f071abc39 100644 --- a/scaleway-async/scaleway_async/domain/v2beta1/types.py +++ b/scaleway-async/scaleway_async/domain/v2beta1/types.py @@ -515,6 +515,12 @@ class ContactExtensionFR: code_auth_afnic_info: Optional[ContactExtensionFRCodeAuthAfnicInfo] = None +@dataclass +class ContactExtensionIT: + european_citizenship: str + tax_code: str + + @dataclass class ContactExtensionNL: legal_form: ContactExtensionNLLegalForm @@ -603,6 +609,7 @@ class Contact: extension_fr: Optional[ContactExtensionFR] = None extension_eu: Optional[ContactExtensionEU] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass @@ -660,6 +667,7 @@ class NewContact: extension_eu: Optional[ContactExtensionEU] = None state: Optional[str] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass @@ -1768,6 +1776,7 @@ class RegistrarApiUpdateContactRequest: whois_opt_in: Optional[bool] = None state: Optional[str] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass diff --git a/scaleway/scaleway/domain/v2beta1/__init__.py b/scaleway/scaleway/domain/v2beta1/__init__.py index 9e0c8f0d9..1d2c3e78e 100644 --- a/scaleway/scaleway/domain/v2beta1/__init__.py +++ b/scaleway/scaleway/domain/v2beta1/__init__.py @@ -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 @@ -233,6 +234,7 @@ "RecordIdentifier", "ContactExtensionEU", "ContactExtensionFR", + "ContactExtensionIT", "ContactExtensionNL", "ContactQuestion", "TldOffer", diff --git a/scaleway/scaleway/domain/v2beta1/api.py b/scaleway/scaleway/domain/v2beta1/api.py index 2e6b983bb..69f7f9709 100644 --- a/scaleway/scaleway/domain/v2beta1/api.py +++ b/scaleway/scaleway/domain/v2beta1/api.py @@ -37,6 +37,7 @@ Contact, ContactExtensionEU, ContactExtensionFR, + ContactExtensionIT, ContactExtensionNL, ContactRoles, CreateDNSZoneRequest, @@ -2089,6 +2090,7 @@ 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. @@ -2113,6 +2115,7 @@ def update_contact( :param whois_opt_in: :param state: :param extension_nl: + :param extension_it: :return: :class:`Contact ` Usage: @@ -2150,6 +2153,7 @@ def update_contact( whois_opt_in=whois_opt_in, state=state, extension_nl=extension_nl, + extension_it=extension_it, ), self.client, ), diff --git a/scaleway/scaleway/domain/v2beta1/marshalling.py b/scaleway/scaleway/domain/v2beta1/marshalling.py index abb8a58d6..a6f13566c 100644 --- a/scaleway/scaleway/domain/v2beta1/marshalling.py +++ b/scaleway/scaleway/domain/v2beta1/marshalling.py @@ -26,6 +26,7 @@ ContactExtensionFRTrademarkInfo, ContactExtensionEU, ContactExtensionFR, + ContactExtensionIT, ContactExtensionNL, ContactQuestion, Contact, @@ -301,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( @@ -513,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) @@ -2974,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, @@ -3024,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 @@ -3042,8 +3081,11 @@ 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 @@ -3051,11 +3093,8 @@ def marshal_NewContact( 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 @@ -3066,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 @@ -3089,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 @@ -3564,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 diff --git a/scaleway/scaleway/domain/v2beta1/types.py b/scaleway/scaleway/domain/v2beta1/types.py index 06b6e1e7d..f071abc39 100644 --- a/scaleway/scaleway/domain/v2beta1/types.py +++ b/scaleway/scaleway/domain/v2beta1/types.py @@ -515,6 +515,12 @@ class ContactExtensionFR: code_auth_afnic_info: Optional[ContactExtensionFRCodeAuthAfnicInfo] = None +@dataclass +class ContactExtensionIT: + european_citizenship: str + tax_code: str + + @dataclass class ContactExtensionNL: legal_form: ContactExtensionNLLegalForm @@ -603,6 +609,7 @@ class Contact: extension_fr: Optional[ContactExtensionFR] = None extension_eu: Optional[ContactExtensionEU] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass @@ -660,6 +667,7 @@ class NewContact: extension_eu: Optional[ContactExtensionEU] = None state: Optional[str] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass @@ -1768,6 +1776,7 @@ class RegistrarApiUpdateContactRequest: whois_opt_in: Optional[bool] = None state: Optional[str] = None extension_nl: Optional[ContactExtensionNL] = None + extension_it: Optional[ContactExtensionIT] = None @dataclass