diff --git a/scaleway-async/scaleway_async/webhosting/v1/__init__.py b/scaleway-async/scaleway_async/webhosting/v1/__init__.py index 826fc5db2..0f38f25e0 100644 --- a/scaleway-async/scaleway_async/webhosting/v1/__init__.py +++ b/scaleway-async/scaleway_async/webhosting/v1/__init__.py @@ -33,6 +33,7 @@ from .types import AutoConfigDomainDns from .types import PlatformControlPanelUrls from .types import HostingDomainCustomDomain +from .types import ControlPanel from .types import OfferOption from .types import PlatformControlPanel from .types import BackupItem @@ -49,7 +50,6 @@ from .types import Platform from .types import BackupItemGroup from .types import Backup -from .types import ControlPanel from .types import DatabaseUser from .types import Database from .types import FtpAccount @@ -175,6 +175,7 @@ "AutoConfigDomainDns", "PlatformControlPanelUrls", "HostingDomainCustomDomain", + "ControlPanel", "OfferOption", "PlatformControlPanel", "BackupItem", @@ -191,7 +192,6 @@ "Platform", "BackupItemGroup", "Backup", - "ControlPanel", "DatabaseUser", "Database", "FtpAccount", diff --git a/scaleway-async/scaleway_async/webhosting/v1/marshalling.py b/scaleway-async/scaleway_async/webhosting/v1/marshalling.py index a530aa9f9..9f41fed49 100644 --- a/scaleway-async/scaleway_async/webhosting/v1/marshalling.py +++ b/scaleway-async/scaleway_async/webhosting/v1/marshalling.py @@ -49,6 +49,7 @@ DnsRecords, Domain, PlatformControlPanelUrls, + ControlPanel, OfferOption, PlatformControlPanel, HostingUser, @@ -59,7 +60,6 @@ BackupItemGroup, ListBackupItemsResponse, ListBackupsResponse, - ControlPanel, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, @@ -734,6 +734,43 @@ def unmarshal_PlatformControlPanelUrls(data: Any) -> PlatformControlPanelUrls: return PlatformControlPanelUrls(**args) +def unmarshal_ControlPanel(data: Any) -> ControlPanel: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ControlPanel' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("name", None) + if field is not None: + args["name"] = field + else: + args["name"] = None + + field = data.get("available", None) + if field is not None: + args["available"] = field + else: + args["available"] = False + + field = data.get("logo_url", None) + if field is not None: + args["logo_url"] = field + else: + args["logo_url"] = None + + field = data.get("available_languages", None) + if field is not None: + args["available_languages"] = ( + [StdLanguageCode(v) for v in field] if field is not None else None + ) + else: + args["available_languages"] = [] + + return ControlPanel(**args) + + def unmarshal_OfferOption(data: Any) -> OfferOption: if not isinstance(data, dict): raise TypeError( @@ -909,6 +946,14 @@ def unmarshal_Offer(data: Any) -> Offer: else: args["quota_warning"] = OfferOptionWarning.UNKNOWN_WARNING + field = data.get("control_panels", None) + if field is not None: + args["control_panels"] = ( + [unmarshal_ControlPanel(v) for v in field] if field is not None else None + ) + else: + args["control_panels"] = [] + field = data.get("region", None) if field is not None: args["region"] = field @@ -1200,43 +1245,6 @@ def unmarshal_ListBackupsResponse(data: Any) -> ListBackupsResponse: return ListBackupsResponse(**args) -def unmarshal_ControlPanel(data: Any) -> ControlPanel: - if not isinstance(data, dict): - raise TypeError( - "Unmarshalling the type 'ControlPanel' failed as data isn't a dictionary." - ) - - args: dict[str, Any] = {} - - field = data.get("name", None) - if field is not None: - args["name"] = field - else: - args["name"] = None - - field = data.get("available", None) - if field is not None: - args["available"] = field - else: - args["available"] = False - - field = data.get("logo_url", None) - if field is not None: - args["logo_url"] = field - else: - args["logo_url"] = None - - field = data.get("available_languages", None) - if field is not None: - args["available_languages"] = ( - [StdLanguageCode(v) for v in field] if field is not None else None - ) - else: - args["available_languages"] = [] - - return ControlPanel(**args) - - def unmarshal_ListControlPanelsResponse(data: Any) -> ListControlPanelsResponse: if not isinstance(data, dict): raise TypeError( diff --git a/scaleway-async/scaleway_async/webhosting/v1/types.py b/scaleway-async/scaleway_async/webhosting/v1/types.py index eb03134ae..279320da0 100644 --- a/scaleway-async/scaleway_async/webhosting/v1/types.py +++ b/scaleway-async/scaleway_async/webhosting/v1/types.py @@ -367,6 +367,29 @@ class HostingDomainCustomDomain: """ +@dataclass +class ControlPanel: + name: str + """ + Control panel name. + """ + + available: bool + """ + Define if the control panel type is available to order. + """ + + logo_url: str + """ + URL of the control panel's logo. + """ + + available_languages: list[StdLanguageCode] + """ + List of available languages for the control panel. + """ + + @dataclass class OfferOption: id: str @@ -636,6 +659,11 @@ class Offer: Defines a warning if the maximum value for an option in the offer is exceeded. """ + control_panels: list[ControlPanel] + """ + Lists available control panels for the specified offer. + """ + region: ScwRegion """ Region where the offer is hosted. @@ -721,29 +749,6 @@ class Backup: """ -@dataclass -class ControlPanel: - name: str - """ - Control panel name. - """ - - available: bool - """ - Define if the control panel type is available to order. - """ - - logo_url: str - """ - URL of the control panel's logo. - """ - - available_languages: list[StdLanguageCode] - """ - List of available languages for the control panel. - """ - - @dataclass class DatabaseUser: username: str diff --git a/scaleway/scaleway/webhosting/v1/__init__.py b/scaleway/scaleway/webhosting/v1/__init__.py index 826fc5db2..0f38f25e0 100644 --- a/scaleway/scaleway/webhosting/v1/__init__.py +++ b/scaleway/scaleway/webhosting/v1/__init__.py @@ -33,6 +33,7 @@ from .types import AutoConfigDomainDns from .types import PlatformControlPanelUrls from .types import HostingDomainCustomDomain +from .types import ControlPanel from .types import OfferOption from .types import PlatformControlPanel from .types import BackupItem @@ -49,7 +50,6 @@ from .types import Platform from .types import BackupItemGroup from .types import Backup -from .types import ControlPanel from .types import DatabaseUser from .types import Database from .types import FtpAccount @@ -175,6 +175,7 @@ "AutoConfigDomainDns", "PlatformControlPanelUrls", "HostingDomainCustomDomain", + "ControlPanel", "OfferOption", "PlatformControlPanel", "BackupItem", @@ -191,7 +192,6 @@ "Platform", "BackupItemGroup", "Backup", - "ControlPanel", "DatabaseUser", "Database", "FtpAccount", diff --git a/scaleway/scaleway/webhosting/v1/marshalling.py b/scaleway/scaleway/webhosting/v1/marshalling.py index a530aa9f9..9f41fed49 100644 --- a/scaleway/scaleway/webhosting/v1/marshalling.py +++ b/scaleway/scaleway/webhosting/v1/marshalling.py @@ -49,6 +49,7 @@ DnsRecords, Domain, PlatformControlPanelUrls, + ControlPanel, OfferOption, PlatformControlPanel, HostingUser, @@ -59,7 +60,6 @@ BackupItemGroup, ListBackupItemsResponse, ListBackupsResponse, - ControlPanel, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, @@ -734,6 +734,43 @@ def unmarshal_PlatformControlPanelUrls(data: Any) -> PlatformControlPanelUrls: return PlatformControlPanelUrls(**args) +def unmarshal_ControlPanel(data: Any) -> ControlPanel: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ControlPanel' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("name", None) + if field is not None: + args["name"] = field + else: + args["name"] = None + + field = data.get("available", None) + if field is not None: + args["available"] = field + else: + args["available"] = False + + field = data.get("logo_url", None) + if field is not None: + args["logo_url"] = field + else: + args["logo_url"] = None + + field = data.get("available_languages", None) + if field is not None: + args["available_languages"] = ( + [StdLanguageCode(v) for v in field] if field is not None else None + ) + else: + args["available_languages"] = [] + + return ControlPanel(**args) + + def unmarshal_OfferOption(data: Any) -> OfferOption: if not isinstance(data, dict): raise TypeError( @@ -909,6 +946,14 @@ def unmarshal_Offer(data: Any) -> Offer: else: args["quota_warning"] = OfferOptionWarning.UNKNOWN_WARNING + field = data.get("control_panels", None) + if field is not None: + args["control_panels"] = ( + [unmarshal_ControlPanel(v) for v in field] if field is not None else None + ) + else: + args["control_panels"] = [] + field = data.get("region", None) if field is not None: args["region"] = field @@ -1200,43 +1245,6 @@ def unmarshal_ListBackupsResponse(data: Any) -> ListBackupsResponse: return ListBackupsResponse(**args) -def unmarshal_ControlPanel(data: Any) -> ControlPanel: - if not isinstance(data, dict): - raise TypeError( - "Unmarshalling the type 'ControlPanel' failed as data isn't a dictionary." - ) - - args: dict[str, Any] = {} - - field = data.get("name", None) - if field is not None: - args["name"] = field - else: - args["name"] = None - - field = data.get("available", None) - if field is not None: - args["available"] = field - else: - args["available"] = False - - field = data.get("logo_url", None) - if field is not None: - args["logo_url"] = field - else: - args["logo_url"] = None - - field = data.get("available_languages", None) - if field is not None: - args["available_languages"] = ( - [StdLanguageCode(v) for v in field] if field is not None else None - ) - else: - args["available_languages"] = [] - - return ControlPanel(**args) - - def unmarshal_ListControlPanelsResponse(data: Any) -> ListControlPanelsResponse: if not isinstance(data, dict): raise TypeError( diff --git a/scaleway/scaleway/webhosting/v1/types.py b/scaleway/scaleway/webhosting/v1/types.py index eb03134ae..279320da0 100644 --- a/scaleway/scaleway/webhosting/v1/types.py +++ b/scaleway/scaleway/webhosting/v1/types.py @@ -367,6 +367,29 @@ class HostingDomainCustomDomain: """ +@dataclass +class ControlPanel: + name: str + """ + Control panel name. + """ + + available: bool + """ + Define if the control panel type is available to order. + """ + + logo_url: str + """ + URL of the control panel's logo. + """ + + available_languages: list[StdLanguageCode] + """ + List of available languages for the control panel. + """ + + @dataclass class OfferOption: id: str @@ -636,6 +659,11 @@ class Offer: Defines a warning if the maximum value for an option in the offer is exceeded. """ + control_panels: list[ControlPanel] + """ + Lists available control panels for the specified offer. + """ + region: ScwRegion """ Region where the offer is hosted. @@ -721,29 +749,6 @@ class Backup: """ -@dataclass -class ControlPanel: - name: str - """ - Control panel name. - """ - - available: bool - """ - Define if the control panel type is available to order. - """ - - logo_url: str - """ - URL of the control panel's logo. - """ - - available_languages: list[StdLanguageCode] - """ - List of available languages for the control panel. - """ - - @dataclass class DatabaseUser: username: str