scaleway_async.webhosting.v1 package

Submodules

scaleway_async.webhosting.v1.api module

class scaleway_async.webhosting.v1.api.WebhostingV1BackupAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to list and restore backups for your cPanel and WordPress Web Hosting service.

async get_backup(*, hosting_id: str, backup_id: str, region: str | None = None) Backup

Get info about a backup specified by the backup ID. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to retrieve. :param region: Region to target. If none is passed will use default region from the config. :return: Backup

Usage:

result = await api.get_backup(
    hosting_id="example",
    backup_id="example",
)
async list_backup_items(*, hosting_id: str, backup_id: str, region: str | None = None) ListBackupItemsResponse

List items within a specific backup, grouped by type. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to list items from. :param region: Region to target. If none is passed will use default region from the config. :return: ListBackupItemsResponse

Usage:

result = await api.list_backup_items(
    hosting_id="example",
    backup_id="example",
)
async list_backups(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListBackupsRequestOrderBy | None = None) ListBackupsResponse

List all available backups for a hosting account. :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to retrieve. :param page_size: Number of backups to return per page. :param order_by: Order in which to return the list of backups. :return: ListBackupsResponse

Usage:

result = await api.list_backups(
    hosting_id="example",
)
async list_backups_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListBackupsRequestOrderBy | None = None) List[Backup]

List all available backups for a hosting account. :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to retrieve. :param page_size: Number of backups to return per page. :param order_by: Order in which to return the list of backups. :return: List[Backup]

Usage:

result = await api.list_backups_all(
    hosting_id="example",
)
async restore_backup(*, hosting_id: str, backup_id: str, region: str | None = None) RestoreBackupResponse

Restore an entire backup to your hosting environment. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to fully restore. :param region: Region to target. If none is passed will use default region from the config. :return: RestoreBackupResponse

Usage:

result = await api.restore_backup(
    hosting_id="example",
    backup_id="example",
)
async restore_backup_items(*, hosting_id: str, region: str | None = None, item_ids: List[str] | None = None) RestoreBackupItemsResponse

Restore specific items from a backup (e.g., a database or mailbox). :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param item_ids: List of backup item IDs to restore individually. :return: RestoreBackupItemsResponse

Usage:

result = await api.restore_backup_items(
    hosting_id="example",
)
async wait_for_backup(*, hosting_id: str, backup_id: str, region: str | None = None, options: WaitForOptions[Backup, bool | Awaitable[bool]] | None = None) Backup

Get info about a backup specified by the backup ID. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to retrieve. :param region: Region to target. If none is passed will use default region from the config. :return: Backup

Usage:

result = await api.get_backup(
    hosting_id="example",
    backup_id="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1ControlPanelAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async list_control_panels(*, region: str | None = None, page: int | None = None, page_size: int | None = None) ListControlPanelsResponse

“List the control panels type: cpanel or plesk.”. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of control panels to return (must be a positive integer lower or equal to 100). :return: ListControlPanelsResponse

Usage:

result = await api.list_control_panels()
async list_control_panels_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None) List[ControlPanel]

“List the control panels type: cpanel or plesk.”. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of control panels to return (must be a positive integer lower or equal to 100). :return: List[ControlPanel]

Usage:

result = await api.list_control_panels_all()
class scaleway_async.webhosting.v1.api.WebhostingV1DatabaseAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your databases and database users for your Web Hosting services.

async assign_database_user(*, hosting_id: str, username: str, database_name: str, region: str | None = None) DatabaseUser

“Assign a database user to a database”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to assign. :param database_name: Name of the database to be assigned. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.assign_database_user(
    hosting_id="example",
    username="example",
    database_name="example",
)
async change_database_user_password(*, hosting_id: str, username: str, password: str, region: str | None = None) DatabaseUser

“Change the password of a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to update. :param password: New password. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.change_database_user_password(
    hosting_id="example",
    username="example",
    password="example",
)
async create_database(*, hosting_id: str, database_name: str, region: str | None = None, new_user: CreateDatabaseRequestUser | None = None, existing_username: str | None = None) Database

“Create a new database within your hosting plan”. :param hosting_id: UUID of the hosting plan where the database will be created. :param database_name: Name of the database to be created. :param region: Region to target. If none is passed will use default region from the config. :param new_user: (Optional) Username and password to create a user and link to the database. One-Of (‘user’): at most one of ‘new_user’, ‘existing_username’ could be set. :param existing_username: (Optional) Username to link an existing user to the database. One-Of (‘user’): at most one of ‘new_user’, ‘existing_username’ could be set. :return: Database

Usage:

result = await api.create_database(
    hosting_id="example",
    database_name="example",
)
async create_database_user(*, hosting_id: str, username: str, password: str, region: str | None = None) DatabaseUser

“Create a new database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to create. :param password: Password of the user to create. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.create_database_user(
    hosting_id="example",
    username="example",
    password="example",
)
async delete_database(*, hosting_id: str, database_name: str, region: str | None = None) Database

“Delete a database within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param database_name: Name of the database to delete. :param region: Region to target. If none is passed will use default region from the config. :return: Database

Usage:

result = await api.delete_database(
    hosting_id="example",
    database_name="example",
)
async delete_database_user(*, hosting_id: str, username: str, region: str | None = None) DatabaseUser

“Delete a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the database user to delete. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.delete_database_user(
    hosting_id="example",
    username="example",
)
async get_database(*, hosting_id: str, database_name: str, region: str | None = None) Database

“Get details of a database within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param database_name: Name of the database. :param region: Region to target. If none is passed will use default region from the config. :return: Database

Usage:

result = await api.get_database(
    hosting_id="example",
    database_name="example",
)
async get_database_user(*, hosting_id: str, username: str, region: str | None = None) DatabaseUser

“Get details of a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the database user to retrieve details. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.get_database_user(
    hosting_id="example",
    username="example",
)
async list_database_users(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabaseUsersRequestOrderBy | None = None) ListDatabaseUsersResponse

“List all database users”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of database users to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of database users in the response. :return: ListDatabaseUsersResponse

Usage:

result = await api.list_database_users(
    hosting_id="example",
)
async list_database_users_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabaseUsersRequestOrderBy | None = None) List[DatabaseUser]

“List all database users”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of database users to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of database users in the response. :return: List[DatabaseUser]

Usage:

result = await api.list_database_users_all(
    hosting_id="example",
)
async list_databases(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabasesRequestOrderBy | None = None) ListDatabasesResponse

“List all databases within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of databases to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of databases in the response. :return: ListDatabasesResponse

Usage:

result = await api.list_databases(
    hosting_id="example",
)
async list_databases_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabasesRequestOrderBy | None = None) List[Database]

“List all databases within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of databases to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of databases in the response. :return: List[Database]

Usage:

result = await api.list_databases_all(
    hosting_id="example",
)
async unassign_database_user(*, hosting_id: str, username: str, database_name: str, region: str | None = None) DatabaseUser

“Unassign a database user from a database”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to unassign. :param database_name: Name of the database to be unassigned. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.unassign_database_user(
    hosting_id="example",
    username="example",
    database_name="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1DnsAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async check_user_owns_domain(*, domain: str, region: str | None = None, project_id: str | None = None) CheckUserOwnsDomainResponse

Check whether you own this domain or not. :param domain: Domain for which ownership is to be verified. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the project currently in use. :return: CheckUserOwnsDomainResponse :deprecated

Usage:

result = await api.check_user_owns_domain(
    domain="example",
)
async get_domain(*, domain_name: str, region: str | None = None, project_id: str | None = None) Domain

Retrieve detailed information about a specific domain, including its status, DNS configuration, and ownership. :param domain_name: Domain name to get. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to get the domain to create the Web Hosting plan. :return: Domain

Usage:

result = await api.get_domain(
    domain_name="example",
)
async get_domain_dns_records(*, domain: str, region: str | None = None) DnsRecords

Get DNS records. Get the set of DNS records of a specified domain associated with a Web Hosting plan’s domain. :param domain: Domain associated with the DNS records. :param region: Region to target. If none is passed will use default region from the config. :return: DnsRecords

Usage:

result = await api.get_domain_dns_records(
    domain="example",
)
async search_domains(*, domain_name: str, region: str | None = None, project_id: str | None = None) SearchDomainsResponse

Search for available domains based on domain name. :param domain_name: Domain name to search. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to search the domain to create the Web Hosting plan. :return: SearchDomainsResponse

Usage:

result = await api.search_domains(
    domain_name="example",
)
async sync_domain_dns_records(*, domain: str, region: str | None = None, update_web_records: bool | None = None, update_mail_records: bool | None = None, update_all_records: bool | None = None, update_nameservers: bool | None = None, custom_records: List[SyncDomainDnsRecordsRequestRecord] | None = None, auto_config_domain_dns: AutoConfigDomainDns | None = None) DnsRecords

Synchronize your DNS records on the Elements Console and on cPanel. :param domain: Domain for which the DNS records will be synchronized. :param region: Region to target. If none is passed will use default region from the config. :param update_web_records: Whether or not to synchronize the web records (deprecated, use auto_config_domain_dns). :param update_mail_records: Whether or not to synchronize the mail records (deprecated, use auto_config_domain_dns). :param update_all_records: Whether or not to synchronize all types of records. This one has priority (deprecated, use auto_config_domain_dns). :param update_nameservers: Whether or not to synchronize domain nameservers (deprecated, use auto_config_domain_dns). :param custom_records: Custom records to synchronize. :param auto_config_domain_dns: Whether or not to synchronize each types of records. :return: DnsRecords

Usage:

result = await api.sync_domain_dns_records(
    domain="example",
)
async wait_for_domain(*, domain_name: str, region: str | None = None, project_id: str | None = None, options: WaitForOptions[Domain, bool | Awaitable[bool]] | None = None) Domain

Retrieve detailed information about a specific domain, including its status, DNS configuration, and ownership. :param domain_name: Domain name to get. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to get the domain to create the Web Hosting plan. :return: Domain

Usage:

result = await api.get_domain(
    domain_name="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1FreeDomainAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to list and check a free domain’s validity.

async check_free_domain_availability(*, slug: str, root_domain: str, region: str | None = None) CheckFreeDomainAvailabilityResponse

Check whether a given slug and free domain combination is available. :param slug: Custom prefix used for the free domain. :param root_domain: Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains. :param region: Region to target. If none is passed will use default region from the config. :return: CheckFreeDomainAvailabilityResponse

Usage:

result = await api.check_free_domain_availability(
    slug="example",
    root_domain="example",
)
async list_free_root_domains(*, region: str | None = None, page: int | None = None, page_size: int | None = None) ListFreeRootDomainsResponse

Retrieve the list of free root domains available for a Web Hosting. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of free root domains to return (must be a positive integer lower or equal to 100). :return: ListFreeRootDomainsResponse

Usage:

result = await api.list_free_root_domains()
async list_free_root_domains_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None) List[str]

Retrieve the list of free root domains available for a Web Hosting. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of free root domains to return (must be a positive integer lower or equal to 100). :return: List[str]

Usage:

result = await api.list_free_root_domains_all()
class scaleway_async.webhosting.v1.api.WebhostingV1FtpAccountAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your FTP accounts for your Web Hosting services.

async change_ftp_account_password(*, hosting_id: str, username: str, password: str, region: str | None = None) FtpAccount
Parameters:
  • hosting_id – UUID of the hosting plan.

  • username – Username of the FTP account.

  • password – New password for the FTP account.

  • region – Region to target. If none is passed will use default region from the config.

Returns:

FtpAccount

Usage:

result = await api.change_ftp_account_password(
    hosting_id="example",
    username="example",
    password="example",
)
async create_ftp_account(*, hosting_id: str, username: str, path: str, password: str, region: str | None = None) FtpAccount

Create a new FTP account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param username: Username for the new FTP account. :param path: Path for the new FTP account. :param password: Password for the new FTP account. :param region: Region to target. If none is passed will use default region from the config. :return: FtpAccount

Usage:

result = await api.create_ftp_account(
    hosting_id="example",
    username="example",
    path="example",
    password="example",
)
async list_ftp_accounts(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListFtpAccountsRequestOrderBy | None = None, domain: str | None = None) ListFtpAccountsResponse

List all FTP accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of FTP accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of FTP accounts in the response. :param domain: Domain to filter the FTP accounts. :return: ListFtpAccountsResponse

Usage:

result = await api.list_ftp_accounts(
    hosting_id="example",
)
async list_ftp_accounts_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListFtpAccountsRequestOrderBy | None = None, domain: str | None = None) List[FtpAccount]

List all FTP accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of FTP accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of FTP accounts in the response. :param domain: Domain to filter the FTP accounts. :return: List[FtpAccount]

Usage:

result = await api.list_ftp_accounts_all(
    hosting_id="example",
)
async remove_ftp_account(*, hosting_id: str, username: str, region: str | None = None) FtpAccount

Delete a specific FTP account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param username: Username of the FTP account to be deleted. :param region: Region to target. If none is passed will use default region from the config. :return: FtpAccount

Usage:

result = await api.remove_ftp_account(
    hosting_id="example",
    username="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1HostingAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async add_custom_domain(*, hosting_id: str, domain_name: str, region: str | None = None) HostingSummary

Attach a custom domain to a webhosting. :param hosting_id: Hosting ID to which the custom domain is attached to. :param domain_name: The custom domain name to attach to the hosting. :param region: Region to target. If none is passed will use default region from the config. :return: HostingSummary

Usage:

result = await api.add_custom_domain(
    hosting_id="example",
    domain_name="example",
)
async create_hosting(*, offer_id: str, email: str, domain: str, region: str | None = None, project_id: str | None = None, tags: List[str] | None = None, subdomain: str | None = None, offer_options: List[OfferOptionRequest] | None = None, language: LanguageCode | None = None, domain_configuration: CreateHostingRequestDomainConfiguration | None = None, skip_welcome_email: bool | None = None, auto_config_domain_dns: AutoConfigDomainDns | None = None) Hosting

Order a Web Hosting plan. Order a Web Hosting plan, specifying the offer type required via the offer_id parameter. :param offer_id: ID of the selected offer for the Web Hosting plan. :param email: Contact email for the Web Hosting client. :param domain: Domain name to link to the Web Hosting plan. You must already own this domain name, and have completed the DNS validation process beforehand. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to create the Web Hosting plan. :param tags: List of tags for the Web Hosting plan. :param subdomain: The name prefix to use as a free subdomain (for example, mysite) assigned to the Web Hosting plan. The full domain will be automatically created by adding it to the fixed base domain (e.g. mysite.scw.site). You do not need to include the base domain yourself. :param offer_options: List of the Web Hosting plan options IDs with their quantities. :param language: Default language for the control panel interface. :param domain_configuration: Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_config_domain_dns instead). :param skip_welcome_email: Indicates whether to skip a welcome email to the contact email containing hosting info. :param auto_config_domain_dns: Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_update_* fields instead). :return: Hosting

Usage:

result = await api.create_hosting(
    offer_id="example",
    email="example",
    domain="example",
)
async create_session(*, hosting_id: str, region: str | None = None) Session

Create a user session. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Session

Usage:

result = await api.create_session(
    hosting_id="example",
)
async delete_hosting(*, hosting_id: str, region: str | None = None) Hosting

Delete a Web Hosting plan. Delete a Web Hosting plan, specified by its hosting_id. Note that deletion is not immediate: it will take place at the end of the calendar month, after which time your Web Hosting plan and all its data (files and emails) will be irreversibly lost. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.delete_hosting(
    hosting_id="example",
)
async get_hosting(*, hosting_id: str, region: str | None = None) Hosting

Get a Web Hosting plan. Get the details of one of your existing Web Hosting plans, specified by its hosting_id. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.get_hosting(
    hosting_id="example",
)
async get_resource_summary(*, hosting_id: str, region: str | None = None) ResourceSummary

Get the total counts of websites, databases, email accounts, and FTP accounts of a Web Hosting plan. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: ResourceSummary

Usage:

result = await api.get_resource_summary(
    hosting_id="example",
)
async list_hostings(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListHostingsRequestOrderBy | None = None, tags: List[str] | None = None, statuses: List[HostingStatus] | None = None, domain: str | None = None, project_id: str | None = None, organization_id: str | None = None, control_panels: List[str] | None = None, subdomain: str | None = None) ListHostingsResponse

List all Web Hosting plans. List all of your existing Web Hosting plans. Various filters are available to limit the results, including filtering by domain, status, tag and Project ID. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of Web Hosting plans to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting plans in the response. :param tags: Tags to filter for, only Web Hosting plans with matching tags will be returned. :param statuses: Statuses to filter for, only Web Hosting plans with matching statuses will be returned. :param domain: Domain to filter for, only Web Hosting plans associated with this domain will be returned. :param project_id: Project ID to filter for, only Web Hosting plans from this Project will be returned. :param organization_id: Organization ID to filter for, only Web Hosting plans from this Organization will be returned. :param control_panels: Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned. :param subdomain: Optional free subdomain linked to the Web Hosting plan. :return: ListHostingsResponse

Usage:

result = await api.list_hostings()
async list_hostings_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListHostingsRequestOrderBy | None = None, tags: List[str] | None = None, statuses: List[HostingStatus] | None = None, domain: str | None = None, project_id: str | None = None, organization_id: str | None = None, control_panels: List[str] | None = None, subdomain: str | None = None) List[HostingSummary]

List all Web Hosting plans. List all of your existing Web Hosting plans. Various filters are available to limit the results, including filtering by domain, status, tag and Project ID. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of Web Hosting plans to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting plans in the response. :param tags: Tags to filter for, only Web Hosting plans with matching tags will be returned. :param statuses: Statuses to filter for, only Web Hosting plans with matching statuses will be returned. :param domain: Domain to filter for, only Web Hosting plans associated with this domain will be returned. :param project_id: Project ID to filter for, only Web Hosting plans from this Project will be returned. :param organization_id: Organization ID to filter for, only Web Hosting plans from this Organization will be returned. :param control_panels: Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned. :param subdomain: Optional free subdomain linked to the Web Hosting plan. :return: List[HostingSummary]

Usage:

result = await api.list_hostings_all()
async remove_custom_domain(*, hosting_id: str, region: str | None = None) HostingSummary

Detach a custom domain from a webhosting. :param hosting_id: Hosting ID to which the custom domain is detached from. :param region: Region to target. If none is passed will use default region from the config. :return: HostingSummary

Usage:

result = await api.remove_custom_domain(
    hosting_id="example",
)
async reset_hosting_password(*, hosting_id: str, region: str | None = None) ResetHostingPasswordResponse

Reset a Web Hosting plan password. :param hosting_id: UUID of the hosting. :param region: Region to target. If none is passed will use default region from the config. :return: ResetHostingPasswordResponse

Usage:

result = await api.reset_hosting_password(
    hosting_id="example",
)
async update_hosting(*, hosting_id: str, region: str | None = None, email: str | None = None, tags: List[str] | None = None, offer_options: List[OfferOptionRequest] | None = None, offer_id: str | None = None, protected: bool | None = None) Hosting

Update a Web Hosting plan. Update the details of one of your existing Web Hosting plans, specified by its hosting_id. You can update parameters including the contact email address, tags, options and offer. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :param email: New contact email for the Web Hosting plan. :param tags: New tags for the Web Hosting plan. :param offer_options: List of the Web Hosting plan options IDs with their quantities. :param offer_id: ID of the new offer for the Web Hosting plan. :param protected: Whether the hosting is protected or not. :return: Hosting

Usage:

result = await api.update_hosting(
    hosting_id="example",
)
async wait_for_hosting(*, hosting_id: str, region: str | None = None, options: WaitForOptions[Hosting, bool | Awaitable[bool]] | None = None) Hosting

Get a Web Hosting plan. Get the details of one of your existing Web Hosting plans, specified by its hosting_id. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.get_hosting(
    hosting_id="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1MailAccountAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your mail accounts for your Web Hosting services.

async change_mail_account_password(*, hosting_id: str, domain: str, username: str, password: str, region: str | None = None) MailAccount

Update the password of a mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part of the mail account address. :param password: New password for the mail account. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.change_mail_account_password(
    hosting_id="example",
    domain="example",
    username="example",
    password="example",
)
async create_mail_account(*, hosting_id: str, domain: str, username: str, password: str, region: str | None = None) MailAccount

Create a new mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part address of the mail account address. :param password: Password for the new mail account. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.create_mail_account(
    hosting_id="example",
    domain="example",
    username="example",
    password="example",
)
async list_mail_accounts(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListMailAccountsRequestOrderBy | None = None, domain: str | None = None) ListMailAccountsResponse

List all mail accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of mail accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of mail accounts in the response. :param domain: Domain to filter the mail accounts. :return: ListMailAccountsResponse

Usage:

result = await api.list_mail_accounts(
    hosting_id="example",
)
async list_mail_accounts_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListMailAccountsRequestOrderBy | None = None, domain: str | None = None) List[MailAccount]

List all mail accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of mail accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of mail accounts in the response. :param domain: Domain to filter the mail accounts. :return: List[MailAccount]

Usage:

result = await api.list_mail_accounts_all(
    hosting_id="example",
)
async remove_mail_account(*, hosting_id: str, domain: str, username: str, region: str | None = None) MailAccount

Delete a mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part of the mail account address. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.remove_mail_account(
    hosting_id="example",
    domain="example",
    username="example",
)
class scaleway_async.webhosting.v1.api.WebhostingV1OfferAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your offer for your Web Hosting services.

async list_offers(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListOffersRequestOrderBy | None = None, hosting_id: str | None = None, control_panels: List[str] | None = None) ListOffersResponse

List all available hosting offers along with their specific options. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting offers in the response. :param hosting_id: UUID of the hosting plan. :param control_panels: Name of the control panel(s) to filter for. :return: ListOffersResponse

Usage:

result = await api.list_offers()
async list_offers_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListOffersRequestOrderBy | None = None, hosting_id: str | None = None, control_panels: List[str] | None = None) List[Offer]

List all available hosting offers along with their specific options. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting offers in the response. :param hosting_id: UUID of the hosting plan. :param control_panels: Name of the control panel(s) to filter for. :return: List[Offer]

Usage:

result = await api.list_offers_all()
class scaleway_async.webhosting.v1.api.WebhostingV1WebsiteAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your websites for your Web Hosting services.

async list_websites(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListWebsitesRequestOrderBy | None = None) ListWebsitesResponse

List all websites for a specific hosting. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting websites in the response. :return: ListWebsitesResponse

Usage:

result = await api.list_websites(
    hosting_id="example",
)
async list_websites_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListWebsitesRequestOrderBy | None = None) List[Website]

List all websites for a specific hosting. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting websites in the response. :return: List[Website]

Usage:

result = await api.list_websites_all(
    hosting_id="example",
)

scaleway_async.webhosting.v1.content module

scaleway_async.webhosting.v1.content.BACKUP_TRANSIENT_STATUSES: List[BackupStatus] = [<BackupStatus.RESTORING: 'restoring'>]

Lists transient statutes of the enum BackupStatus.

scaleway_async.webhosting.v1.content.DOMAIN_AVAILABILITY_TRANSIENT_STATUSES: List[DomainAvailabilityStatus] = [<DomainAvailabilityStatus.VALIDATING: 'validating'>]

Lists transient statutes of the enum DomainAvailabilityStatus.

scaleway_async.webhosting.v1.content.DOMAIN_TRANSIENT_STATUSES: List[DomainStatus] = [<DomainStatus.VALIDATING: 'validating'>]

Lists transient statutes of the enum DomainStatus.

scaleway_async.webhosting.v1.content.HOSTING_TRANSIENT_STATUSES: List[HostingStatus] = [<HostingStatus.DELIVERING: 'delivering'>, <HostingStatus.DELETING: 'deleting'>, <HostingStatus.MIGRATING: 'migrating'>, <HostingStatus.UPDATING: 'updating'>]

Lists transient statutes of the enum HostingStatus.

scaleway_async.webhosting.v1.marshalling module

scaleway_async.webhosting.v1.marshalling.marshal_AutoConfigDomainDns(request: AutoConfigDomainDns, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_BackupApiRestoreBackupItemsRequest(request: BackupApiRestoreBackupItemsRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_CreateDatabaseRequestUser(request: CreateDatabaseRequestUser, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_CreateHostingRequestDomainConfiguration(request: CreateHostingRequestDomainConfiguration, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DatabaseApiAssignDatabaseUserRequest(request: DatabaseApiAssignDatabaseUserRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DatabaseApiChangeDatabaseUserPasswordRequest(request: DatabaseApiChangeDatabaseUserPasswordRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DatabaseApiCreateDatabaseRequest(request: DatabaseApiCreateDatabaseRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DatabaseApiCreateDatabaseUserRequest(request: DatabaseApiCreateDatabaseUserRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DatabaseApiUnassignDatabaseUserRequest(request: DatabaseApiUnassignDatabaseUserRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DnsApiCheckUserOwnsDomainRequest(request: DnsApiCheckUserOwnsDomainRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_DnsApiSyncDomainDnsRecordsRequest(request: DnsApiSyncDomainDnsRecordsRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_FreeDomainApiCheckFreeDomainAvailabilityRequest(request: FreeDomainApiCheckFreeDomainAvailabilityRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_FtpAccountApiChangeFtpAccountPasswordRequest(request: FtpAccountApiChangeFtpAccountPasswordRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_FtpAccountApiCreateFtpAccountRequest(request: FtpAccountApiCreateFtpAccountRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_HostingApiAddCustomDomainRequest(request: HostingApiAddCustomDomainRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_HostingApiCreateHostingRequest(request: HostingApiCreateHostingRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_HostingApiUpdateHostingRequest(request: HostingApiUpdateHostingRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_MailAccountApiChangeMailAccountPasswordRequest(request: MailAccountApiChangeMailAccountPasswordRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_MailAccountApiCreateMailAccountRequest(request: MailAccountApiCreateMailAccountRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_MailAccountApiRemoveMailAccountRequest(request: MailAccountApiRemoveMailAccountRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_OfferOptionRequest(request: OfferOptionRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.marshal_SyncDomainDnsRecordsRequestRecord(request: SyncDomainDnsRecordsRequestRecord, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.webhosting.v1.marshalling.unmarshal_AutoConfigDomainDns(data: Any) AutoConfigDomainDns
scaleway_async.webhosting.v1.marshalling.unmarshal_Backup(data: Any) Backup
scaleway_async.webhosting.v1.marshalling.unmarshal_BackupItem(data: Any) BackupItem
scaleway_async.webhosting.v1.marshalling.unmarshal_BackupItemGroup(data: Any) BackupItemGroup
scaleway_async.webhosting.v1.marshalling.unmarshal_CheckFreeDomainAvailabilityResponse(data: Any) CheckFreeDomainAvailabilityResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_CheckUserOwnsDomainResponse(data: Any) CheckUserOwnsDomainResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ControlPanel(data: Any) ControlPanel
scaleway_async.webhosting.v1.marshalling.unmarshal_Database(data: Any) Database
scaleway_async.webhosting.v1.marshalling.unmarshal_DatabaseUser(data: Any) DatabaseUser
scaleway_async.webhosting.v1.marshalling.unmarshal_DnsRecord(data: Any) DnsRecord
scaleway_async.webhosting.v1.marshalling.unmarshal_DnsRecords(data: Any) DnsRecords
scaleway_async.webhosting.v1.marshalling.unmarshal_Domain(data: Any) Domain
scaleway_async.webhosting.v1.marshalling.unmarshal_DomainAvailability(data: Any) DomainAvailability
scaleway_async.webhosting.v1.marshalling.unmarshal_FreeDomain(data: Any) FreeDomain
scaleway_async.webhosting.v1.marshalling.unmarshal_FtpAccount(data: Any) FtpAccount
scaleway_async.webhosting.v1.marshalling.unmarshal_Hosting(data: Any) Hosting
scaleway_async.webhosting.v1.marshalling.unmarshal_HostingDomain(data: Any) HostingDomain
scaleway_async.webhosting.v1.marshalling.unmarshal_HostingDomainCustomDomain(data: Any) HostingDomainCustomDomain
scaleway_async.webhosting.v1.marshalling.unmarshal_HostingSummary(data: Any) HostingSummary
scaleway_async.webhosting.v1.marshalling.unmarshal_HostingUser(data: Any) HostingUser
scaleway_async.webhosting.v1.marshalling.unmarshal_ListBackupItemsResponse(data: Any) ListBackupItemsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListBackupsResponse(data: Any) ListBackupsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListControlPanelsResponse(data: Any) ListControlPanelsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListDatabaseUsersResponse(data: Any) ListDatabaseUsersResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListDatabasesResponse(data: Any) ListDatabasesResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListFreeRootDomainsResponse(data: Any) ListFreeRootDomainsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListFtpAccountsResponse(data: Any) ListFtpAccountsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListHostingsResponse(data: Any) ListHostingsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListMailAccountsResponse(data: Any) ListMailAccountsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListOffersResponse(data: Any) ListOffersResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ListWebsitesResponse(data: Any) ListWebsitesResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_MailAccount(data: Any) MailAccount
scaleway_async.webhosting.v1.marshalling.unmarshal_Nameserver(data: Any) Nameserver
scaleway_async.webhosting.v1.marshalling.unmarshal_Offer(data: Any) Offer
scaleway_async.webhosting.v1.marshalling.unmarshal_OfferOption(data: Any) OfferOption
scaleway_async.webhosting.v1.marshalling.unmarshal_Platform(data: Any) Platform
scaleway_async.webhosting.v1.marshalling.unmarshal_PlatformControlPanel(data: Any) PlatformControlPanel
scaleway_async.webhosting.v1.marshalling.unmarshal_PlatformControlPanelUrls(data: Any) PlatformControlPanelUrls
scaleway_async.webhosting.v1.marshalling.unmarshal_ResetHostingPasswordResponse(data: Any) ResetHostingPasswordResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_ResourceSummary(data: Any) ResourceSummary
scaleway_async.webhosting.v1.marshalling.unmarshal_RestoreBackupItemsResponse(data: Any) RestoreBackupItemsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_RestoreBackupResponse(data: Any) RestoreBackupResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_SearchDomainsResponse(data: Any) SearchDomainsResponse
scaleway_async.webhosting.v1.marshalling.unmarshal_Session(data: Any) Session
scaleway_async.webhosting.v1.marshalling.unmarshal_Website(data: Any) Website

scaleway_async.webhosting.v1.types module

class scaleway_async.webhosting.v1.types.AutoConfigDomainDns(nameservers: 'bool', web_records: 'bool', mail_records: 'bool', all_records: 'bool', none: 'bool')

Bases: object

all_records: bool

Whether or not to synchronize all types of records. Takes priority over the other fields.

mail_records: bool

Whether or not to synchronize mail records.

nameservers: bool

Whether or not to synchronize domain nameservers.

none: bool

No automatic domain configuration. Users must configure their domain for the Web Hosting to work.

web_records: bool

Whether or not to synchronize web records.

class scaleway_async.webhosting.v1.types.Backup(id: 'str', size: 'int', status: 'BackupStatus', total_items: 'int', created_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Creation date of the backup.

id: str

ID of the backup.

size: int

Total size of the backup in bytes.

status: BackupStatus

Status of the backup. Available values are active, locked, and restoring.

total_items: int

Total number of restorable items in the backup.

class scaleway_async.webhosting.v1.types.BackupApiGetBackupRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to retrieve.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.BackupApiListBackupItemsRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to list items from.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.BackupApiListBackupsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListBackupsRequestOrderBy]' = <ListBackupsRequestOrderBy.CREATED_AT_DESC: 'created_at_desc'>)

Bases: object

hosting_id: str

UUID of the hosting account.

order_by: ListBackupsRequestOrderBy | None = 'created_at_desc'

Order in which to return the list of backups.

page: int | None = 0

Page number to retrieve.

page_size: int | None = 0

Number of backups to return per page.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.BackupApiRestoreBackupItemsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, item_ids: 'Optional[List[str]]' = <factory>)

Bases: object

hosting_id: str

UUID of the hosting account.

item_ids: List[str] | None

List of backup item IDs to restore individually.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.BackupApiRestoreBackupRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to fully restore.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.BackupItem(id: 'str', name: 'str', type_: 'BackupItemType', size: 'int', status: 'BackupStatus', created_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Date and time at which this item was backed up.

id: str

ID of the item.

name: str

Name of the item (e.g., database name, email address).

size: int

Size of the item in bytes.

status: BackupStatus

Status of the item. Available values are active, damaged, and restoring.

type_: BackupItemType

Type of the item (e.g., email, database, FTP).

class scaleway_async.webhosting.v1.types.BackupItemGroup(type_: 'BackupItemType', items: 'List[BackupItem]')

Bases: object

items: List[BackupItem]

List of individual backup items of this type.

type_: BackupItemType

Type of items (e.g., email, database, FTP).

class scaleway_async.webhosting.v1.types.BackupItemType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CRON_JOB = 'cron_job'
DB = 'db'
DB_USER = 'db_user'
DNS_ZONE = 'dns_zone'
FTP_USER = 'ftp_user'
FULL = 'full'
MAIL = 'mail'
SSL_CERTIFICATE = 'ssl_certificate'
UNKNOWN_BACKUP_ITEM_TYPE = 'unknown_backup_item_type'
WEB = 'web'
class scaleway_async.webhosting.v1.types.BackupStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ACTIVE = 'active'
DAMAGED = 'damaged'
DISABLED = 'disabled'
LOCKED = 'locked'
RESTORING = 'restoring'
UNKNOWN_BACKUP_STATUS = 'unknown_backup_status'
class scaleway_async.webhosting.v1.types.CheckFreeDomainAvailabilityResponse(is_available: 'bool', free_domain: 'Optional[FreeDomain]' = None, reason: 'Optional[CheckFreeDomainAvailabilityResponseUnavailableReason]' = <CheckFreeDomainAvailabilityResponseUnavailableReason.UNAVAILABLE_REASON_UNKNOWN: 'unavailable_reason_unknown'>)

Bases: object

free_domain: FreeDomain | None = None

The free domain that was checked.

is_available: bool

Whether the free domain is available.

reason: CheckFreeDomainAvailabilityResponseUnavailableReason | None = 'unavailable_reason_unknown'

Reason the domain is unavailable, if applicable.

class scaleway_async.webhosting.v1.types.CheckFreeDomainAvailabilityResponseUnavailableReason(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNAVAILABLE_REASON_ALREADY_USED = 'unavailable_reason_already_used'
UNAVAILABLE_REASON_CONTAINS_DOTS = 'unavailable_reason_contains_dots'
UNAVAILABLE_REASON_CONTAINS_RESERVED_KEYWORD = 'unavailable_reason_contains_reserved_keyword'
UNAVAILABLE_REASON_INVALID_CHARACTERS = 'unavailable_reason_invalid_characters'
UNAVAILABLE_REASON_STARTS_OR_ENDS_WITH_HYPHEN = 'unavailable_reason_starts_or_ends_with_hyphen'
UNAVAILABLE_REASON_TOO_LONG = 'unavailable_reason_too_long'
UNAVAILABLE_REASON_TOO_SHORT = 'unavailable_reason_too_short'
UNAVAILABLE_REASON_UNKNOWN = 'unavailable_reason_unknown'
class scaleway_async.webhosting.v1.types.CheckUserOwnsDomainResponse(owns_domain: 'bool')

Bases: object

owns_domain: bool

Indicates whether the specified project owns the domain.

class scaleway_async.webhosting.v1.types.ControlPanel(name: 'str', available: 'bool', logo_url: 'str', available_languages: 'List[StdLanguageCode]')

Bases: object

available: bool

Define if the control panel type is available to order.

available_languages: List[LanguageCode]

List of available languages for the control panel.

logo_url: str

URL of the control panel’s logo.

name: str

Control panel name.

class scaleway_async.webhosting.v1.types.ControlPanelApiListControlPanelsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of control panels to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.CreateDatabaseRequestUser(username: 'str', password: 'str')

Bases: object

password: str
username: str
class scaleway_async.webhosting.v1.types.CreateHostingRequestDomainConfiguration(update_nameservers: 'bool', update_web_record: 'bool', update_mail_record: 'bool', update_all_records: 'bool')

Bases: object

update_all_records: bool
update_mail_record: bool
update_nameservers: bool
update_web_record: bool
class scaleway_async.webhosting.v1.types.Database(database_name: 'str', users: 'List[str]')

Bases: object

database_name: str

Name of the database.

users: List[str]

List of users who have access to the database.

class scaleway_async.webhosting.v1.types.DatabaseApiAssignDatabaseUserRequest(hosting_id: 'str', username: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to be assigned.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to assign.

class scaleway_async.webhosting.v1.types.DatabaseApiChangeDatabaseUserPasswordRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

New password.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to update.

class scaleway_async.webhosting.v1.types.DatabaseApiCreateDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None, new_user: 'Optional[CreateDatabaseRequestUser]' = None, existing_username: 'Optional[str]' = None)

Bases: object

database_name: str

Name of the database to be created.

existing_username: str | None = None
hosting_id: str

UUID of the hosting plan where the database will be created.

new_user: CreateDatabaseRequestUser | None = None
region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DatabaseApiCreateDatabaseUserRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

Password of the user to create.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to create.

class scaleway_async.webhosting.v1.types.DatabaseApiDeleteDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to delete.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DatabaseApiDeleteDatabaseUserRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the database user to delete.

class scaleway_async.webhosting.v1.types.DatabaseApiGetDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DatabaseApiGetDatabaseUserRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the database user to retrieve details.

class scaleway_async.webhosting.v1.types.DatabaseApiListDatabaseUsersRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListDatabaseUsersRequestOrderBy]' = <ListDatabaseUsersRequestOrderBy.USERNAME_ASC: 'username_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListDatabaseUsersRequestOrderBy | None = 'username_asc'

Sort order of database users in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of database users to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DatabaseApiListDatabasesRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListDatabasesRequestOrderBy]' = <ListDatabasesRequestOrderBy.DATABASE_NAME_ASC: 'database_name_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListDatabasesRequestOrderBy | None = 'database_name_asc'

Sort order of databases in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of databases to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DatabaseApiUnassignDatabaseUserRequest(hosting_id: 'str', username: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to be unassigned.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to unassign.

class scaleway_async.webhosting.v1.types.DatabaseUser(username: 'str', databases: 'List[str]')

Bases: object

databases: List[str]

List of databases accessible by the user.

username: str

Name of the database user.

class scaleway_async.webhosting.v1.types.DnsApiCheckUserOwnsDomainRequest(domain: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain: str

Domain for which ownership is to be verified.

project_id: str | None = None

ID of the project currently in use.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DnsApiGetDomainDnsRecordsRequest(domain: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain associated with the DNS records.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DnsApiGetDomainRequest(domain_name: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain_name: str

Domain name to get.

project_id: str | None = None

ID of the Scaleway Project in which to get the domain to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DnsApiSearchDomainsRequest(domain_name: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain_name: str

Domain name to search.

project_id: str | None = None

ID of the Scaleway Project in which to search the domain to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.DnsApiSyncDomainDnsRecordsRequest(domain: 'str', region: 'Optional[ScwRegion]' = None, update_web_records: 'Optional[bool]' = False, update_mail_records: 'Optional[bool]' = False, update_all_records: 'Optional[bool]' = False, update_nameservers: 'Optional[bool]' = False, custom_records: 'Optional[List[SyncDomainDnsRecordsRequestRecord]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each types of records.

custom_records: List[SyncDomainDnsRecordsRequestRecord] | None

Custom records to synchronize.

domain: str

Domain for which the DNS records will be synchronized.

region: str | None = None

Region to target. If none is passed will use default region from the config.

update_all_records: bool | None = False

Whether or not to synchronize all types of records. This one has priority (deprecated, use auto_config_domain_dns).

update_mail_records: bool | None = False

Whether or not to synchronize the mail records (deprecated, use auto_config_domain_dns).

update_nameservers: bool | None = False

Whether or not to synchronize domain nameservers (deprecated, use auto_config_domain_dns).

update_web_records: bool | None = False

Whether or not to synchronize the web records (deprecated, use auto_config_domain_dns).

class scaleway_async.webhosting.v1.types.DnsRecord(name: 'str', type_: 'DnsRecordType', ttl: 'int', value: 'str', status: 'DnsRecordStatus', raw_data: 'str', priority: 'Optional[int]' = 0)

Bases: object

name: str

Record name.

priority: int | None = 0

Record priority level.

raw_data: str

Record representation as it appears in the zone file or DNS management system.

status: DnsRecordStatus

Record status.

ttl: int

Record time-to-live.

type_: DnsRecordType

Record type.

value: str

Record value.

class scaleway_async.webhosting.v1.types.DnsRecordStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.types.DnsRecordType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

A = 'a'
AAAA = 'aaaa'
CNAME = 'cname'
MX = 'mx'
NS = 'ns'
TXT = 'txt'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.webhosting.v1.types.DnsRecords(records: 'List[DnsRecord]', name_servers: 'List[Nameserver]', status: 'DnsRecordsStatus', dns_config: 'Optional[List[DomainDnsAction]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each types of records.

dns_config: List[DomainDnsAction] | None

Records dns auto configuration settings (deprecated, use auto_config_domain_dns).

name_servers: List[Nameserver]

List of nameservers.

records: List[DnsRecord]

List of DNS records.

status: DnsRecordsStatus

Status of the records.

class scaleway_async.webhosting.v1.types.DnsRecordsStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.types.Domain(name: 'str', status: 'DomainStatus', owner: 'DomainZoneOwner', zone_domain_name: 'str', available_actions: 'List[DomainAction]', available_dns_actions: 'Optional[List[DomainDnsAction]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each type of record.

available_actions: List[DomainAction]

A list of actions that can be performed on the domain.

available_dns_actions: List[DomainDnsAction] | None

A list of DNS-related actions that can be auto configured for the domain (deprecated, use auto_config_domain_dns instead).

name: str

Name of the domain.

owner: DomainZoneOwner

Zone owner of the domain.

status: DomainStatus

Current status of the domain.

zone_domain_name: str

Main domain for this zone.

class scaleway_async.webhosting.v1.types.DomainAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MANAGE_EXTERNAL = 'manage_external'
RENEW = 'renew'
TRANSFER = 'transfer'
UNKNOWN_ACTION = 'unknown_action'
class scaleway_async.webhosting.v1.types.DomainAvailability(name: 'str', zone_name: 'str', status: 'DomainAvailabilityStatus', available_actions: 'List[DomainAvailabilityAction]', can_create_hosting: 'bool', price: 'Optional[Money]' = None)

Bases: object

available_actions: List[DomainAvailabilityAction]

A list of actions that can be performed on the domain.

can_create_hosting: bool

Whether a hosting can be created for this domain.

name: str

Fully qualified domain name (FQDN).

price: Money | None = None

Price for registering the domain.

status: DomainAvailabilityStatus

Availability status of the domain.

zone_name: str

DNS zone associated with the domain.

class scaleway_async.webhosting.v1.types.DomainAvailabilityAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MANAGE_EXTERNAL = 'manage_external'
REGISTER = 'register'
TRANSFER = 'transfer'
UNKNOWN_ACTION = 'unknown_action'
class scaleway_async.webhosting.v1.types.DomainAvailabilityStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AVAILABLE = 'available'
ERROR = 'error'
NOT_AVAILABLE = 'not_available'
OWNED = 'owned'
UNKNOWN_STATUS = 'unknown_status'
VALIDATING = 'validating'
class scaleway_async.webhosting.v1.types.DomainDnsAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AUTO_CONFIG_ALL_RECORDS = 'auto_config_all_records'
AUTO_CONFIG_MAIL_RECORDS = 'auto_config_mail_records'
AUTO_CONFIG_NAMESERVERS = 'auto_config_nameservers'
AUTO_CONFIG_NONE = 'auto_config_none'
AUTO_CONFIG_WEB_RECORDS = 'auto_config_web_records'
UNKNOWN_DNS_ACTION = 'unknown_dns_action'
class scaleway_async.webhosting.v1.types.DomainStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ERROR = 'error'
INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
VALIDATING = 'validating'
class scaleway_async.webhosting.v1.types.DomainZoneOwner(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXTERNAL = 'external'
ONLINE = 'online'
SCALEWAY = 'scaleway'
UNKNOWN_ZONE_OWNER = 'unknown_zone_owner'
WEBHOSTING = 'webhosting'
class scaleway_async.webhosting.v1.types.FreeDomain(slug: 'str', root_domain: 'str')

Bases: object

root_domain: str

Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains.

slug: str

Custom prefix used for the free domain.

class scaleway_async.webhosting.v1.types.FreeDomainApiCheckFreeDomainAvailabilityRequest(slug: 'str', root_domain: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

region: str | None = None

Region to target. If none is passed will use default region from the config.

root_domain: str

Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains.

slug: str

Custom prefix used for the free domain.

class scaleway_async.webhosting.v1.types.FreeDomainApiListFreeRootDomainsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number to return, from the paginated results (must be a positive integer).

page_size: int | None = 0

Number of free root domains to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.FtpAccount(username: 'str', path: 'str')

Bases: object

path: str

The path associated with the FTP account.

username: str

The username of the FTP account.

class scaleway_async.webhosting.v1.types.FtpAccountApiChangeFtpAccountPasswordRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

New password for the FTP account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username of the FTP account.

class scaleway_async.webhosting.v1.types.FtpAccountApiCreateFtpAccountRequest(hosting_id: 'str', username: 'str', path: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

Password for the new FTP account.

path: str

Path for the new FTP account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username for the new FTP account.

class scaleway_async.webhosting.v1.types.FtpAccountApiListFtpAccountsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListFtpAccountsRequestOrderBy]' = <ListFtpAccountsRequestOrderBy.USERNAME_ASC: 'username_asc'>, domain: 'Optional[str]' = None)

Bases: object

domain: str | None = None

Domain to filter the FTP accounts.

hosting_id: str

UUID of the hosting plan.

order_by: ListFtpAccountsRequestOrderBy | None = 'username_asc'

Sort order of FTP accounts in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of FTP accounts to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.FtpAccountApiRemoveFtpAccountRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username of the FTP account to be deleted.

class scaleway_async.webhosting.v1.types.Hosting(id: 'str', project_id: 'str', status: 'HostingStatus', tags: 'List[str]', ipv4: 'str', protected: 'bool', region: 'ScwRegion', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, domain: 'Optional[str]' = None, offer: 'Optional[Offer]' = None, platform: 'Optional[Platform]' = None, dns_status: 'Optional[DnsRecordsStatus]' = <DnsRecordsStatus.UNKNOWN_STATUS: 'unknown_status'>, user: 'Optional[HostingUser]' = None, domain_status: 'Optional[DomainStatus]' = <DomainStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_info: 'Optional[HostingDomain]' = None)

Bases: object

created_at: datetime | None = None

Date on which the Web Hosting plan was created.

dns_status: DnsRecordsStatus | None = 'unknown_status'

DNS status of the Web Hosting plan (deprecated, use domain_info).

domain: str | None = None

Main domain associated with the Web Hosting plan (deprecated, use domain_info).

domain_info: HostingDomain | None = None

Domain configuration block (subdomain, optional custom domain, and DNS settings).

domain_status: DomainStatus | None = 'unknown_status'

Main domain status of the Web Hosting plan (deprecated, use domain_info).

id: str

ID of the Web Hosting plan.

ipv4: str

Current IPv4 address of the hosting.

offer: Offer | None = None

Details of the Web Hosting plan offer and options.

platform: Platform | None = None

Details of the hosting platform.

project_id: str

ID of the Scaleway Project the Web Hosting plan belongs to.

protected: bool

Whether the hosting is protected or not.

region: str

Region where the Web Hosting plan is hosted.

status: HostingStatus

Status of the Web Hosting plan.

tags: List[str]

List of tags associated with the Web Hosting plan.

updated_at: datetime | None = None

Date on which the Web Hosting plan was last updated.

user: HostingUser | None = None

Details of the hosting user.

class scaleway_async.webhosting.v1.types.HostingApiAddCustomDomainRequest(hosting_id: 'str', domain_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain_name: str

The custom domain name to attach to the hosting.

hosting_id: str

Hosting ID to which the custom domain is attached to.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiCreateHostingRequest(offer_id: 'str', email: 'str', domain: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, subdomain: 'Optional[str]' = None, offer_options: 'Optional[List[OfferOptionRequest]]' = <factory>, language: 'Optional[StdLanguageCode]' = <LanguageCode.UNKNOWN_LANGUAGE_CODE: 'unknown_language_code'>, domain_configuration: 'Optional[CreateHostingRequestDomainConfiguration]' = None, skip_welcome_email: 'Optional[bool]' = False, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_update_* fields instead).

domain: str

Domain name to link to the Web Hosting plan. You must already own this domain name, and have completed the DNS validation process beforehand.

domain_configuration: CreateHostingRequestDomainConfiguration | None = None

Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_config_domain_dns instead).

email: str

Contact email for the Web Hosting client.

language: LanguageCode | None = 'unknown_language_code'

Default language for the control panel interface.

offer_id: str

ID of the selected offer for the Web Hosting plan.

offer_options: List[OfferOptionRequest] | None

List of the Web Hosting plan options IDs with their quantities.

project_id: str | None = None

ID of the Scaleway Project in which to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

skip_welcome_email: bool | None = False

Indicates whether to skip a welcome email to the contact email containing hosting info.

subdomain: str | None = None

The name prefix to use as a free subdomain (for example, mysite) assigned to the Web Hosting plan. The full domain will be automatically created by adding it to the fixed base domain (e.g. mysite.scw.site). You do not need to include the base domain yourself.

tags: List[str] | None

List of tags for the Web Hosting plan.

class scaleway_async.webhosting.v1.types.HostingApiCreateSessionRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiDeleteHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiGetHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiGetResourceSummaryRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiListHostingsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListHostingsRequestOrderBy]' = <ListHostingsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, tags: 'Optional[List[str]]' = <factory>, statuses: 'Optional[List[HostingStatus]]' = <factory>, domain: 'Optional[str]' = None, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, control_panels: 'Optional[List[str]]' = <factory>, subdomain: 'Optional[str]' = None)

Bases: object

control_panels: List[str] | None

Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned.

domain: str | None = None

Domain to filter for, only Web Hosting plans associated with this domain will be returned.

order_by: ListHostingsRequestOrderBy | None = 'created_at_asc'

Sort order for Web Hosting plans in the response.

organization_id: str | None = None

Organization ID to filter for, only Web Hosting plans from this Organization will be returned.

page: int | None = 0

Page number to return, from the paginated results (must be a positive integer).

page_size: int | None = 0

Number of Web Hosting plans to return (must be a positive integer lower or equal to 100).

project_id: str | None = None

Project ID to filter for, only Web Hosting plans from this Project will be returned.

region: str | None = None

Region to target. If none is passed will use default region from the config.

statuses: List[HostingStatus] | None

Statuses to filter for, only Web Hosting plans with matching statuses will be returned.

subdomain: str | None = None

Optional free subdomain linked to the Web Hosting plan.

tags: List[str] | None

Tags to filter for, only Web Hosting plans with matching tags will be returned.

class scaleway_async.webhosting.v1.types.HostingApiRemoveCustomDomainRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID to which the custom domain is detached from.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiResetHostingPasswordRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.HostingApiUpdateHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, email: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, offer_options: 'Optional[List[OfferOptionRequest]]' = <factory>, offer_id: 'Optional[str]' = None, protected: 'Optional[bool]' = False)

Bases: object

email: str | None = None

New contact email for the Web Hosting plan.

hosting_id: str

Hosting ID.

offer_id: str | None = None

ID of the new offer for the Web Hosting plan.

offer_options: List[OfferOptionRequest] | None

List of the Web Hosting plan options IDs with their quantities.

protected: bool | None = False

Whether the hosting is protected or not.

region: str | None = None

Region to target. If none is passed will use default region from the config.

tags: List[str] | None

New tags for the Web Hosting plan.

class scaleway_async.webhosting.v1.types.HostingDomain(subdomain: 'str', custom_domain: 'Optional[HostingDomainCustomDomain]' = None)

Bases: object

custom_domain: HostingDomainCustomDomain | None = None

Optional custom domain linked to the Web Hosting plan.

subdomain: str

Optional free subdomain linked to the Web Hosting plan.

class scaleway_async.webhosting.v1.types.HostingDomainCustomDomain(domain: 'str', domain_status: 'DomainStatus', dns_status: 'DnsRecordsStatus', auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Indicates whether to auto-configure DNS for this domain.

dns_status: DnsRecordsStatus

Status of the DNS configuration for the custom domain.

domain: str

Custom domain linked to the hosting plan.

domain_status: DomainStatus

Status of the custom domain verification.

class scaleway_async.webhosting.v1.types.HostingStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETING = 'deleting'
DELIVERING = 'delivering'
ERROR = 'error'
LOCKED = 'locked'
MIGRATING = 'migrating'
READY = 'ready'
UNKNOWN_STATUS = 'unknown_status'
UPDATING = 'updating'
class scaleway_async.webhosting.v1.types.HostingSummary(id: 'str', project_id: 'str', status: 'HostingStatus', protected: 'bool', offer_name: 'str', region: 'ScwRegion', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, domain: 'Optional[str]' = None, dns_status: 'Optional[DnsRecordsStatus]' = <DnsRecordsStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_status: 'Optional[DomainStatus]' = <DomainStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_info: 'Optional[HostingDomain]' = None)

Bases: object

created_at: datetime | None = None

Date on which the Web Hosting plan was created.

dns_status: DnsRecordsStatus | None = 'unknown_status'

DNS status of the Web Hosting plan.

domain: str | None = None

Main domain associated with the Web Hosting plan (deprecated, use domain_info).

domain_info: HostingDomain | None = None

Domain configuration block (subdomain, optional custom domain, and DNS settings).

domain_status: DomainStatus | None = 'unknown_status'

Main domain status of the Web Hosting plan.

id: str

ID of the Web Hosting plan.

offer_name: str

Name of the active offer for the Web Hosting plan.

project_id: str

ID of the Scaleway Project the Web Hosting plan belongs to.

protected: bool

Whether the hosting is protected or not.

region: str

Region where the Web Hosting plan is hosted.

status: HostingStatus

Status of the Web Hosting plan.

updated_at: datetime | None = None

Date on which the Web Hosting plan was last updated.

class scaleway_async.webhosting.v1.types.HostingUser(username: 'str', contact_email: 'str', one_time_password: 'Optional[str]' = None, one_time_password_b64: 'Optional[str]' = None)

Bases: object

contact_email: str

Contact email used for the hosting.

one_time_password: str | None = None

One-time-password used for the first login to the control panel, cleared after first use (deprecated, use password_b64 instead).

one_time_password_b64: str | None = None

One-time-password used for the first login to the control panel, cleared after first use, encoded in base64.

username: str

Main Web Hosting control panel username.

class scaleway_async.webhosting.v1.types.ListBackupItemsResponse(total_count: 'int', groups: 'List[BackupItemGroup]')

Bases: object

groups: List[BackupItemGroup]

List of backup item groups categorized by type.

total_count: int

Total number of backup item groups.

class scaleway_async.webhosting.v1.types.ListBackupsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.webhosting.v1.types.ListBackupsResponse(total_count: 'int', backups: 'List[Backup]')

Bases: object

backups: List[Backup]

List of available backups.

total_count: int

Total number of available backups.

class scaleway_async.webhosting.v1.types.ListControlPanelsResponse(total_count: 'int', control_panels: 'List[ControlPanel]')

Bases: object

control_panels: List[ControlPanel]

List of control panels.

total_count: int

Number of control panels returned.

class scaleway_async.webhosting.v1.types.ListDatabaseUsersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.types.ListDatabaseUsersResponse(total_count: 'int', users: 'List[DatabaseUser]')

Bases: object

total_count: int

Total number of database users.

users: List[DatabaseUser]

List of database users.

class scaleway_async.webhosting.v1.types.ListDatabasesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DATABASE_NAME_ASC = 'database_name_asc'
DATABASE_NAME_DESC = 'database_name_desc'
class scaleway_async.webhosting.v1.types.ListDatabasesResponse(total_count: 'int', databases: 'List[Database]')

Bases: object

databases: List[Database]

List of databases.

total_count: int

Total number of databases.

class scaleway_async.webhosting.v1.types.ListFreeRootDomainsResponse(root_domains: 'List[str]', total_count: 'int')

Bases: object

root_domains: List[str]

List of free root domains available for the Web Hosting.

total_count: int

Total number of free root domains available.

class scaleway_async.webhosting.v1.types.ListFtpAccountsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.types.ListFtpAccountsResponse(total_count: 'int', ftp_accounts: 'List[FtpAccount]')

Bases: object

ftp_accounts: List[FtpAccount]

List of FTP accounts.

total_count: int

Total number of FTP accounts.

class scaleway_async.webhosting.v1.types.ListHostingsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.webhosting.v1.types.ListHostingsResponse(total_count: 'int', hostings: 'List[HostingSummary]')

Bases: object

hostings: List[HostingSummary]

List of Web Hosting plans.

total_count: int

Number of Web Hosting plans returned.

class scaleway_async.webhosting.v1.types.ListMailAccountsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DOMAIN_ASC = 'domain_asc'
DOMAIN_DESC = 'domain_desc'
USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.types.ListMailAccountsResponse(total_count: 'int', mail_accounts: 'List[MailAccount]')

Bases: object

mail_accounts: List[MailAccount]

List of mail accounts.

total_count: int

Total number of mail accounts.

class scaleway_async.webhosting.v1.types.ListOffersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

PRICE_ASC = 'price_asc'
class scaleway_async.webhosting.v1.types.ListOffersResponse(total_count: 'int', offers: 'List[Offer]')

Bases: object

offers: List[Offer]

List of offers.

total_count: int

Total number of offers.

class scaleway_async.webhosting.v1.types.ListWebsitesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DOMAIN_ASC = 'domain_asc'
DOMAIN_DESC = 'domain_desc'
class scaleway_async.webhosting.v1.types.ListWebsitesResponse(total_count: 'int', websites: 'List[Website]')

Bases: object

total_count: int

Total number of websites.

websites: List[Website]

List of websites.

class scaleway_async.webhosting.v1.types.MailAccount(domain: 'str', username: 'str')

Bases: object

domain: str

Domain part of the mail account address.

username: str

Username part address of the mail account address.

class scaleway_async.webhosting.v1.types.MailAccountApiChangeMailAccountPasswordRequest(hosting_id: 'str', domain: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

password: str

New password for the mail account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part of the mail account address.

class scaleway_async.webhosting.v1.types.MailAccountApiCreateMailAccountRequest(hosting_id: 'str', domain: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

password: str

Password for the new mail account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part address of the mail account address.

class scaleway_async.webhosting.v1.types.MailAccountApiListMailAccountsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListMailAccountsRequestOrderBy]' = <ListMailAccountsRequestOrderBy.USERNAME_ASC: 'username_asc'>, domain: 'Optional[str]' = None)

Bases: object

domain: str | None = None

Domain to filter the mail accounts.

hosting_id: str

UUID of the hosting plan.

order_by: ListMailAccountsRequestOrderBy | None = 'username_asc'

Sort order of mail accounts in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of mail accounts to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.MailAccountApiRemoveMailAccountRequest(hosting_id: 'str', domain: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part of the mail account address.

class scaleway_async.webhosting.v1.types.Nameserver(hostname: 'str', status: 'NameserverStatus', is_default: 'bool')

Bases: object

hostname: str

Hostname of the nameserver.

is_default: bool

Defines whether the nameserver is the default one.

status: NameserverStatus

Status of the nameserver.

class scaleway_async.webhosting.v1.types.NameserverStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.types.Offer(id: 'str', name: 'str', billing_operation_path: 'str', options: 'List[OfferOption]', available: 'bool', control_panel_name: 'str', end_of_life: 'bool', quota_warning: 'OfferOptionWarning', price: 'Optional[Money]' = None)

Bases: object

available: bool

If a hosting_id was specified in the call, defines whether the offer is available for a specified hosting plan to migrate (update) to.

billing_operation_path: str

Unique identifier used for billing.

control_panel_name: str

Name of the control panel.

end_of_life: bool

Indicates if the offer has reached its end of life.

id: str

Offer ID.

name: str

Offer name.

options: List[OfferOption]

Options available for the offer.

price: Money | None = None

Price of the offer.

quota_warning: OfferOptionWarning

Defines a warning if the maximum value for an option in the offer is exceeded.

class scaleway_async.webhosting.v1.types.OfferApiListOffersRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListOffersRequestOrderBy]' = <ListOffersRequestOrderBy.PRICE_ASC: 'price_asc'>, hosting_id: 'Optional[str]' = None, control_panels: 'Optional[List[str]]' = <factory>)

Bases: object

control_panels: List[str] | None

Name of the control panel(s) to filter for.

hosting_id: str | None = None

UUID of the hosting plan.

order_by: ListOffersRequestOrderBy | None = 'price_asc'

Sort order for Web Hosting offers in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of websites to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.types.OfferOption(id: 'str', name: 'OfferOptionName', billing_operation_path: 'str', min_value: 'int', current_value: 'int', max_value: 'int', quota_warning: 'OfferOptionWarning', price: 'Optional[Money]' = None)

Bases: object

billing_operation_path: str

Unique identifier used for billing.

current_value: int

If a hosting_id was specified in the call, defines the current value of the option in the hosting.

id: str

Option ID.

max_value: int

Maximum value for the option in the offer.

min_value: int

Minimum value for the option in the offer.

name: OfferOptionName

Name of the option.

price: Money | None = None

Price of the option for 1 value.

quota_warning: OfferOptionWarning

Defines a warning if the maximum value for the option has been reached.

class scaleway_async.webhosting.v1.types.OfferOptionName(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BACKUP = 'backup'
DATABASE_COUNT = 'database_count'
DEDICATED_IP = 'dedicated_ip'
DOMAIN_COUNT = 'domain_count'
EMAIL_COUNT = 'email_count'
EMAIL_STORAGE_GB = 'email_storage_gb'
RAM_GB = 'ram_gb'
STORAGE_GB = 'storage_gb'
SUPPORT = 'support'
UNKNOWN_NAME = 'unknown_name'
VCPU_COUNT = 'vcpu_count'
class scaleway_async.webhosting.v1.types.OfferOptionRequest(id: 'str', quantity: 'int')

Bases: object

id: str

Offer option ID.

quantity: int

The option requested quantity to set for the Web Hosting plan.

class scaleway_async.webhosting.v1.types.OfferOptionWarning(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

QUOTA_EXCEEDED_WARNING = 'quota_exceeded_warning'
UNKNOWN_WARNING = 'unknown_warning'
USAGE_LOW_WARNING = 'usage_low_warning'
class scaleway_async.webhosting.v1.types.Platform(hostname: 'str', number: 'int', group_name: 'PlatformPlatformGroup', ipv4: 'str', ipv6: 'str', control_panel: 'Optional[PlatformControlPanel]' = None)

Bases: object

control_panel: PlatformControlPanel | None = None

Details of the platform control panel.

group_name: PlatformPlatformGroup

Group name of the hosting’s host platform.

hostname: str

Hostname of the host platform.

ipv4: str

IPv4 address of the hosting’s host platform.

ipv6: str

IPv6 address of the hosting’s host platform.

number: int

Number of the host platform.

class scaleway_async.webhosting.v1.types.PlatformControlPanel(name: 'str', urls: 'Optional[PlatformControlPanelUrls]' = None)

Bases: object

name: str

Name of the control panel.

urls: PlatformControlPanelUrls | None = None

URL to connect to control panel dashboard and to Webmail interface.

class scaleway_async.webhosting.v1.types.PlatformControlPanelUrls(dashboard: 'str', webmail: 'str')

Bases: object

dashboard: str

URL to connect to the hosting control panel dashboard.

webmail: str

URL to connect to the hosting Webmail interface.

class scaleway_async.webhosting.v1.types.PlatformPlatformGroup(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DEFAULT = 'default'
PREMIUM = 'premium'
UNKNOWN_GROUP = 'unknown_group'
class scaleway_async.webhosting.v1.types.ResetHostingPasswordResponse(one_time_password_b64: 'str', one_time_password: 'Optional[str]' = None)

Bases: object

one_time_password: str | None = None

New temporary password (deprecated, use password_b64 instead).

one_time_password_b64: str

New temporary password, encoded in base64.

class scaleway_async.webhosting.v1.types.ResourceSummary(databases_count: 'int', mail_accounts_count: 'int', ftp_accounts_count: 'int', websites_count: 'int')

Bases: object

databases_count: int

Total number of active databases in the Web Hosting plan.

ftp_accounts_count: int

Total number of active FTP accounts in the Web Hosting plan.

mail_accounts_count: int

Total number of active email accounts in the Web Hosting plan.

websites_count: int

Total number of active domains in the Web Hosting plan.

class scaleway_async.webhosting.v1.types.RestoreBackupItemsResponse

Bases: object

class scaleway_async.webhosting.v1.types.RestoreBackupResponse

Bases: object

class scaleway_async.webhosting.v1.types.SearchDomainsResponse(domains_available: 'List[DomainAvailability]')

Bases: object

domains_available: List[DomainAvailability]

List of domains availability.

class scaleway_async.webhosting.v1.types.Session(url: 'str')

Bases: object

url: str

Logged user’s session URL.

class scaleway_async.webhosting.v1.types.SyncDomainDnsRecordsRequestRecord(name: 'str', type_: 'DnsRecordType')

Bases: object

name: str
type_: DnsRecordType
class scaleway_async.webhosting.v1.types.Website(domain: 'str', path: 'str', ssl_status: 'bool')

Bases: object

domain: str

The domain of the website.

path: str

The directory path of the website.

ssl_status: bool

The SSL status of the website.

class scaleway_async.webhosting.v1.types.WebsiteApiListWebsitesRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListWebsitesRequestOrderBy]' = <ListWebsitesRequestOrderBy.DOMAIN_ASC: 'domain_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListWebsitesRequestOrderBy | None = 'domain_asc'

Sort order for Web Hosting websites in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of websites to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

Module contents

class scaleway_async.webhosting.v1.AutoConfigDomainDns(nameservers: 'bool', web_records: 'bool', mail_records: 'bool', all_records: 'bool', none: 'bool')

Bases: object

all_records: bool

Whether or not to synchronize all types of records. Takes priority over the other fields.

mail_records: bool

Whether or not to synchronize mail records.

nameservers: bool

Whether or not to synchronize domain nameservers.

none: bool

No automatic domain configuration. Users must configure their domain for the Web Hosting to work.

web_records: bool

Whether or not to synchronize web records.

class scaleway_async.webhosting.v1.Backup(id: 'str', size: 'int', status: 'BackupStatus', total_items: 'int', created_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Creation date of the backup.

id: str

ID of the backup.

size: int

Total size of the backup in bytes.

status: BackupStatus

Status of the backup. Available values are active, locked, and restoring.

total_items: int

Total number of restorable items in the backup.

class scaleway_async.webhosting.v1.BackupApiGetBackupRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to retrieve.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.BackupApiListBackupItemsRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to list items from.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.BackupApiListBackupsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListBackupsRequestOrderBy]' = <ListBackupsRequestOrderBy.CREATED_AT_DESC: 'created_at_desc'>)

Bases: object

hosting_id: str

UUID of the hosting account.

order_by: ListBackupsRequestOrderBy | None = 'created_at_desc'

Order in which to return the list of backups.

page: int | None = 0

Page number to retrieve.

page_size: int | None = 0

Number of backups to return per page.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.BackupApiRestoreBackupItemsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, item_ids: 'Optional[List[str]]' = <factory>)

Bases: object

hosting_id: str

UUID of the hosting account.

item_ids: List[str] | None

List of backup item IDs to restore individually.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.BackupApiRestoreBackupRequest(hosting_id: 'str', backup_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

backup_id: str

ID of the backup to fully restore.

hosting_id: str

UUID of the hosting account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.BackupItem(id: 'str', name: 'str', type_: 'BackupItemType', size: 'int', status: 'BackupStatus', created_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Date and time at which this item was backed up.

id: str

ID of the item.

name: str

Name of the item (e.g., database name, email address).

size: int

Size of the item in bytes.

status: BackupStatus

Status of the item. Available values are active, damaged, and restoring.

type_: BackupItemType

Type of the item (e.g., email, database, FTP).

class scaleway_async.webhosting.v1.BackupItemGroup(type_: 'BackupItemType', items: 'List[BackupItem]')

Bases: object

items: List[BackupItem]

List of individual backup items of this type.

type_: BackupItemType

Type of items (e.g., email, database, FTP).

class scaleway_async.webhosting.v1.BackupItemType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CRON_JOB = 'cron_job'
DB = 'db'
DB_USER = 'db_user'
DNS_ZONE = 'dns_zone'
FTP_USER = 'ftp_user'
FULL = 'full'
MAIL = 'mail'
SSL_CERTIFICATE = 'ssl_certificate'
UNKNOWN_BACKUP_ITEM_TYPE = 'unknown_backup_item_type'
WEB = 'web'
class scaleway_async.webhosting.v1.BackupStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ACTIVE = 'active'
DAMAGED = 'damaged'
DISABLED = 'disabled'
LOCKED = 'locked'
RESTORING = 'restoring'
UNKNOWN_BACKUP_STATUS = 'unknown_backup_status'
class scaleway_async.webhosting.v1.CheckFreeDomainAvailabilityResponse(is_available: 'bool', free_domain: 'Optional[FreeDomain]' = None, reason: 'Optional[CheckFreeDomainAvailabilityResponseUnavailableReason]' = <CheckFreeDomainAvailabilityResponseUnavailableReason.UNAVAILABLE_REASON_UNKNOWN: 'unavailable_reason_unknown'>)

Bases: object

free_domain: FreeDomain | None = None

The free domain that was checked.

is_available: bool

Whether the free domain is available.

reason: CheckFreeDomainAvailabilityResponseUnavailableReason | None = 'unavailable_reason_unknown'

Reason the domain is unavailable, if applicable.

class scaleway_async.webhosting.v1.CheckFreeDomainAvailabilityResponseUnavailableReason(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNAVAILABLE_REASON_ALREADY_USED = 'unavailable_reason_already_used'
UNAVAILABLE_REASON_CONTAINS_DOTS = 'unavailable_reason_contains_dots'
UNAVAILABLE_REASON_CONTAINS_RESERVED_KEYWORD = 'unavailable_reason_contains_reserved_keyword'
UNAVAILABLE_REASON_INVALID_CHARACTERS = 'unavailable_reason_invalid_characters'
UNAVAILABLE_REASON_STARTS_OR_ENDS_WITH_HYPHEN = 'unavailable_reason_starts_or_ends_with_hyphen'
UNAVAILABLE_REASON_TOO_LONG = 'unavailable_reason_too_long'
UNAVAILABLE_REASON_TOO_SHORT = 'unavailable_reason_too_short'
UNAVAILABLE_REASON_UNKNOWN = 'unavailable_reason_unknown'
class scaleway_async.webhosting.v1.CheckUserOwnsDomainResponse(owns_domain: 'bool')

Bases: object

owns_domain: bool

Indicates whether the specified project owns the domain.

class scaleway_async.webhosting.v1.ControlPanel(name: 'str', available: 'bool', logo_url: 'str', available_languages: 'List[StdLanguageCode]')

Bases: object

available: bool

Define if the control panel type is available to order.

available_languages: List[LanguageCode]

List of available languages for the control panel.

logo_url: str

URL of the control panel’s logo.

name: str

Control panel name.

class scaleway_async.webhosting.v1.ControlPanelApiListControlPanelsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of control panels to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.CreateDatabaseRequestUser(username: 'str', password: 'str')

Bases: object

password: str
username: str
class scaleway_async.webhosting.v1.CreateHostingRequestDomainConfiguration(update_nameservers: 'bool', update_web_record: 'bool', update_mail_record: 'bool', update_all_records: 'bool')

Bases: object

update_all_records: bool
update_mail_record: bool
update_nameservers: bool
update_web_record: bool
class scaleway_async.webhosting.v1.Database(database_name: 'str', users: 'List[str]')

Bases: object

database_name: str

Name of the database.

users: List[str]

List of users who have access to the database.

class scaleway_async.webhosting.v1.DatabaseApiAssignDatabaseUserRequest(hosting_id: 'str', username: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to be assigned.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to assign.

class scaleway_async.webhosting.v1.DatabaseApiChangeDatabaseUserPasswordRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

New password.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to update.

class scaleway_async.webhosting.v1.DatabaseApiCreateDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None, new_user: 'Optional[CreateDatabaseRequestUser]' = None, existing_username: 'Optional[str]' = None)

Bases: object

database_name: str

Name of the database to be created.

existing_username: str | None = None
hosting_id: str

UUID of the hosting plan where the database will be created.

new_user: CreateDatabaseRequestUser | None = None
region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DatabaseApiCreateDatabaseUserRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

Password of the user to create.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to create.

class scaleway_async.webhosting.v1.DatabaseApiDeleteDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to delete.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DatabaseApiDeleteDatabaseUserRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the database user to delete.

class scaleway_async.webhosting.v1.DatabaseApiGetDatabaseRequest(hosting_id: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DatabaseApiGetDatabaseUserRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the database user to retrieve details.

class scaleway_async.webhosting.v1.DatabaseApiListDatabaseUsersRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListDatabaseUsersRequestOrderBy]' = <ListDatabaseUsersRequestOrderBy.USERNAME_ASC: 'username_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListDatabaseUsersRequestOrderBy | None = 'username_asc'

Sort order of database users in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of database users to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DatabaseApiListDatabasesRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListDatabasesRequestOrderBy]' = <ListDatabasesRequestOrderBy.DATABASE_NAME_ASC: 'database_name_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListDatabasesRequestOrderBy | None = 'database_name_asc'

Sort order of databases in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of databases to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DatabaseApiUnassignDatabaseUserRequest(hosting_id: 'str', username: 'str', database_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

database_name: str

Name of the database to be unassigned.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Name of the user to unassign.

class scaleway_async.webhosting.v1.DatabaseUser(username: 'str', databases: 'List[str]')

Bases: object

databases: List[str]

List of databases accessible by the user.

username: str

Name of the database user.

class scaleway_async.webhosting.v1.DnsApiCheckUserOwnsDomainRequest(domain: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain: str

Domain for which ownership is to be verified.

project_id: str | None = None

ID of the project currently in use.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DnsApiGetDomainDnsRecordsRequest(domain: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain associated with the DNS records.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DnsApiGetDomainRequest(domain_name: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain_name: str

Domain name to get.

project_id: str | None = None

ID of the Scaleway Project in which to get the domain to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DnsApiSearchDomainsRequest(domain_name: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None)

Bases: object

domain_name: str

Domain name to search.

project_id: str | None = None

ID of the Scaleway Project in which to search the domain to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.DnsApiSyncDomainDnsRecordsRequest(domain: 'str', region: 'Optional[ScwRegion]' = None, update_web_records: 'Optional[bool]' = False, update_mail_records: 'Optional[bool]' = False, update_all_records: 'Optional[bool]' = False, update_nameservers: 'Optional[bool]' = False, custom_records: 'Optional[List[SyncDomainDnsRecordsRequestRecord]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each types of records.

custom_records: List[SyncDomainDnsRecordsRequestRecord] | None

Custom records to synchronize.

domain: str

Domain for which the DNS records will be synchronized.

region: str | None = None

Region to target. If none is passed will use default region from the config.

update_all_records: bool | None = False

Whether or not to synchronize all types of records. This one has priority (deprecated, use auto_config_domain_dns).

update_mail_records: bool | None = False

Whether or not to synchronize the mail records (deprecated, use auto_config_domain_dns).

update_nameservers: bool | None = False

Whether or not to synchronize domain nameservers (deprecated, use auto_config_domain_dns).

update_web_records: bool | None = False

Whether or not to synchronize the web records (deprecated, use auto_config_domain_dns).

class scaleway_async.webhosting.v1.DnsRecord(name: 'str', type_: 'DnsRecordType', ttl: 'int', value: 'str', status: 'DnsRecordStatus', raw_data: 'str', priority: 'Optional[int]' = 0)

Bases: object

name: str

Record name.

priority: int | None = 0

Record priority level.

raw_data: str

Record representation as it appears in the zone file or DNS management system.

status: DnsRecordStatus

Record status.

ttl: int

Record time-to-live.

type_: DnsRecordType

Record type.

value: str

Record value.

class scaleway_async.webhosting.v1.DnsRecordStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.DnsRecordType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

A = 'a'
AAAA = 'aaaa'
CNAME = 'cname'
MX = 'mx'
NS = 'ns'
TXT = 'txt'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.webhosting.v1.DnsRecords(records: 'List[DnsRecord]', name_servers: 'List[Nameserver]', status: 'DnsRecordsStatus', dns_config: 'Optional[List[DomainDnsAction]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each types of records.

dns_config: List[DomainDnsAction] | None

Records dns auto configuration settings (deprecated, use auto_config_domain_dns).

name_servers: List[Nameserver]

List of nameservers.

records: List[DnsRecord]

List of DNS records.

status: DnsRecordsStatus

Status of the records.

class scaleway_async.webhosting.v1.DnsRecordsStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.Domain(name: 'str', status: 'DomainStatus', owner: 'DomainZoneOwner', zone_domain_name: 'str', available_actions: 'List[DomainAction]', available_dns_actions: 'Optional[List[DomainDnsAction]]' = <factory>, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Whether or not to synchronize each type of record.

available_actions: List[DomainAction]

A list of actions that can be performed on the domain.

available_dns_actions: List[DomainDnsAction] | None

A list of DNS-related actions that can be auto configured for the domain (deprecated, use auto_config_domain_dns instead).

name: str

Name of the domain.

owner: DomainZoneOwner

Zone owner of the domain.

status: DomainStatus

Current status of the domain.

zone_domain_name: str

Main domain for this zone.

class scaleway_async.webhosting.v1.DomainAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MANAGE_EXTERNAL = 'manage_external'
RENEW = 'renew'
TRANSFER = 'transfer'
UNKNOWN_ACTION = 'unknown_action'
class scaleway_async.webhosting.v1.DomainAvailability(name: 'str', zone_name: 'str', status: 'DomainAvailabilityStatus', available_actions: 'List[DomainAvailabilityAction]', can_create_hosting: 'bool', price: 'Optional[Money]' = None)

Bases: object

available_actions: List[DomainAvailabilityAction]

A list of actions that can be performed on the domain.

can_create_hosting: bool

Whether a hosting can be created for this domain.

name: str

Fully qualified domain name (FQDN).

price: Money | None = None

Price for registering the domain.

status: DomainAvailabilityStatus

Availability status of the domain.

zone_name: str

DNS zone associated with the domain.

class scaleway_async.webhosting.v1.DomainAvailabilityAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MANAGE_EXTERNAL = 'manage_external'
REGISTER = 'register'
TRANSFER = 'transfer'
UNKNOWN_ACTION = 'unknown_action'
class scaleway_async.webhosting.v1.DomainAvailabilityStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AVAILABLE = 'available'
ERROR = 'error'
NOT_AVAILABLE = 'not_available'
OWNED = 'owned'
UNKNOWN_STATUS = 'unknown_status'
VALIDATING = 'validating'
class scaleway_async.webhosting.v1.DomainDnsAction(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AUTO_CONFIG_ALL_RECORDS = 'auto_config_all_records'
AUTO_CONFIG_MAIL_RECORDS = 'auto_config_mail_records'
AUTO_CONFIG_NAMESERVERS = 'auto_config_nameservers'
AUTO_CONFIG_NONE = 'auto_config_none'
AUTO_CONFIG_WEB_RECORDS = 'auto_config_web_records'
UNKNOWN_DNS_ACTION = 'unknown_dns_action'
class scaleway_async.webhosting.v1.DomainStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ERROR = 'error'
INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
VALIDATING = 'validating'
class scaleway_async.webhosting.v1.DomainZoneOwner(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXTERNAL = 'external'
ONLINE = 'online'
SCALEWAY = 'scaleway'
UNKNOWN_ZONE_OWNER = 'unknown_zone_owner'
WEBHOSTING = 'webhosting'
class scaleway_async.webhosting.v1.FreeDomain(slug: 'str', root_domain: 'str')

Bases: object

root_domain: str

Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains.

slug: str

Custom prefix used for the free domain.

class scaleway_async.webhosting.v1.FreeDomainApiCheckFreeDomainAvailabilityRequest(slug: 'str', root_domain: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

region: str | None = None

Region to target. If none is passed will use default region from the config.

root_domain: str

Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains.

slug: str

Custom prefix used for the free domain.

class scaleway_async.webhosting.v1.FreeDomainApiListFreeRootDomainsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number to return, from the paginated results (must be a positive integer).

page_size: int | None = 0

Number of free root domains to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.FtpAccount(username: 'str', path: 'str')

Bases: object

path: str

The path associated with the FTP account.

username: str

The username of the FTP account.

class scaleway_async.webhosting.v1.FtpAccountApiChangeFtpAccountPasswordRequest(hosting_id: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

New password for the FTP account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username of the FTP account.

class scaleway_async.webhosting.v1.FtpAccountApiCreateFtpAccountRequest(hosting_id: 'str', username: 'str', path: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

password: str

Password for the new FTP account.

path: str

Path for the new FTP account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username for the new FTP account.

class scaleway_async.webhosting.v1.FtpAccountApiListFtpAccountsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListFtpAccountsRequestOrderBy]' = <ListFtpAccountsRequestOrderBy.USERNAME_ASC: 'username_asc'>, domain: 'Optional[str]' = None)

Bases: object

domain: str | None = None

Domain to filter the FTP accounts.

hosting_id: str

UUID of the hosting plan.

order_by: ListFtpAccountsRequestOrderBy | None = 'username_asc'

Sort order of FTP accounts in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of FTP accounts to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.FtpAccountApiRemoveFtpAccountRequest(hosting_id: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username of the FTP account to be deleted.

class scaleway_async.webhosting.v1.Hosting(id: 'str', project_id: 'str', status: 'HostingStatus', tags: 'List[str]', ipv4: 'str', protected: 'bool', region: 'ScwRegion', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, domain: 'Optional[str]' = None, offer: 'Optional[Offer]' = None, platform: 'Optional[Platform]' = None, dns_status: 'Optional[DnsRecordsStatus]' = <DnsRecordsStatus.UNKNOWN_STATUS: 'unknown_status'>, user: 'Optional[HostingUser]' = None, domain_status: 'Optional[DomainStatus]' = <DomainStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_info: 'Optional[HostingDomain]' = None)

Bases: object

created_at: datetime | None = None

Date on which the Web Hosting plan was created.

dns_status: DnsRecordsStatus | None = 'unknown_status'

DNS status of the Web Hosting plan (deprecated, use domain_info).

domain: str | None = None

Main domain associated with the Web Hosting plan (deprecated, use domain_info).

domain_info: HostingDomain | None = None

Domain configuration block (subdomain, optional custom domain, and DNS settings).

domain_status: DomainStatus | None = 'unknown_status'

Main domain status of the Web Hosting plan (deprecated, use domain_info).

id: str

ID of the Web Hosting plan.

ipv4: str

Current IPv4 address of the hosting.

offer: Offer | None = None

Details of the Web Hosting plan offer and options.

platform: Platform | None = None

Details of the hosting platform.

project_id: str

ID of the Scaleway Project the Web Hosting plan belongs to.

protected: bool

Whether the hosting is protected or not.

region: str

Region where the Web Hosting plan is hosted.

status: HostingStatus

Status of the Web Hosting plan.

tags: List[str]

List of tags associated with the Web Hosting plan.

updated_at: datetime | None = None

Date on which the Web Hosting plan was last updated.

user: HostingUser | None = None

Details of the hosting user.

class scaleway_async.webhosting.v1.HostingApiAddCustomDomainRequest(hosting_id: 'str', domain_name: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain_name: str

The custom domain name to attach to the hosting.

hosting_id: str

Hosting ID to which the custom domain is attached to.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiCreateHostingRequest(offer_id: 'str', email: 'str', domain: 'str', region: 'Optional[ScwRegion]' = None, project_id: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, subdomain: 'Optional[str]' = None, offer_options: 'Optional[List[OfferOptionRequest]]' = <factory>, language: 'Optional[StdLanguageCode]' = <LanguageCode.UNKNOWN_LANGUAGE_CODE: 'unknown_language_code'>, domain_configuration: 'Optional[CreateHostingRequestDomainConfiguration]' = None, skip_welcome_email: 'Optional[bool]' = False, auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_update_* fields instead).

domain: str

Domain name to link to the Web Hosting plan. You must already own this domain name, and have completed the DNS validation process beforehand.

domain_configuration: CreateHostingRequestDomainConfiguration | None = None

Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_config_domain_dns instead).

email: str

Contact email for the Web Hosting client.

language: LanguageCode | None = 'unknown_language_code'

Default language for the control panel interface.

offer_id: str

ID of the selected offer for the Web Hosting plan.

offer_options: List[OfferOptionRequest] | None

List of the Web Hosting plan options IDs with their quantities.

project_id: str | None = None

ID of the Scaleway Project in which to create the Web Hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

skip_welcome_email: bool | None = False

Indicates whether to skip a welcome email to the contact email containing hosting info.

subdomain: str | None = None

The name prefix to use as a free subdomain (for example, mysite) assigned to the Web Hosting plan. The full domain will be automatically created by adding it to the fixed base domain (e.g. mysite.scw.site). You do not need to include the base domain yourself.

tags: List[str] | None

List of tags for the Web Hosting plan.

class scaleway_async.webhosting.v1.HostingApiCreateSessionRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiDeleteHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiGetHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiGetResourceSummaryRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiListHostingsRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListHostingsRequestOrderBy]' = <ListHostingsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, tags: 'Optional[List[str]]' = <factory>, statuses: 'Optional[List[HostingStatus]]' = <factory>, domain: 'Optional[str]' = None, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, control_panels: 'Optional[List[str]]' = <factory>, subdomain: 'Optional[str]' = None)

Bases: object

control_panels: List[str] | None

Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned.

domain: str | None = None

Domain to filter for, only Web Hosting plans associated with this domain will be returned.

order_by: ListHostingsRequestOrderBy | None = 'created_at_asc'

Sort order for Web Hosting plans in the response.

organization_id: str | None = None

Organization ID to filter for, only Web Hosting plans from this Organization will be returned.

page: int | None = 0

Page number to return, from the paginated results (must be a positive integer).

page_size: int | None = 0

Number of Web Hosting plans to return (must be a positive integer lower or equal to 100).

project_id: str | None = None

Project ID to filter for, only Web Hosting plans from this Project will be returned.

region: str | None = None

Region to target. If none is passed will use default region from the config.

statuses: List[HostingStatus] | None

Statuses to filter for, only Web Hosting plans with matching statuses will be returned.

subdomain: str | None = None

Optional free subdomain linked to the Web Hosting plan.

tags: List[str] | None

Tags to filter for, only Web Hosting plans with matching tags will be returned.

class scaleway_async.webhosting.v1.HostingApiRemoveCustomDomainRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

Hosting ID to which the custom domain is detached from.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiResetHostingPasswordRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

hosting_id: str

UUID of the hosting.

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.HostingApiUpdateHostingRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, email: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, offer_options: 'Optional[List[OfferOptionRequest]]' = <factory>, offer_id: 'Optional[str]' = None, protected: 'Optional[bool]' = False)

Bases: object

email: str | None = None

New contact email for the Web Hosting plan.

hosting_id: str

Hosting ID.

offer_id: str | None = None

ID of the new offer for the Web Hosting plan.

offer_options: List[OfferOptionRequest] | None

List of the Web Hosting plan options IDs with their quantities.

protected: bool | None = False

Whether the hosting is protected or not.

region: str | None = None

Region to target. If none is passed will use default region from the config.

tags: List[str] | None

New tags for the Web Hosting plan.

class scaleway_async.webhosting.v1.HostingDomain(subdomain: 'str', custom_domain: 'Optional[HostingDomainCustomDomain]' = None)

Bases: object

custom_domain: HostingDomainCustomDomain | None = None

Optional custom domain linked to the Web Hosting plan.

subdomain: str

Optional free subdomain linked to the Web Hosting plan.

class scaleway_async.webhosting.v1.HostingDomainCustomDomain(domain: 'str', domain_status: 'DomainStatus', dns_status: 'DnsRecordsStatus', auto_config_domain_dns: 'Optional[AutoConfigDomainDns]' = None)

Bases: object

auto_config_domain_dns: AutoConfigDomainDns | None = None

Indicates whether to auto-configure DNS for this domain.

dns_status: DnsRecordsStatus

Status of the DNS configuration for the custom domain.

domain: str

Custom domain linked to the hosting plan.

domain_status: DomainStatus

Status of the custom domain verification.

class scaleway_async.webhosting.v1.HostingStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETING = 'deleting'
DELIVERING = 'delivering'
ERROR = 'error'
LOCKED = 'locked'
MIGRATING = 'migrating'
READY = 'ready'
UNKNOWN_STATUS = 'unknown_status'
UPDATING = 'updating'
class scaleway_async.webhosting.v1.HostingSummary(id: 'str', project_id: 'str', status: 'HostingStatus', protected: 'bool', offer_name: 'str', region: 'ScwRegion', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, domain: 'Optional[str]' = None, dns_status: 'Optional[DnsRecordsStatus]' = <DnsRecordsStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_status: 'Optional[DomainStatus]' = <DomainStatus.UNKNOWN_STATUS: 'unknown_status'>, domain_info: 'Optional[HostingDomain]' = None)

Bases: object

created_at: datetime | None = None

Date on which the Web Hosting plan was created.

dns_status: DnsRecordsStatus | None = 'unknown_status'

DNS status of the Web Hosting plan.

domain: str | None = None

Main domain associated with the Web Hosting plan (deprecated, use domain_info).

domain_info: HostingDomain | None = None

Domain configuration block (subdomain, optional custom domain, and DNS settings).

domain_status: DomainStatus | None = 'unknown_status'

Main domain status of the Web Hosting plan.

id: str

ID of the Web Hosting plan.

offer_name: str

Name of the active offer for the Web Hosting plan.

project_id: str

ID of the Scaleway Project the Web Hosting plan belongs to.

protected: bool

Whether the hosting is protected or not.

region: str

Region where the Web Hosting plan is hosted.

status: HostingStatus

Status of the Web Hosting plan.

updated_at: datetime | None = None

Date on which the Web Hosting plan was last updated.

class scaleway_async.webhosting.v1.HostingUser(username: 'str', contact_email: 'str', one_time_password: 'Optional[str]' = None, one_time_password_b64: 'Optional[str]' = None)

Bases: object

contact_email: str

Contact email used for the hosting.

one_time_password: str | None = None

One-time-password used for the first login to the control panel, cleared after first use (deprecated, use password_b64 instead).

one_time_password_b64: str | None = None

One-time-password used for the first login to the control panel, cleared after first use, encoded in base64.

username: str

Main Web Hosting control panel username.

class scaleway_async.webhosting.v1.ListBackupItemsResponse(total_count: 'int', groups: 'List[BackupItemGroup]')

Bases: object

groups: List[BackupItemGroup]

List of backup item groups categorized by type.

total_count: int

Total number of backup item groups.

class scaleway_async.webhosting.v1.ListBackupsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.webhosting.v1.ListBackupsResponse(total_count: 'int', backups: 'List[Backup]')

Bases: object

backups: List[Backup]

List of available backups.

total_count: int

Total number of available backups.

class scaleway_async.webhosting.v1.ListControlPanelsResponse(total_count: 'int', control_panels: 'List[ControlPanel]')

Bases: object

control_panels: List[ControlPanel]

List of control panels.

total_count: int

Number of control panels returned.

class scaleway_async.webhosting.v1.ListDatabaseUsersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.ListDatabaseUsersResponse(total_count: 'int', users: 'List[DatabaseUser]')

Bases: object

total_count: int

Total number of database users.

users: List[DatabaseUser]

List of database users.

class scaleway_async.webhosting.v1.ListDatabasesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DATABASE_NAME_ASC = 'database_name_asc'
DATABASE_NAME_DESC = 'database_name_desc'
class scaleway_async.webhosting.v1.ListDatabasesResponse(total_count: 'int', databases: 'List[Database]')

Bases: object

databases: List[Database]

List of databases.

total_count: int

Total number of databases.

class scaleway_async.webhosting.v1.ListFreeRootDomainsResponse(root_domains: 'List[str]', total_count: 'int')

Bases: object

root_domains: List[str]

List of free root domains available for the Web Hosting.

total_count: int

Total number of free root domains available.

class scaleway_async.webhosting.v1.ListFtpAccountsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.ListFtpAccountsResponse(total_count: 'int', ftp_accounts: 'List[FtpAccount]')

Bases: object

ftp_accounts: List[FtpAccount]

List of FTP accounts.

total_count: int

Total number of FTP accounts.

class scaleway_async.webhosting.v1.ListHostingsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.webhosting.v1.ListHostingsResponse(total_count: 'int', hostings: 'List[HostingSummary]')

Bases: object

hostings: List[HostingSummary]

List of Web Hosting plans.

total_count: int

Number of Web Hosting plans returned.

class scaleway_async.webhosting.v1.ListMailAccountsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DOMAIN_ASC = 'domain_asc'
DOMAIN_DESC = 'domain_desc'
USERNAME_ASC = 'username_asc'
USERNAME_DESC = 'username_desc'
class scaleway_async.webhosting.v1.ListMailAccountsResponse(total_count: 'int', mail_accounts: 'List[MailAccount]')

Bases: object

mail_accounts: List[MailAccount]

List of mail accounts.

total_count: int

Total number of mail accounts.

class scaleway_async.webhosting.v1.ListOffersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

PRICE_ASC = 'price_asc'
class scaleway_async.webhosting.v1.ListOffersResponse(total_count: 'int', offers: 'List[Offer]')

Bases: object

offers: List[Offer]

List of offers.

total_count: int

Total number of offers.

class scaleway_async.webhosting.v1.ListWebsitesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DOMAIN_ASC = 'domain_asc'
DOMAIN_DESC = 'domain_desc'
class scaleway_async.webhosting.v1.ListWebsitesResponse(total_count: 'int', websites: 'List[Website]')

Bases: object

total_count: int

Total number of websites.

websites: List[Website]

List of websites.

class scaleway_async.webhosting.v1.MailAccount(domain: 'str', username: 'str')

Bases: object

domain: str

Domain part of the mail account address.

username: str

Username part address of the mail account address.

class scaleway_async.webhosting.v1.MailAccountApiChangeMailAccountPasswordRequest(hosting_id: 'str', domain: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

password: str

New password for the mail account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part of the mail account address.

class scaleway_async.webhosting.v1.MailAccountApiCreateMailAccountRequest(hosting_id: 'str', domain: 'str', username: 'str', password: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

password: str

Password for the new mail account.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part address of the mail account address.

class scaleway_async.webhosting.v1.MailAccountApiListMailAccountsRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListMailAccountsRequestOrderBy]' = <ListMailAccountsRequestOrderBy.USERNAME_ASC: 'username_asc'>, domain: 'Optional[str]' = None)

Bases: object

domain: str | None = None

Domain to filter the mail accounts.

hosting_id: str

UUID of the hosting plan.

order_by: ListMailAccountsRequestOrderBy | None = 'username_asc'

Sort order of mail accounts in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of mail accounts to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.MailAccountApiRemoveMailAccountRequest(hosting_id: 'str', domain: 'str', username: 'str', region: 'Optional[ScwRegion]' = None)

Bases: object

domain: str

Domain part of the mail account address.

hosting_id: str

UUID of the hosting plan.

region: str | None = None

Region to target. If none is passed will use default region from the config.

username: str

Username part of the mail account address.

class scaleway_async.webhosting.v1.Nameserver(hostname: 'str', status: 'NameserverStatus', is_default: 'bool')

Bases: object

hostname: str

Hostname of the nameserver.

is_default: bool

Defines whether the nameserver is the default one.

status: NameserverStatus

Status of the nameserver.

class scaleway_async.webhosting.v1.NameserverStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

INVALID = 'invalid'
UNKNOWN_STATUS = 'unknown_status'
VALID = 'valid'
class scaleway_async.webhosting.v1.Offer(id: 'str', name: 'str', billing_operation_path: 'str', options: 'List[OfferOption]', available: 'bool', control_panel_name: 'str', end_of_life: 'bool', quota_warning: 'OfferOptionWarning', price: 'Optional[Money]' = None)

Bases: object

available: bool

If a hosting_id was specified in the call, defines whether the offer is available for a specified hosting plan to migrate (update) to.

billing_operation_path: str

Unique identifier used for billing.

control_panel_name: str

Name of the control panel.

end_of_life: bool

Indicates if the offer has reached its end of life.

id: str

Offer ID.

name: str

Offer name.

options: List[OfferOption]

Options available for the offer.

price: Money | None = None

Price of the offer.

quota_warning: OfferOptionWarning

Defines a warning if the maximum value for an option in the offer is exceeded.

class scaleway_async.webhosting.v1.OfferApiListOffersRequest(region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListOffersRequestOrderBy]' = <ListOffersRequestOrderBy.PRICE_ASC: 'price_asc'>, hosting_id: 'Optional[str]' = None, control_panels: 'Optional[List[str]]' = <factory>)

Bases: object

control_panels: List[str] | None

Name of the control panel(s) to filter for.

hosting_id: str | None = None

UUID of the hosting plan.

order_by: ListOffersRequestOrderBy | None = 'price_asc'

Sort order for Web Hosting offers in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of websites to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.

class scaleway_async.webhosting.v1.OfferOption(id: 'str', name: 'OfferOptionName', billing_operation_path: 'str', min_value: 'int', current_value: 'int', max_value: 'int', quota_warning: 'OfferOptionWarning', price: 'Optional[Money]' = None)

Bases: object

billing_operation_path: str

Unique identifier used for billing.

current_value: int

If a hosting_id was specified in the call, defines the current value of the option in the hosting.

id: str

Option ID.

max_value: int

Maximum value for the option in the offer.

min_value: int

Minimum value for the option in the offer.

name: OfferOptionName

Name of the option.

price: Money | None = None

Price of the option for 1 value.

quota_warning: OfferOptionWarning

Defines a warning if the maximum value for the option has been reached.

class scaleway_async.webhosting.v1.OfferOptionName(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BACKUP = 'backup'
DATABASE_COUNT = 'database_count'
DEDICATED_IP = 'dedicated_ip'
DOMAIN_COUNT = 'domain_count'
EMAIL_COUNT = 'email_count'
EMAIL_STORAGE_GB = 'email_storage_gb'
RAM_GB = 'ram_gb'
STORAGE_GB = 'storage_gb'
SUPPORT = 'support'
UNKNOWN_NAME = 'unknown_name'
VCPU_COUNT = 'vcpu_count'
class scaleway_async.webhosting.v1.OfferOptionRequest(id: 'str', quantity: 'int')

Bases: object

id: str

Offer option ID.

quantity: int

The option requested quantity to set for the Web Hosting plan.

class scaleway_async.webhosting.v1.OfferOptionWarning(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

QUOTA_EXCEEDED_WARNING = 'quota_exceeded_warning'
UNKNOWN_WARNING = 'unknown_warning'
USAGE_LOW_WARNING = 'usage_low_warning'
class scaleway_async.webhosting.v1.Platform(hostname: 'str', number: 'int', group_name: 'PlatformPlatformGroup', ipv4: 'str', ipv6: 'str', control_panel: 'Optional[PlatformControlPanel]' = None)

Bases: object

control_panel: PlatformControlPanel | None = None

Details of the platform control panel.

group_name: PlatformPlatformGroup

Group name of the hosting’s host platform.

hostname: str

Hostname of the host platform.

ipv4: str

IPv4 address of the hosting’s host platform.

ipv6: str

IPv6 address of the hosting’s host platform.

number: int

Number of the host platform.

class scaleway_async.webhosting.v1.PlatformControlPanel(name: 'str', urls: 'Optional[PlatformControlPanelUrls]' = None)

Bases: object

name: str

Name of the control panel.

urls: PlatformControlPanelUrls | None = None

URL to connect to control panel dashboard and to Webmail interface.

class scaleway_async.webhosting.v1.PlatformControlPanelUrls(dashboard: 'str', webmail: 'str')

Bases: object

dashboard: str

URL to connect to the hosting control panel dashboard.

webmail: str

URL to connect to the hosting Webmail interface.

class scaleway_async.webhosting.v1.PlatformPlatformGroup(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DEFAULT = 'default'
PREMIUM = 'premium'
UNKNOWN_GROUP = 'unknown_group'
class scaleway_async.webhosting.v1.ResetHostingPasswordResponse(one_time_password_b64: 'str', one_time_password: 'Optional[str]' = None)

Bases: object

one_time_password: str | None = None

New temporary password (deprecated, use password_b64 instead).

one_time_password_b64: str

New temporary password, encoded in base64.

class scaleway_async.webhosting.v1.ResourceSummary(databases_count: 'int', mail_accounts_count: 'int', ftp_accounts_count: 'int', websites_count: 'int')

Bases: object

databases_count: int

Total number of active databases in the Web Hosting plan.

ftp_accounts_count: int

Total number of active FTP accounts in the Web Hosting plan.

mail_accounts_count: int

Total number of active email accounts in the Web Hosting plan.

websites_count: int

Total number of active domains in the Web Hosting plan.

class scaleway_async.webhosting.v1.RestoreBackupItemsResponse

Bases: object

class scaleway_async.webhosting.v1.RestoreBackupResponse

Bases: object

class scaleway_async.webhosting.v1.SearchDomainsResponse(domains_available: 'List[DomainAvailability]')

Bases: object

domains_available: List[DomainAvailability]

List of domains availability.

class scaleway_async.webhosting.v1.Session(url: 'str')

Bases: object

url: str

Logged user’s session URL.

class scaleway_async.webhosting.v1.SyncDomainDnsRecordsRequestRecord(name: 'str', type_: 'DnsRecordType')

Bases: object

name: str
type_: DnsRecordType
class scaleway_async.webhosting.v1.WebhostingV1BackupAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to list and restore backups for your cPanel and WordPress Web Hosting service.

async get_backup(*, hosting_id: str, backup_id: str, region: str | None = None) Backup

Get info about a backup specified by the backup ID. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to retrieve. :param region: Region to target. If none is passed will use default region from the config. :return: Backup

Usage:

result = await api.get_backup(
    hosting_id="example",
    backup_id="example",
)
async list_backup_items(*, hosting_id: str, backup_id: str, region: str | None = None) ListBackupItemsResponse

List items within a specific backup, grouped by type. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to list items from. :param region: Region to target. If none is passed will use default region from the config. :return: ListBackupItemsResponse

Usage:

result = await api.list_backup_items(
    hosting_id="example",
    backup_id="example",
)
async list_backups(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListBackupsRequestOrderBy | None = None) ListBackupsResponse

List all available backups for a hosting account. :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to retrieve. :param page_size: Number of backups to return per page. :param order_by: Order in which to return the list of backups. :return: ListBackupsResponse

Usage:

result = await api.list_backups(
    hosting_id="example",
)
async list_backups_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListBackupsRequestOrderBy | None = None) List[Backup]

List all available backups for a hosting account. :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to retrieve. :param page_size: Number of backups to return per page. :param order_by: Order in which to return the list of backups. :return: List[Backup]

Usage:

result = await api.list_backups_all(
    hosting_id="example",
)
async restore_backup(*, hosting_id: str, backup_id: str, region: str | None = None) RestoreBackupResponse

Restore an entire backup to your hosting environment. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to fully restore. :param region: Region to target. If none is passed will use default region from the config. :return: RestoreBackupResponse

Usage:

result = await api.restore_backup(
    hosting_id="example",
    backup_id="example",
)
async restore_backup_items(*, hosting_id: str, region: str | None = None, item_ids: List[str] | None = None) RestoreBackupItemsResponse

Restore specific items from a backup (e.g., a database or mailbox). :param hosting_id: UUID of the hosting account. :param region: Region to target. If none is passed will use default region from the config. :param item_ids: List of backup item IDs to restore individually. :return: RestoreBackupItemsResponse

Usage:

result = await api.restore_backup_items(
    hosting_id="example",
)
async wait_for_backup(*, hosting_id: str, backup_id: str, region: str | None = None, options: WaitForOptions[Backup, bool | Awaitable[bool]] | None = None) Backup

Get info about a backup specified by the backup ID. :param hosting_id: UUID of the hosting account. :param backup_id: ID of the backup to retrieve. :param region: Region to target. If none is passed will use default region from the config. :return: Backup

Usage:

result = await api.get_backup(
    hosting_id="example",
    backup_id="example",
)
class scaleway_async.webhosting.v1.WebhostingV1ControlPanelAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async list_control_panels(*, region: str | None = None, page: int | None = None, page_size: int | None = None) ListControlPanelsResponse

“List the control panels type: cpanel or plesk.”. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of control panels to return (must be a positive integer lower or equal to 100). :return: ListControlPanelsResponse

Usage:

result = await api.list_control_panels()
async list_control_panels_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None) List[ControlPanel]

“List the control panels type: cpanel or plesk.”. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of control panels to return (must be a positive integer lower or equal to 100). :return: List[ControlPanel]

Usage:

result = await api.list_control_panels_all()
class scaleway_async.webhosting.v1.WebhostingV1DatabaseAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your databases and database users for your Web Hosting services.

async assign_database_user(*, hosting_id: str, username: str, database_name: str, region: str | None = None) DatabaseUser

“Assign a database user to a database”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to assign. :param database_name: Name of the database to be assigned. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.assign_database_user(
    hosting_id="example",
    username="example",
    database_name="example",
)
async change_database_user_password(*, hosting_id: str, username: str, password: str, region: str | None = None) DatabaseUser

“Change the password of a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to update. :param password: New password. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.change_database_user_password(
    hosting_id="example",
    username="example",
    password="example",
)
async create_database(*, hosting_id: str, database_name: str, region: str | None = None, new_user: CreateDatabaseRequestUser | None = None, existing_username: str | None = None) Database

“Create a new database within your hosting plan”. :param hosting_id: UUID of the hosting plan where the database will be created. :param database_name: Name of the database to be created. :param region: Region to target. If none is passed will use default region from the config. :param new_user: (Optional) Username and password to create a user and link to the database. One-Of (‘user’): at most one of ‘new_user’, ‘existing_username’ could be set. :param existing_username: (Optional) Username to link an existing user to the database. One-Of (‘user’): at most one of ‘new_user’, ‘existing_username’ could be set. :return: Database

Usage:

result = await api.create_database(
    hosting_id="example",
    database_name="example",
)
async create_database_user(*, hosting_id: str, username: str, password: str, region: str | None = None) DatabaseUser

“Create a new database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to create. :param password: Password of the user to create. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.create_database_user(
    hosting_id="example",
    username="example",
    password="example",
)
async delete_database(*, hosting_id: str, database_name: str, region: str | None = None) Database

“Delete a database within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param database_name: Name of the database to delete. :param region: Region to target. If none is passed will use default region from the config. :return: Database

Usage:

result = await api.delete_database(
    hosting_id="example",
    database_name="example",
)
async delete_database_user(*, hosting_id: str, username: str, region: str | None = None) DatabaseUser

“Delete a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the database user to delete. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.delete_database_user(
    hosting_id="example",
    username="example",
)
async get_database(*, hosting_id: str, database_name: str, region: str | None = None) Database

“Get details of a database within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param database_name: Name of the database. :param region: Region to target. If none is passed will use default region from the config. :return: Database

Usage:

result = await api.get_database(
    hosting_id="example",
    database_name="example",
)
async get_database_user(*, hosting_id: str, username: str, region: str | None = None) DatabaseUser

“Get details of a database user”. :param hosting_id: UUID of the hosting plan. :param username: Name of the database user to retrieve details. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.get_database_user(
    hosting_id="example",
    username="example",
)
async list_database_users(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabaseUsersRequestOrderBy | None = None) ListDatabaseUsersResponse

“List all database users”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of database users to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of database users in the response. :return: ListDatabaseUsersResponse

Usage:

result = await api.list_database_users(
    hosting_id="example",
)
async list_database_users_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabaseUsersRequestOrderBy | None = None) List[DatabaseUser]

“List all database users”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of database users to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of database users in the response. :return: List[DatabaseUser]

Usage:

result = await api.list_database_users_all(
    hosting_id="example",
)
async list_databases(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabasesRequestOrderBy | None = None) ListDatabasesResponse

“List all databases within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of databases to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of databases in the response. :return: ListDatabasesResponse

Usage:

result = await api.list_databases(
    hosting_id="example",
)
async list_databases_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListDatabasesRequestOrderBy | None = None) List[Database]

“List all databases within your hosting plan”. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of databases to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of databases in the response. :return: List[Database]

Usage:

result = await api.list_databases_all(
    hosting_id="example",
)
async unassign_database_user(*, hosting_id: str, username: str, database_name: str, region: str | None = None) DatabaseUser

“Unassign a database user from a database”. :param hosting_id: UUID of the hosting plan. :param username: Name of the user to unassign. :param database_name: Name of the database to be unassigned. :param region: Region to target. If none is passed will use default region from the config. :return: DatabaseUser

Usage:

result = await api.unassign_database_user(
    hosting_id="example",
    username="example",
    database_name="example",
)
class scaleway_async.webhosting.v1.WebhostingV1DnsAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async check_user_owns_domain(*, domain: str, region: str | None = None, project_id: str | None = None) CheckUserOwnsDomainResponse

Check whether you own this domain or not. :param domain: Domain for which ownership is to be verified. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the project currently in use. :return: CheckUserOwnsDomainResponse :deprecated

Usage:

result = await api.check_user_owns_domain(
    domain="example",
)
async get_domain(*, domain_name: str, region: str | None = None, project_id: str | None = None) Domain

Retrieve detailed information about a specific domain, including its status, DNS configuration, and ownership. :param domain_name: Domain name to get. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to get the domain to create the Web Hosting plan. :return: Domain

Usage:

result = await api.get_domain(
    domain_name="example",
)
async get_domain_dns_records(*, domain: str, region: str | None = None) DnsRecords

Get DNS records. Get the set of DNS records of a specified domain associated with a Web Hosting plan’s domain. :param domain: Domain associated with the DNS records. :param region: Region to target. If none is passed will use default region from the config. :return: DnsRecords

Usage:

result = await api.get_domain_dns_records(
    domain="example",
)
async search_domains(*, domain_name: str, region: str | None = None, project_id: str | None = None) SearchDomainsResponse

Search for available domains based on domain name. :param domain_name: Domain name to search. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to search the domain to create the Web Hosting plan. :return: SearchDomainsResponse

Usage:

result = await api.search_domains(
    domain_name="example",
)
async sync_domain_dns_records(*, domain: str, region: str | None = None, update_web_records: bool | None = None, update_mail_records: bool | None = None, update_all_records: bool | None = None, update_nameservers: bool | None = None, custom_records: List[SyncDomainDnsRecordsRequestRecord] | None = None, auto_config_domain_dns: AutoConfigDomainDns | None = None) DnsRecords

Synchronize your DNS records on the Elements Console and on cPanel. :param domain: Domain for which the DNS records will be synchronized. :param region: Region to target. If none is passed will use default region from the config. :param update_web_records: Whether or not to synchronize the web records (deprecated, use auto_config_domain_dns). :param update_mail_records: Whether or not to synchronize the mail records (deprecated, use auto_config_domain_dns). :param update_all_records: Whether or not to synchronize all types of records. This one has priority (deprecated, use auto_config_domain_dns). :param update_nameservers: Whether or not to synchronize domain nameservers (deprecated, use auto_config_domain_dns). :param custom_records: Custom records to synchronize. :param auto_config_domain_dns: Whether or not to synchronize each types of records. :return: DnsRecords

Usage:

result = await api.sync_domain_dns_records(
    domain="example",
)
async wait_for_domain(*, domain_name: str, region: str | None = None, project_id: str | None = None, options: WaitForOptions[Domain, bool | Awaitable[bool]] | None = None) Domain

Retrieve detailed information about a specific domain, including its status, DNS configuration, and ownership. :param domain_name: Domain name to get. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to get the domain to create the Web Hosting plan. :return: Domain

Usage:

result = await api.get_domain(
    domain_name="example",
)
class scaleway_async.webhosting.v1.WebhostingV1FreeDomainAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to list and check a free domain’s validity.

async check_free_domain_availability(*, slug: str, root_domain: str, region: str | None = None) CheckFreeDomainAvailabilityResponse

Check whether a given slug and free domain combination is available. :param slug: Custom prefix used for the free domain. :param root_domain: Free root domain provided by Web Hosting, selected from the list returned by ListFreeRootDomains. :param region: Region to target. If none is passed will use default region from the config. :return: CheckFreeDomainAvailabilityResponse

Usage:

result = await api.check_free_domain_availability(
    slug="example",
    root_domain="example",
)
async list_free_root_domains(*, region: str | None = None, page: int | None = None, page_size: int | None = None) ListFreeRootDomainsResponse

Retrieve the list of free root domains available for a Web Hosting. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of free root domains to return (must be a positive integer lower or equal to 100). :return: ListFreeRootDomainsResponse

Usage:

result = await api.list_free_root_domains()
async list_free_root_domains_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None) List[str]

Retrieve the list of free root domains available for a Web Hosting. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of free root domains to return (must be a positive integer lower or equal to 100). :return: List[str]

Usage:

result = await api.list_free_root_domains_all()
class scaleway_async.webhosting.v1.WebhostingV1FtpAccountAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your FTP accounts for your Web Hosting services.

async change_ftp_account_password(*, hosting_id: str, username: str, password: str, region: str | None = None) FtpAccount
Parameters:
  • hosting_id – UUID of the hosting plan.

  • username – Username of the FTP account.

  • password – New password for the FTP account.

  • region – Region to target. If none is passed will use default region from the config.

Returns:

FtpAccount

Usage:

result = await api.change_ftp_account_password(
    hosting_id="example",
    username="example",
    password="example",
)
async create_ftp_account(*, hosting_id: str, username: str, path: str, password: str, region: str | None = None) FtpAccount

Create a new FTP account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param username: Username for the new FTP account. :param path: Path for the new FTP account. :param password: Password for the new FTP account. :param region: Region to target. If none is passed will use default region from the config. :return: FtpAccount

Usage:

result = await api.create_ftp_account(
    hosting_id="example",
    username="example",
    path="example",
    password="example",
)
async list_ftp_accounts(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListFtpAccountsRequestOrderBy | None = None, domain: str | None = None) ListFtpAccountsResponse

List all FTP accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of FTP accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of FTP accounts in the response. :param domain: Domain to filter the FTP accounts. :return: ListFtpAccountsResponse

Usage:

result = await api.list_ftp_accounts(
    hosting_id="example",
)
async list_ftp_accounts_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListFtpAccountsRequestOrderBy | None = None, domain: str | None = None) List[FtpAccount]

List all FTP accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of FTP accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of FTP accounts in the response. :param domain: Domain to filter the FTP accounts. :return: List[FtpAccount]

Usage:

result = await api.list_ftp_accounts_all(
    hosting_id="example",
)
async remove_ftp_account(*, hosting_id: str, username: str, region: str | None = None) FtpAccount

Delete a specific FTP account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param username: Username of the FTP account to be deleted. :param region: Region to target. If none is passed will use default region from the config. :return: FtpAccount

Usage:

result = await api.remove_ftp_account(
    hosting_id="example",
    username="example",
)
class scaleway_async.webhosting.v1.WebhostingV1HostingAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Web Hosting services.

async add_custom_domain(*, hosting_id: str, domain_name: str, region: str | None = None) HostingSummary

Attach a custom domain to a webhosting. :param hosting_id: Hosting ID to which the custom domain is attached to. :param domain_name: The custom domain name to attach to the hosting. :param region: Region to target. If none is passed will use default region from the config. :return: HostingSummary

Usage:

result = await api.add_custom_domain(
    hosting_id="example",
    domain_name="example",
)
async create_hosting(*, offer_id: str, email: str, domain: str, region: str | None = None, project_id: str | None = None, tags: List[str] | None = None, subdomain: str | None = None, offer_options: List[OfferOptionRequest] | None = None, language: LanguageCode | None = None, domain_configuration: CreateHostingRequestDomainConfiguration | None = None, skip_welcome_email: bool | None = None, auto_config_domain_dns: AutoConfigDomainDns | None = None) Hosting

Order a Web Hosting plan. Order a Web Hosting plan, specifying the offer type required via the offer_id parameter. :param offer_id: ID of the selected offer for the Web Hosting plan. :param email: Contact email for the Web Hosting client. :param domain: Domain name to link to the Web Hosting plan. You must already own this domain name, and have completed the DNS validation process beforehand. :param region: Region to target. If none is passed will use default region from the config. :param project_id: ID of the Scaleway Project in which to create the Web Hosting plan. :param tags: List of tags for the Web Hosting plan. :param subdomain: The name prefix to use as a free subdomain (for example, mysite) assigned to the Web Hosting plan. The full domain will be automatically created by adding it to the fixed base domain (e.g. mysite.scw.site). You do not need to include the base domain yourself. :param offer_options: List of the Web Hosting plan options IDs with their quantities. :param language: Default language for the control panel interface. :param domain_configuration: Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_config_domain_dns instead). :param skip_welcome_email: Indicates whether to skip a welcome email to the contact email containing hosting info. :param auto_config_domain_dns: Indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_update_* fields instead). :return: Hosting

Usage:

result = await api.create_hosting(
    offer_id="example",
    email="example",
    domain="example",
)
async create_session(*, hosting_id: str, region: str | None = None) Session

Create a user session. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Session

Usage:

result = await api.create_session(
    hosting_id="example",
)
async delete_hosting(*, hosting_id: str, region: str | None = None) Hosting

Delete a Web Hosting plan. Delete a Web Hosting plan, specified by its hosting_id. Note that deletion is not immediate: it will take place at the end of the calendar month, after which time your Web Hosting plan and all its data (files and emails) will be irreversibly lost. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.delete_hosting(
    hosting_id="example",
)
async get_hosting(*, hosting_id: str, region: str | None = None) Hosting

Get a Web Hosting plan. Get the details of one of your existing Web Hosting plans, specified by its hosting_id. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.get_hosting(
    hosting_id="example",
)
async get_resource_summary(*, hosting_id: str, region: str | None = None) ResourceSummary

Get the total counts of websites, databases, email accounts, and FTP accounts of a Web Hosting plan. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: ResourceSummary

Usage:

result = await api.get_resource_summary(
    hosting_id="example",
)
async list_hostings(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListHostingsRequestOrderBy | None = None, tags: List[str] | None = None, statuses: List[HostingStatus] | None = None, domain: str | None = None, project_id: str | None = None, organization_id: str | None = None, control_panels: List[str] | None = None, subdomain: str | None = None) ListHostingsResponse

List all Web Hosting plans. List all of your existing Web Hosting plans. Various filters are available to limit the results, including filtering by domain, status, tag and Project ID. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of Web Hosting plans to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting plans in the response. :param tags: Tags to filter for, only Web Hosting plans with matching tags will be returned. :param statuses: Statuses to filter for, only Web Hosting plans with matching statuses will be returned. :param domain: Domain to filter for, only Web Hosting plans associated with this domain will be returned. :param project_id: Project ID to filter for, only Web Hosting plans from this Project will be returned. :param organization_id: Organization ID to filter for, only Web Hosting plans from this Organization will be returned. :param control_panels: Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned. :param subdomain: Optional free subdomain linked to the Web Hosting plan. :return: ListHostingsResponse

Usage:

result = await api.list_hostings()
async list_hostings_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListHostingsRequestOrderBy | None = None, tags: List[str] | None = None, statuses: List[HostingStatus] | None = None, domain: str | None = None, project_id: str | None = None, organization_id: str | None = None, control_panels: List[str] | None = None, subdomain: str | None = None) List[HostingSummary]

List all Web Hosting plans. List all of your existing Web Hosting plans. Various filters are available to limit the results, including filtering by domain, status, tag and Project ID. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results (must be a positive integer). :param page_size: Number of Web Hosting plans to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting plans in the response. :param tags: Tags to filter for, only Web Hosting plans with matching tags will be returned. :param statuses: Statuses to filter for, only Web Hosting plans with matching statuses will be returned. :param domain: Domain to filter for, only Web Hosting plans associated with this domain will be returned. :param project_id: Project ID to filter for, only Web Hosting plans from this Project will be returned. :param organization_id: Organization ID to filter for, only Web Hosting plans from this Organization will be returned. :param control_panels: Name of the control panel to filter for, only Web Hosting plans from this control panel will be returned. :param subdomain: Optional free subdomain linked to the Web Hosting plan. :return: List[HostingSummary]

Usage:

result = await api.list_hostings_all()
async remove_custom_domain(*, hosting_id: str, region: str | None = None) HostingSummary

Detach a custom domain from a webhosting. :param hosting_id: Hosting ID to which the custom domain is detached from. :param region: Region to target. If none is passed will use default region from the config. :return: HostingSummary

Usage:

result = await api.remove_custom_domain(
    hosting_id="example",
)
async reset_hosting_password(*, hosting_id: str, region: str | None = None) ResetHostingPasswordResponse

Reset a Web Hosting plan password. :param hosting_id: UUID of the hosting. :param region: Region to target. If none is passed will use default region from the config. :return: ResetHostingPasswordResponse

Usage:

result = await api.reset_hosting_password(
    hosting_id="example",
)
async update_hosting(*, hosting_id: str, region: str | None = None, email: str | None = None, tags: List[str] | None = None, offer_options: List[OfferOptionRequest] | None = None, offer_id: str | None = None, protected: bool | None = None) Hosting

Update a Web Hosting plan. Update the details of one of your existing Web Hosting plans, specified by its hosting_id. You can update parameters including the contact email address, tags, options and offer. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :param email: New contact email for the Web Hosting plan. :param tags: New tags for the Web Hosting plan. :param offer_options: List of the Web Hosting plan options IDs with their quantities. :param offer_id: ID of the new offer for the Web Hosting plan. :param protected: Whether the hosting is protected or not. :return: Hosting

Usage:

result = await api.update_hosting(
    hosting_id="example",
)
async wait_for_hosting(*, hosting_id: str, region: str | None = None, options: WaitForOptions[Hosting, bool | Awaitable[bool]] | None = None) Hosting

Get a Web Hosting plan. Get the details of one of your existing Web Hosting plans, specified by its hosting_id. :param hosting_id: Hosting ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hosting

Usage:

result = await api.get_hosting(
    hosting_id="example",
)
class scaleway_async.webhosting.v1.WebhostingV1MailAccountAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your mail accounts for your Web Hosting services.

async change_mail_account_password(*, hosting_id: str, domain: str, username: str, password: str, region: str | None = None) MailAccount

Update the password of a mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part of the mail account address. :param password: New password for the mail account. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.change_mail_account_password(
    hosting_id="example",
    domain="example",
    username="example",
    password="example",
)
async create_mail_account(*, hosting_id: str, domain: str, username: str, password: str, region: str | None = None) MailAccount

Create a new mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part address of the mail account address. :param password: Password for the new mail account. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.create_mail_account(
    hosting_id="example",
    domain="example",
    username="example",
    password="example",
)
async list_mail_accounts(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListMailAccountsRequestOrderBy | None = None, domain: str | None = None) ListMailAccountsResponse

List all mail accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of mail accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of mail accounts in the response. :param domain: Domain to filter the mail accounts. :return: ListMailAccountsResponse

Usage:

result = await api.list_mail_accounts(
    hosting_id="example",
)
async list_mail_accounts_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListMailAccountsRequestOrderBy | None = None, domain: str | None = None) List[MailAccount]

List all mail accounts within your hosting plan. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of mail accounts to return (must be a positive integer lower or equal to 100). :param order_by: Sort order of mail accounts in the response. :param domain: Domain to filter the mail accounts. :return: List[MailAccount]

Usage:

result = await api.list_mail_accounts_all(
    hosting_id="example",
)
async remove_mail_account(*, hosting_id: str, domain: str, username: str, region: str | None = None) MailAccount

Delete a mail account within your hosting plan. :param hosting_id: UUID of the hosting plan. :param domain: Domain part of the mail account address. :param username: Username part of the mail account address. :param region: Region to target. If none is passed will use default region from the config. :return: MailAccount

Usage:

result = await api.remove_mail_account(
    hosting_id="example",
    domain="example",
    username="example",
)
class scaleway_async.webhosting.v1.WebhostingV1OfferAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your offer for your Web Hosting services.

async list_offers(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListOffersRequestOrderBy | None = None, hosting_id: str | None = None, control_panels: List[str] | None = None) ListOffersResponse

List all available hosting offers along with their specific options. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting offers in the response. :param hosting_id: UUID of the hosting plan. :param control_panels: Name of the control panel(s) to filter for. :return: ListOffersResponse

Usage:

result = await api.list_offers()
async list_offers_all(*, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListOffersRequestOrderBy | None = None, hosting_id: str | None = None, control_panels: List[str] | None = None) List[Offer]

List all available hosting offers along with their specific options. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting offers in the response. :param hosting_id: UUID of the hosting plan. :param control_panels: Name of the control panel(s) to filter for. :return: List[Offer]

Usage:

result = await api.list_offers_all()
class scaleway_async.webhosting.v1.WebhostingV1WebsiteAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your websites for your Web Hosting services.

async list_websites(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListWebsitesRequestOrderBy | None = None) ListWebsitesResponse

List all websites for a specific hosting. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting websites in the response. :return: ListWebsitesResponse

Usage:

result = await api.list_websites(
    hosting_id="example",
)
async list_websites_all(*, hosting_id: str, region: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListWebsitesRequestOrderBy | None = None) List[Website]

List all websites for a specific hosting. :param hosting_id: UUID of the hosting plan. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number (must be a positive integer). :param page_size: Number of websites to return (must be a positive integer lower or equal to 100). :param order_by: Sort order for Web Hosting websites in the response. :return: List[Website]

Usage:

result = await api.list_websites_all(
    hosting_id="example",
)
class scaleway_async.webhosting.v1.Website(domain: 'str', path: 'str', ssl_status: 'bool')

Bases: object

domain: str

The domain of the website.

path: str

The directory path of the website.

ssl_status: bool

The SSL status of the website.

class scaleway_async.webhosting.v1.WebsiteApiListWebsitesRequest(hosting_id: 'str', region: 'Optional[ScwRegion]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListWebsitesRequestOrderBy]' = <ListWebsitesRequestOrderBy.DOMAIN_ASC: 'domain_asc'>)

Bases: object

hosting_id: str

UUID of the hosting plan.

order_by: ListWebsitesRequestOrderBy | None = 'domain_asc'

Sort order for Web Hosting websites in the response.

page: int | None = 0

Page number (must be a positive integer).

page_size: int | None = 0

Number of websites to return (must be a positive integer lower or equal to 100).

region: str | None = None

Region to target. If none is passed will use default region from the config.