Skip to content

Commit ff0be9e

Browse files
scaleway-botyfodil
andauthored
feat(domain): add TLD .IT (#1443)
Co-authored-by: Yacine Fodil <[email protected]>
1 parent 30d7186 commit ff0be9e

File tree

8 files changed

+166
-26
lines changed

8 files changed

+166
-26
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
from .types import RecordIdentifier
5454
from .types import ContactExtensionEU
5555
from .types import ContactExtensionFR
56+
from .types import ContactExtensionIT
5657
from .types import ContactExtensionNL
5758
from .types import ContactQuestion
5859
from .types import TldOffer
@@ -233,6 +234,7 @@
233234
"RecordIdentifier",
234235
"ContactExtensionEU",
235236
"ContactExtensionFR",
237+
"ContactExtensionIT",
236238
"ContactExtensionNL",
237239
"ContactQuestion",
238240
"TldOffer",

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
Contact,
3838
ContactExtensionEU,
3939
ContactExtensionFR,
40+
ContactExtensionIT,
4041
ContactExtensionNL,
4142
ContactRoles,
4243
CreateDNSZoneRequest,
@@ -2091,6 +2092,7 @@ async def update_contact(
20912092
whois_opt_in: Optional[bool] = None,
20922093
state: Optional[str] = None,
20932094
extension_nl: Optional[ContactExtensionNL] = None,
2095+
extension_it: Optional[ContactExtensionIT] = None,
20942096
) -> Contact:
20952097
"""
20962098
Update contact.
@@ -2115,6 +2117,7 @@ async def update_contact(
21152117
:param whois_opt_in:
21162118
:param state:
21172119
:param extension_nl:
2120+
:param extension_it:
21182121
:return: :class:`Contact <Contact>`
21192122
21202123
Usage:
@@ -2152,6 +2155,7 @@ async def update_contact(
21522155
whois_opt_in=whois_opt_in,
21532156
state=state,
21542157
extension_nl=extension_nl,
2158+
extension_it=extension_it,
21552159
),
21562160
self.client,
21572161
),

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

Lines changed: 68 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
ContactExtensionFRTrademarkInfo,
2727
ContactExtensionEU,
2828
ContactExtensionFR,
29+
ContactExtensionIT,
2930
ContactExtensionNL,
3031
ContactQuestion,
3132
Contact,
@@ -301,6 +302,29 @@ def unmarshal_ContactExtensionFR(data: Any) -> ContactExtensionFR:
301302
return ContactExtensionFR(**args)
302303

303304

305+
def unmarshal_ContactExtensionIT(data: Any) -> ContactExtensionIT:
306+
if not isinstance(data, dict):
307+
raise TypeError(
308+
"Unmarshalling the type 'ContactExtensionIT' failed as data isn't a dictionary."
309+
)
310+
311+
args: dict[str, Any] = {}
312+
313+
field = data.get("european_citizenship", None)
314+
if field is not None:
315+
args["european_citizenship"] = field
316+
else:
317+
args["european_citizenship"] = None
318+
319+
field = data.get("tax_code", None)
320+
if field is not None:
321+
args["tax_code"] = field
322+
else:
323+
args["tax_code"] = None
324+
325+
return ContactExtensionIT(**args)
326+
327+
304328
def unmarshal_ContactExtensionNL(data: Any) -> ContactExtensionNL:
305329
if not isinstance(data, dict):
306330
raise TypeError(
@@ -513,6 +537,12 @@ def unmarshal_Contact(data: Any) -> Contact:
513537
else:
514538
args["extension_nl"] = None
515539

540+
field = data.get("extension_it", None)
541+
if field is not None:
542+
args["extension_it"] = unmarshal_ContactExtensionIT(field)
543+
else:
544+
args["extension_it"] = None
545+
516546
return Contact(**args)
517547

518548

@@ -2974,6 +3004,21 @@ def marshal_ContactExtensionFR(
29743004
return output
29753005

29763006

3007+
def marshal_ContactExtensionIT(
3008+
request: ContactExtensionIT,
3009+
defaults: ProfileDefaults,
3010+
) -> dict[str, Any]:
3011+
output: dict[str, Any] = {}
3012+
3013+
if request.european_citizenship is not None:
3014+
output["european_citizenship"] = request.european_citizenship
3015+
3016+
if request.tax_code is not None:
3017+
output["tax_code"] = request.tax_code
3018+
3019+
return output
3020+
3021+
29773022
def marshal_ContactExtensionNL(
29783023
request: ContactExtensionNL,
29793024
defaults: ProfileDefaults,
@@ -3024,12 +3069,6 @@ def marshal_NewContact(
30243069
if request.email is not None:
30253070
output["email"] = request.email
30263071

3027-
if request.company_name is not None:
3028-
output["company_name"] = request.company_name
3029-
3030-
if request.email_alt is not None:
3031-
output["email_alt"] = request.email_alt
3032-
30333072
if request.phone_number is not None:
30343073
output["phone_number"] = request.phone_number
30353074

@@ -3042,20 +3081,20 @@ def marshal_NewContact(
30423081
if request.city is not None:
30433082
output["city"] = request.city
30443083

3045-
if request.country is not None:
3046-
output["country"] = request.country
3084+
if request.company_name is not None:
3085+
output["company_name"] = request.company_name
3086+
3087+
if request.email_alt is not None:
3088+
output["email_alt"] = request.email_alt
30473089

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

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

3054-
if request.vat_identification_code is not None:
3055-
output["vat_identification_code"] = request.vat_identification_code
3056-
3057-
if request.company_identification_code is not None:
3058-
output["company_identification_code"] = request.company_identification_code
3096+
if request.country is not None:
3097+
output["country"] = request.country
30593098

30603099
if request.lang is not None:
30613100
output["lang"] = request.lang
@@ -3066,6 +3105,12 @@ def marshal_NewContact(
30663105
if request.whois_opt_in is not None:
30673106
output["whois_opt_in"] = request.whois_opt_in
30683107

3108+
if request.vat_identification_code is not None:
3109+
output["vat_identification_code"] = request.vat_identification_code
3110+
3111+
if request.company_identification_code is not None:
3112+
output["company_identification_code"] = request.company_identification_code
3113+
30693114
if request.questions is not None:
30703115
output["questions"] = [
30713116
marshal_ContactQuestion(item, defaults) for item in request.questions
@@ -3089,6 +3134,11 @@ def marshal_NewContact(
30893134
request.extension_nl, defaults
30903135
)
30913136

3137+
if request.extension_it is not None:
3138+
output["extension_it"] = marshal_ContactExtensionIT(
3139+
request.extension_it, defaults
3140+
)
3141+
30923142
return output
30933143

30943144

@@ -3564,6 +3614,11 @@ def marshal_RegistrarApiUpdateContactRequest(
35643614
request.extension_nl, defaults
35653615
)
35663616

3617+
if request.extension_it is not None:
3618+
output["extension_it"] = marshal_ContactExtensionIT(
3619+
request.extension_it, defaults
3620+
)
3621+
35673622
return output
35683623

35693624

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,12 @@ class ContactExtensionFR:
515515
code_auth_afnic_info: Optional[ContactExtensionFRCodeAuthAfnicInfo] = None
516516

517517

518+
@dataclass
519+
class ContactExtensionIT:
520+
european_citizenship: str
521+
tax_code: str
522+
523+
518524
@dataclass
519525
class ContactExtensionNL:
520526
legal_form: ContactExtensionNLLegalForm
@@ -603,6 +609,7 @@ class Contact:
603609
extension_fr: Optional[ContactExtensionFR] = None
604610
extension_eu: Optional[ContactExtensionEU] = None
605611
extension_nl: Optional[ContactExtensionNL] = None
612+
extension_it: Optional[ContactExtensionIT] = None
606613

607614

608615
@dataclass
@@ -660,6 +667,7 @@ class NewContact:
660667
extension_eu: Optional[ContactExtensionEU] = None
661668
state: Optional[str] = None
662669
extension_nl: Optional[ContactExtensionNL] = None
670+
extension_it: Optional[ContactExtensionIT] = None
663671

664672

665673
@dataclass
@@ -1768,6 +1776,7 @@ class RegistrarApiUpdateContactRequest:
17681776
whois_opt_in: Optional[bool] = None
17691777
state: Optional[str] = None
17701778
extension_nl: Optional[ContactExtensionNL] = None
1779+
extension_it: Optional[ContactExtensionIT] = None
17711780

17721781

17731782
@dataclass

scaleway/scaleway/domain/v2beta1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
from .types import RecordIdentifier
5454
from .types import ContactExtensionEU
5555
from .types import ContactExtensionFR
56+
from .types import ContactExtensionIT
5657
from .types import ContactExtensionNL
5758
from .types import ContactQuestion
5859
from .types import TldOffer
@@ -233,6 +234,7 @@
233234
"RecordIdentifier",
234235
"ContactExtensionEU",
235236
"ContactExtensionFR",
237+
"ContactExtensionIT",
236238
"ContactExtensionNL",
237239
"ContactQuestion",
238240
"TldOffer",

scaleway/scaleway/domain/v2beta1/api.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
Contact,
3838
ContactExtensionEU,
3939
ContactExtensionFR,
40+
ContactExtensionIT,
4041
ContactExtensionNL,
4142
ContactRoles,
4243
CreateDNSZoneRequest,
@@ -2089,6 +2090,7 @@ def update_contact(
20892090
whois_opt_in: Optional[bool] = None,
20902091
state: Optional[str] = None,
20912092
extension_nl: Optional[ContactExtensionNL] = None,
2093+
extension_it: Optional[ContactExtensionIT] = None,
20922094
) -> Contact:
20932095
"""
20942096
Update contact.
@@ -2113,6 +2115,7 @@ def update_contact(
21132115
:param whois_opt_in:
21142116
:param state:
21152117
:param extension_nl:
2118+
:param extension_it:
21162119
:return: :class:`Contact <Contact>`
21172120
21182121
Usage:
@@ -2150,6 +2153,7 @@ def update_contact(
21502153
whois_opt_in=whois_opt_in,
21512154
state=state,
21522155
extension_nl=extension_nl,
2156+
extension_it=extension_it,
21532157
),
21542158
self.client,
21552159
),

0 commit comments

Comments
 (0)