Skip to content

Commit 2dfca82

Browse files
feat(tem): add auto-configuration state in domain validation (#682)
Co-authored-by: Laure-di <[email protected]>
1 parent e37037b commit 2dfca82

File tree

6 files changed

+144
-4
lines changed

6 files changed

+144
-4
lines changed

scaleway-async/scaleway_async/tem/v1alpha1/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# This file was automatically generated. DO NOT EDIT.
22
# If you have any remark or suggestion do not hesitate to open an issue.
3+
from .types import DomainLastStatusAutoconfigStateReason
34
from .types import DomainLastStatusRecordStatus
45
from .types import DomainReputationStatus
56
from .types import DomainStatus
@@ -23,6 +24,7 @@
2324
from .types import CreateEmailRequestAttachment
2425
from .types import CreateEmailRequestHeader
2526
from .types import Email
27+
from .types import DomainLastStatusAutoconfigState
2628
from .types import DomainLastStatusDkimRecord
2729
from .types import DomainLastStatusDmarcRecord
2830
from .types import DomainLastStatusSpfRecord
@@ -62,6 +64,7 @@
6264
from .api import TemV1Alpha1API
6365

6466
__all__ = [
67+
"DomainLastStatusAutoconfigStateReason",
6568
"DomainLastStatusRecordStatus",
6669
"DomainReputationStatus",
6770
"DomainStatus",
@@ -85,6 +88,7 @@
8588
"CreateEmailRequestAttachment",
8689
"CreateEmailRequestHeader",
8790
"Email",
91+
"DomainLastStatusAutoconfigState",
8892
"DomainLastStatusDkimRecord",
8993
"DomainLastStatusDmarcRecord",
9094
"DomainLastStatusSpfRecord",

scaleway-async/scaleway_async/tem/v1alpha1/marshalling.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
Domain,
1818
Webhook,
1919
CreateEmailResponse,
20+
DomainLastStatusAutoconfigState,
2021
DomainLastStatusDkimRecord,
2122
DomainLastStatusDmarcRecord,
2223
DomainLastStatusSpfRecord,
@@ -423,6 +424,33 @@ def unmarshal_CreateEmailResponse(data: Any) -> CreateEmailResponse:
423424
return CreateEmailResponse(**args)
424425

425426

427+
def unmarshal_DomainLastStatusAutoconfigState(
428+
data: Any,
429+
) -> DomainLastStatusAutoconfigState:
430+
if not isinstance(data, dict):
431+
raise TypeError(
432+
"Unmarshalling the type 'DomainLastStatusAutoconfigState' failed as data isn't a dictionary."
433+
)
434+
435+
args: Dict[str, Any] = {}
436+
437+
field = data.get("enabled", None)
438+
if field is not None:
439+
args["enabled"] = field
440+
441+
field = data.get("autoconfigurable", None)
442+
if field is not None:
443+
args["autoconfigurable"] = field
444+
445+
field = data.get("reason", None)
446+
if field is not None:
447+
args["reason"] = field
448+
else:
449+
args["reason"] = None
450+
451+
return DomainLastStatusAutoconfigState(**args)
452+
453+
426454
def unmarshal_DomainLastStatusDkimRecord(data: Any) -> DomainLastStatusDkimRecord:
427455
if not isinstance(data, dict):
428456
raise TypeError(
@@ -544,6 +572,12 @@ def unmarshal_DomainLastStatus(data: Any) -> DomainLastStatus:
544572
else:
545573
args["dmarc_record"] = None
546574

575+
field = data.get("autoconfig_state", None)
576+
if field is not None:
577+
args["autoconfig_state"] = unmarshal_DomainLastStatusAutoconfigState(field)
578+
else:
579+
args["autoconfig_state"] = None
580+
547581
return DomainLastStatus(**args)
548582

549583

scaleway-async/scaleway_async/tem/v1alpha1/types.py

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
)
1616

1717

18+
class DomainLastStatusAutoconfigStateReason(str, Enum, metaclass=StrEnumMeta):
19+
UNKNOWN_REASON = "unknown_reason"
20+
PERMISSION_DENIED = "permission_denied"
21+
DOMAIN_NOT_FOUND = "domain_not_found"
22+
23+
def __str__(self) -> str:
24+
return str(self.value)
25+
26+
1827
class DomainLastStatusRecordStatus(str, Enum, metaclass=StrEnumMeta):
1928
UNKNOWN_RECORD_STATUS = "unknown_record_status"
2029
VALID = "valid"
@@ -358,6 +367,24 @@ class Email:
358367
"""
359368

360369

370+
@dataclass
371+
class DomainLastStatusAutoconfigState:
372+
enabled: bool
373+
"""
374+
Enable or disable the auto-configuration of domain DNS records.
375+
"""
376+
377+
autoconfigurable: bool
378+
"""
379+
Whether the domain can be auto-configured or not.
380+
"""
381+
382+
reason: Optional[DomainLastStatusAutoconfigStateReason]
383+
"""
384+
The reason that the domain cannot be auto-configurable.
385+
"""
386+
387+
361388
@dataclass
362389
class DomainLastStatusDkimRecord:
363390
status: DomainLastStatusRecordStatus
@@ -638,12 +665,12 @@ class UpdateProjectSettingsRequestUpdatePeriodicReport:
638665

639666
frequency: Optional[ProjectSettingsPeriodicReportFrequency]
640667
"""
641-
(Optional) At which frequency you receive periodic report notifications.
668+
(Optional) Frequency at which you receive periodic report notifications.
642669
"""
643670

644671
sending_hour: Optional[int]
645672
"""
646-
(Optional) At which hour you receive periodic report notifications.
673+
(Optional) Hour at which you receive periodic report notifications.
647674
"""
648675

649676
sending_day: Optional[int]
@@ -850,6 +877,11 @@ class DomainLastStatus:
850877
The DMARC record verification data.
851878
"""
852879

880+
autoconfig_state: Optional[DomainLastStatusAutoconfigState]
881+
"""
882+
The verification state of domain auto-configuration.
883+
"""
884+
853885

854886
@dataclass
855887
class GetDomainLastStatusRequest:

scaleway/scaleway/tem/v1alpha1/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# This file was automatically generated. DO NOT EDIT.
22
# If you have any remark or suggestion do not hesitate to open an issue.
3+
from .types import DomainLastStatusAutoconfigStateReason
34
from .types import DomainLastStatusRecordStatus
45
from .types import DomainReputationStatus
56
from .types import DomainStatus
@@ -23,6 +24,7 @@
2324
from .types import CreateEmailRequestAttachment
2425
from .types import CreateEmailRequestHeader
2526
from .types import Email
27+
from .types import DomainLastStatusAutoconfigState
2628
from .types import DomainLastStatusDkimRecord
2729
from .types import DomainLastStatusDmarcRecord
2830
from .types import DomainLastStatusSpfRecord
@@ -62,6 +64,7 @@
6264
from .api import TemV1Alpha1API
6365

6466
__all__ = [
67+
"DomainLastStatusAutoconfigStateReason",
6568
"DomainLastStatusRecordStatus",
6669
"DomainReputationStatus",
6770
"DomainStatus",
@@ -85,6 +88,7 @@
8588
"CreateEmailRequestAttachment",
8689
"CreateEmailRequestHeader",
8790
"Email",
91+
"DomainLastStatusAutoconfigState",
8892
"DomainLastStatusDkimRecord",
8993
"DomainLastStatusDmarcRecord",
9094
"DomainLastStatusSpfRecord",

scaleway/scaleway/tem/v1alpha1/marshalling.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
Domain,
1818
Webhook,
1919
CreateEmailResponse,
20+
DomainLastStatusAutoconfigState,
2021
DomainLastStatusDkimRecord,
2122
DomainLastStatusDmarcRecord,
2223
DomainLastStatusSpfRecord,
@@ -423,6 +424,33 @@ def unmarshal_CreateEmailResponse(data: Any) -> CreateEmailResponse:
423424
return CreateEmailResponse(**args)
424425

425426

427+
def unmarshal_DomainLastStatusAutoconfigState(
428+
data: Any,
429+
) -> DomainLastStatusAutoconfigState:
430+
if not isinstance(data, dict):
431+
raise TypeError(
432+
"Unmarshalling the type 'DomainLastStatusAutoconfigState' failed as data isn't a dictionary."
433+
)
434+
435+
args: Dict[str, Any] = {}
436+
437+
field = data.get("enabled", None)
438+
if field is not None:
439+
args["enabled"] = field
440+
441+
field = data.get("autoconfigurable", None)
442+
if field is not None:
443+
args["autoconfigurable"] = field
444+
445+
field = data.get("reason", None)
446+
if field is not None:
447+
args["reason"] = field
448+
else:
449+
args["reason"] = None
450+
451+
return DomainLastStatusAutoconfigState(**args)
452+
453+
426454
def unmarshal_DomainLastStatusDkimRecord(data: Any) -> DomainLastStatusDkimRecord:
427455
if not isinstance(data, dict):
428456
raise TypeError(
@@ -544,6 +572,12 @@ def unmarshal_DomainLastStatus(data: Any) -> DomainLastStatus:
544572
else:
545573
args["dmarc_record"] = None
546574

575+
field = data.get("autoconfig_state", None)
576+
if field is not None:
577+
args["autoconfig_state"] = unmarshal_DomainLastStatusAutoconfigState(field)
578+
else:
579+
args["autoconfig_state"] = None
580+
547581
return DomainLastStatus(**args)
548582

549583

scaleway/scaleway/tem/v1alpha1/types.py

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
)
1616

1717

18+
class DomainLastStatusAutoconfigStateReason(str, Enum, metaclass=StrEnumMeta):
19+
UNKNOWN_REASON = "unknown_reason"
20+
PERMISSION_DENIED = "permission_denied"
21+
DOMAIN_NOT_FOUND = "domain_not_found"
22+
23+
def __str__(self) -> str:
24+
return str(self.value)
25+
26+
1827
class DomainLastStatusRecordStatus(str, Enum, metaclass=StrEnumMeta):
1928
UNKNOWN_RECORD_STATUS = "unknown_record_status"
2029
VALID = "valid"
@@ -358,6 +367,24 @@ class Email:
358367
"""
359368

360369

370+
@dataclass
371+
class DomainLastStatusAutoconfigState:
372+
enabled: bool
373+
"""
374+
Enable or disable the auto-configuration of domain DNS records.
375+
"""
376+
377+
autoconfigurable: bool
378+
"""
379+
Whether the domain can be auto-configured or not.
380+
"""
381+
382+
reason: Optional[DomainLastStatusAutoconfigStateReason]
383+
"""
384+
The reason that the domain cannot be auto-configurable.
385+
"""
386+
387+
361388
@dataclass
362389
class DomainLastStatusDkimRecord:
363390
status: DomainLastStatusRecordStatus
@@ -638,12 +665,12 @@ class UpdateProjectSettingsRequestUpdatePeriodicReport:
638665

639666
frequency: Optional[ProjectSettingsPeriodicReportFrequency]
640667
"""
641-
(Optional) At which frequency you receive periodic report notifications.
668+
(Optional) Frequency at which you receive periodic report notifications.
642669
"""
643670

644671
sending_hour: Optional[int]
645672
"""
646-
(Optional) At which hour you receive periodic report notifications.
673+
(Optional) Hour at which you receive periodic report notifications.
647674
"""
648675

649676
sending_day: Optional[int]
@@ -850,6 +877,11 @@ class DomainLastStatus:
850877
The DMARC record verification data.
851878
"""
852879

880+
autoconfig_state: Optional[DomainLastStatusAutoconfigState]
881+
"""
882+
The verification state of domain auto-configuration.
883+
"""
884+
853885

854886
@dataclass
855887
class GetDomainLastStatusRequest:

0 commit comments

Comments
 (0)