webhosting

package
v1.0.0-beta.35 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package webhosting provides methods and message types of the webhosting v1 API.

Index

Constants

View Source
const (
	// Default type returned when the backup item type is not specified.
	BackupItemTypeUnknownBackupItemType = BackupItemType("unknown_backup_item_type")
	// Complete system backup.
	BackupItemTypeFull = BackupItemType("full")
	// Backup item containing website-related files.
	BackupItemTypeWeb = BackupItemType("web")
	// Backup item for mail service data.
	BackupItemTypeMail = BackupItemType("mail")
	// Backup item for databases.
	BackupItemTypeDb = BackupItemType("db")
	// Backup item for database user accounts.
	BackupItemTypeDbUser = BackupItemType("db_user")
	// Backup item for FTP user accounts.
	BackupItemTypeFtpUser = BackupItemType("ftp_user")
	// Backup item for DNS zone configurations.
	BackupItemTypeDNSZone = BackupItemType("dns_zone")
	// Backup item for scheduled cron jobs.
	BackupItemTypeCronJob = BackupItemType("cron_job")
	// Backup item for SSL certificates.
	BackupItemTypeSslCertificate = BackupItemType("ssl_certificate")
)
View Source
const (
	// Default status returned when the backup status is not specified.
	BackupStatusUnknownBackupStatus = BackupStatus("unknown_backup_status")
	// Backup is active and available.
	BackupStatusActive = BackupStatus("active")
	// Backup is locked and cannot be changed.
	BackupStatusLocked = BackupStatus("locked")
	// Backup is currently disabled.
	BackupStatusDisabled = BackupStatus("disabled")
	// Backup is incomplete, damaged, or corrupted.
	BackupStatusDamaged = BackupStatus("damaged")
	// Backup is being restored.
	BackupStatusRestoring = BackupStatus("restoring")
)
View Source
const (
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonUnknown                 = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_unknown")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonAlreadyUsed             = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_already_used")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonTooShort                = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_too_short")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonTooLong                 = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_too_long")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonInvalidCharacters       = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_invalid_characters")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonStartsOrEndsWithHyphen  = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_starts_or_ends_with_hyphen")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonContainsDots            = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_contains_dots")
	CheckFreeDomainAvailabilityResponseUnavailableReasonUnavailableReasonContainsReservedKeyword = CheckFreeDomainAvailabilityResponseUnavailableReason("unavailable_reason_contains_reserved_keyword")
)
View Source
const (
	DNSRecordStatusUnknownStatus = DNSRecordStatus("unknown_status")
	DNSRecordStatusValid         = DNSRecordStatus("valid")
	DNSRecordStatusInvalid       = DNSRecordStatus("invalid")
)
View Source
const (
	DNSRecordTypeUnknownType = DNSRecordType("unknown_type")
	DNSRecordTypeA           = DNSRecordType("a")
	DNSRecordTypeCname       = DNSRecordType("cname")
	DNSRecordTypeMx          = DNSRecordType("mx")
	DNSRecordTypeTxt         = DNSRecordType("txt")
	DNSRecordTypeNs          = DNSRecordType("ns")
	DNSRecordTypeAaaa        = DNSRecordType("aaaa")
)
View Source
const (
	DNSRecordsStatusUnknownStatus = DNSRecordsStatus("unknown_status")
	DNSRecordsStatusValid         = DNSRecordsStatus("valid")
	DNSRecordsStatusInvalid       = DNSRecordsStatus("invalid")
)
View Source
const (
	// Unknown action.
	DomainActionUnknownAction = DomainAction("unknown_action")
	// Action to transfer the domain to Scaleway.
	DomainActionTransfer = DomainAction("transfer")
	// Action to manage domain zone at Scaleway.
	DomainActionManageExternal = DomainAction("manage_external")
	// Action to renew the domain's registration.
	DomainActionRenew = DomainAction("renew")
)
View Source
const (
	// Unknown action.
	DomainAvailabilityActionUnknownAction = DomainAvailabilityAction("unknown_action")
	// Action to register the domain at Scaleway.
	DomainAvailabilityActionRegister = DomainAvailabilityAction("register")
	// Action to transfer the domain from another registrar to Scaleway.
	DomainAvailabilityActionTransfer = DomainAvailabilityAction("transfer")
	// Action to manage the domain as an external domain at Scaleway.
	DomainAvailabilityActionManageExternal = DomainAvailabilityAction("manage_external")
)
View Source
const (
	// The status of the domain is unknown.
	DomainAvailabilityStatusUnknownStatus = DomainAvailabilityStatus("unknown_status")
	// The domain is available for registration.
	DomainAvailabilityStatusAvailable = DomainAvailabilityStatus("available")
	// The domain is not available for registration.
	DomainAvailabilityStatusNotAvailable = DomainAvailabilityStatus("not_available")
	// The domain is already owned by the user.
	DomainAvailabilityStatusOwned = DomainAvailabilityStatus("owned")
	// The domain is being validated.
	DomainAvailabilityStatusValidating = DomainAvailabilityStatus("validating")
	// The domain is in an error status, it should be checked in Domain&DNS.
	DomainAvailabilityStatusError = DomainAvailabilityStatus("error")
)
View Source
const (
	// Unknown DNS action.
	DomainDNSActionUnknownDNSAction = DomainDNSAction("unknown_dns_action")
	// Automatically configure all DNS records for the domain.
	DomainDNSActionAutoConfigAllRecords = DomainDNSAction("auto_config_all_records")
	// Automatically configure web-related DNS records (e.g., A, CNAME).
	DomainDNSActionAutoConfigWebRecords = DomainDNSAction("auto_config_web_records")
	// Automatically configure mail-related DNS records (e.g., MX, SPF, DKIM).
	DomainDNSActionAutoConfigMailRecords = DomainDNSAction("auto_config_mail_records")
	// Automatically configure the domain's name servers to point to Web Hosting name servers.
	DomainDNSActionAutoConfigNameservers = DomainDNSAction("auto_config_nameservers")
	// No automatic domain configuration. Users must configure their domain for the Web Hosting to work.
	DomainDNSActionAutoConfigNone = DomainDNSAction("auto_config_none")
)
View Source
const (
	// The status of the domain is unknown.
	DomainStatusUnknownStatus = DomainStatus("unknown_status")
	// The domain is valid and operational.
	DomainStatusValid = DomainStatus("valid")
	// The domain is invalid, potentially due to incorrect settings or configuration issues.
	DomainStatusInvalid = DomainStatus("invalid")
	// The domain is in the process of being validated.
	DomainStatusValidating = DomainStatus("validating")
	// The domain is in an error status, it should be checked in Domain&DNS.
	DomainStatusError = DomainStatus("error")
)
View Source
const (
	// The zone owner is unknown or not specified.
	DomainZoneOwnerUnknownZoneOwner = DomainZoneOwner("unknown_zone_owner")
	// The domain's DNS is managed externally.
	DomainZoneOwnerExternal = DomainZoneOwner("external")
	// The domain's DNS is managed by Scaleway.
	DomainZoneOwnerScaleway = DomainZoneOwner("scaleway")
	// The domain's DNS is managed by Online.
	DomainZoneOwnerOnline = DomainZoneOwner("online")
	// The domain's DNS is managed by the Web Hosting platform.
	DomainZoneOwnerWebhosting = DomainZoneOwner("webhosting")
)
View Source
const (
	HostingStatusUnknownStatus = HostingStatus("unknown_status")
	HostingStatusDelivering    = HostingStatus("delivering")
	HostingStatusReady         = HostingStatus("ready")
	HostingStatusDeleting      = HostingStatus("deleting")
	HostingStatusError         = HostingStatus("error")
	HostingStatusLocked        = HostingStatus("locked")
	HostingStatusMigrating     = HostingStatus("migrating")
	HostingStatusUpdating      = HostingStatus("updating")
)
View Source
const (
	// Order by backup creation date, most recent first (default).
	ListBackupsRequestOrderByCreatedAtDesc = ListBackupsRequestOrderBy("created_at_desc")
	// Order by backup creation date, oldest first.
	ListBackupsRequestOrderByCreatedAtAsc = ListBackupsRequestOrderBy("created_at_asc")
)
View Source
const (
	ListDatabaseUsersRequestOrderByUsernameAsc  = ListDatabaseUsersRequestOrderBy("username_asc")
	ListDatabaseUsersRequestOrderByUsernameDesc = ListDatabaseUsersRequestOrderBy("username_desc")
)
View Source
const (
	ListDatabasesRequestOrderByDatabaseNameAsc  = ListDatabasesRequestOrderBy("database_name_asc")
	ListDatabasesRequestOrderByDatabaseNameDesc = ListDatabasesRequestOrderBy("database_name_desc")
)
View Source
const (
	ListFtpAccountsRequestOrderByUsernameAsc  = ListFtpAccountsRequestOrderBy("username_asc")
	ListFtpAccountsRequestOrderByUsernameDesc = ListFtpAccountsRequestOrderBy("username_desc")
)
View Source
const (
	ListHostingsRequestOrderByCreatedAtAsc  = ListHostingsRequestOrderBy("created_at_asc")
	ListHostingsRequestOrderByCreatedAtDesc = ListHostingsRequestOrderBy("created_at_desc")
)
View Source
const (
	ListMailAccountsRequestOrderByUsernameAsc  = ListMailAccountsRequestOrderBy("username_asc")
	ListMailAccountsRequestOrderByUsernameDesc = ListMailAccountsRequestOrderBy("username_desc")
	ListMailAccountsRequestOrderByDomainAsc    = ListMailAccountsRequestOrderBy("domain_asc")
	ListMailAccountsRequestOrderByDomainDesc   = ListMailAccountsRequestOrderBy("domain_desc")
)
View Source
const (
	ListWebsitesRequestOrderByDomainAsc  = ListWebsitesRequestOrderBy("domain_asc")
	ListWebsitesRequestOrderByDomainDesc = ListWebsitesRequestOrderBy("domain_desc")
)
View Source
const (
	NameserverStatusUnknownStatus = NameserverStatus("unknown_status")
	NameserverStatusValid         = NameserverStatus("valid")
	NameserverStatusInvalid       = NameserverStatus("invalid")
)
View Source
const (
	OfferOptionNameUnknownName    = OfferOptionName("unknown_name")
	OfferOptionNameDomainCount    = OfferOptionName("domain_count")
	OfferOptionNameEmailCount     = OfferOptionName("email_count")
	OfferOptionNameStorageGb      = OfferOptionName("storage_gb")
	OfferOptionNameVcpuCount      = OfferOptionName("vcpu_count")
	OfferOptionNameRAMGb          = OfferOptionName("ram_gb")
	OfferOptionNameBackup         = OfferOptionName("backup")
	OfferOptionNameDedicatedIP    = OfferOptionName("dedicated_ip")
	OfferOptionNameEmailStorageGb = OfferOptionName("email_storage_gb")
	OfferOptionNameDatabaseCount  = OfferOptionName("database_count")
	OfferOptionNameSupport        = OfferOptionName("support")
)
View Source
const (
	OfferOptionWarningUnknownWarning       = OfferOptionWarning("unknown_warning")
	OfferOptionWarningQuotaExceededWarning = OfferOptionWarning("quota_exceeded_warning")
	OfferOptionWarningUsageLowWarning      = OfferOptionWarning("usage_low_warning")
)
View Source
const (
	PlatformPlatformGroupUnknownGroup = PlatformPlatformGroup("unknown_group")
	PlatformPlatformGroupDefault      = PlatformPlatformGroup("default")
	PlatformPlatformGroupPremium      = PlatformPlatformGroup("premium")
)
View Source
const (
	ListOffersRequestOrderByPriceAsc = ListOffersRequestOrderBy("price_asc")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoConfigDomainDNS

type AutoConfigDomainDNS struct {
	// Nameservers: whether or not to synchronize domain nameservers.
	Nameservers bool `json:"nameservers"`

	// WebRecords: whether or not to synchronize web records.
	WebRecords bool `json:"web_records"`

	// MailRecords: whether or not to synchronize mail records.
	MailRecords bool `json:"mail_records"`

	// AllRecords: whether or not to synchronize all types of records. Takes priority over the other fields.
	AllRecords bool `json:"all_records"`

	// None: no automatic domain configuration. Users must configure their domain for the Web Hosting to work.
	None bool `json:"none"`
}

AutoConfigDomainDNS: auto config domain dns.

type Backup

type Backup struct {
	// ID: ID of the backup.
	ID string `json:"id"`

	// Size: total size of the backup in bytes.
	Size scw.Size `json:"size"`

	// CreatedAt: creation date of the backup.
	CreatedAt *time.Time `json:"created_at"`

	// Status: status of the backup. Available values are `active`, `locked`, and `restoring`.
	// Default value: unknown_backup_status
	Status BackupStatus `json:"status"`

	// TotalItems: total number of restorable items in the backup.
	TotalItems uint32 `json:"total_items"`
}

Backup: backup.

type BackupAPI

type BackupAPI struct {
	// contains filtered or unexported fields
}

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

func NewBackupAPI

func NewBackupAPI(client *scw.Client) *BackupAPI

NewBackupAPI returns a BackupAPI object from a Scaleway client.

func (*BackupAPI) GetBackup

func (s *BackupAPI) GetBackup(req *BackupAPIGetBackupRequest, opts ...scw.RequestOption) (*Backup, error)

GetBackup: Get info about a backup specified by the backup ID.

func (*BackupAPI) ListBackupItems

ListBackupItems: List items within a specific backup, grouped by type.

func (*BackupAPI) ListBackups

ListBackups: List all available backups for a hosting account.

func (*BackupAPI) Regions

func (s *BackupAPI) Regions() []scw.Region

func (*BackupAPI) RestoreBackup

RestoreBackup: Restore an entire backup to your hosting environment.

func (*BackupAPI) RestoreBackupItems

RestoreBackupItems: Restore specific items from a backup (e.g., a database or mailbox).

type BackupAPIGetBackupRequest

type BackupAPIGetBackupRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting account.
	HostingID string `json:"-"`

	// BackupID: ID of the backup to retrieve.
	BackupID string `json:"-"`
}

BackupAPIGetBackupRequest: backup api get backup request.

type BackupAPIListBackupItemsRequest

type BackupAPIListBackupItemsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting account.
	HostingID string `json:"-"`

	// BackupID: ID of the backup to list items from.
	BackupID string `json:"backup_id"`
}

BackupAPIListBackupItemsRequest: backup api list backup items request.

type BackupAPIListBackupsRequest

type BackupAPIListBackupsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting account.
	HostingID string `json:"-"`

	// Page: page number to retrieve.
	Page *int32 `json:"-"`

	// PageSize: number of backups to return per page.
	PageSize *uint32 `json:"-"`

	// OrderBy: order in which to return the list of backups.
	// Default value: created_at_desc
	OrderBy ListBackupsRequestOrderBy `json:"-"`
}

BackupAPIListBackupsRequest: backup api list backups request.

type BackupAPIRestoreBackupItemsRequest

type BackupAPIRestoreBackupItemsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting account.
	HostingID string `json:"-"`

	// ItemIDs: list of backup item IDs to restore individually.
	ItemIDs []string `json:"item_ids"`
}

BackupAPIRestoreBackupItemsRequest: backup api restore backup items request.

type BackupAPIRestoreBackupRequest

type BackupAPIRestoreBackupRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting account.
	HostingID string `json:"-"`

	// BackupID: ID of the backup to fully restore.
	BackupID string `json:"-"`
}

BackupAPIRestoreBackupRequest: backup api restore backup request.

type BackupItem

type BackupItem struct {
	// ID: ID of the item.
	ID string `json:"id"`

	// Name: name of the item (e.g., `database name`, `email address`).
	Name string `json:"name"`

	// Type: type of the item (e.g., email, database, FTP).
	// Default value: unknown_backup_item_type
	Type BackupItemType `json:"type"`

	// Size: size of the item in bytes.
	Size scw.Size `json:"size"`

	// Status: status of the item. Available values are `active`, `damaged`, and `restoring`.
	// Default value: unknown_backup_status
	Status BackupStatus `json:"status"`

	// CreatedAt: date and time at which this item was backed up.
	CreatedAt *time.Time `json:"created_at"`
}

BackupItem: backup item.

type BackupItemGroup

type BackupItemGroup struct {
	// Type: type of items (e.g., email, database, FTP).
	// Default value: unknown_backup_item_type
	Type BackupItemType `json:"type"`

	// Items: list of individual backup items of this type.
	Items []*BackupItem `json:"items"`
}

BackupItemGroup: backup item group.

type BackupItemType

type BackupItemType string

func (BackupItemType) MarshalJSON

func (enum BackupItemType) MarshalJSON() ([]byte, error)

func (BackupItemType) String

func (enum BackupItemType) String() string

func (*BackupItemType) UnmarshalJSON

func (enum *BackupItemType) UnmarshalJSON(data []byte) error

func (BackupItemType) Values

func (enum BackupItemType) Values() []BackupItemType

type BackupStatus

type BackupStatus string

func (BackupStatus) MarshalJSON

func (enum BackupStatus) MarshalJSON() ([]byte, error)

func (BackupStatus) String

func (enum BackupStatus) String() string

func (*BackupStatus) UnmarshalJSON

func (enum *BackupStatus) UnmarshalJSON(data []byte) error

func (BackupStatus) Values

func (enum BackupStatus) Values() []BackupStatus

type CheckFreeDomainAvailabilityResponse

type CheckFreeDomainAvailabilityResponse struct {
	// FreeDomain: the free domain that was checked.
	FreeDomain *FreeDomain `json:"free_domain"`

	// IsAvailable: whether the free domain is available.
	IsAvailable bool `json:"is_available"`

	// Reason: reason the domain is unavailable, if applicable.
	// Default value: unavailable_reason_unknown
	Reason *CheckFreeDomainAvailabilityResponseUnavailableReason `json:"reason"`
}

CheckFreeDomainAvailabilityResponse: check free domain availability response.

type CheckFreeDomainAvailabilityResponseUnavailableReason

type CheckFreeDomainAvailabilityResponseUnavailableReason string

func (CheckFreeDomainAvailabilityResponseUnavailableReason) MarshalJSON

func (CheckFreeDomainAvailabilityResponseUnavailableReason) String

func (*CheckFreeDomainAvailabilityResponseUnavailableReason) UnmarshalJSON

func (CheckFreeDomainAvailabilityResponseUnavailableReason) Values

type CheckUserOwnsDomainResponse

type CheckUserOwnsDomainResponse struct {
	// OwnsDomain: indicates whether the specified project owns the domain.
	OwnsDomain bool `json:"owns_domain"`
}

CheckUserOwnsDomainResponse: check user owns domain response.

type ControlPanel

type ControlPanel struct {
	// Name: control panel name.
	Name string `json:"name"`

	// Available: define if the control panel type is available to order.
	Available bool `json:"available"`

	// LogoURL: URL of the control panel's logo.
	LogoURL string `json:"logo_url"`

	// AvailableLanguages: list of available languages for the control panel.
	AvailableLanguages []std.LanguageCode `json:"available_languages"`
}

ControlPanel: control panel.

type ControlPanelAPI

type ControlPanelAPI struct {
	// contains filtered or unexported fields
}

This API allows you to manage your Web Hosting services.

func NewControlPanelAPI

func NewControlPanelAPI(client *scw.Client) *ControlPanelAPI

NewControlPanelAPI returns a ControlPanelAPI object from a Scaleway client.

func (*ControlPanelAPI) ListControlPanels

ListControlPanels: "List the control panels type: cpanel or plesk.".

func (*ControlPanelAPI) Regions

func (s *ControlPanelAPI) Regions() []scw.Region

type ControlPanelAPIListControlPanelsRequest

type ControlPanelAPIListControlPanelsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of control panels to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`
}

ControlPanelAPIListControlPanelsRequest: control panel api list control panels request.

type CreateDatabaseRequestUser

type CreateDatabaseRequestUser struct {
	Username string `json:"username"`

	Password string `json:"password"`
}

CreateDatabaseRequestUser: create database request user.

type CreateHostingRequestDomainConfiguration

type CreateHostingRequestDomainConfiguration struct {
	UpdateNameservers bool `json:"update_nameservers"`

	UpdateWebRecord bool `json:"update_web_record"`

	UpdateMailRecord bool `json:"update_mail_record"`

	UpdateAllRecords bool `json:"update_all_records"`
}

CreateHostingRequestDomainConfiguration: create hosting request domain configuration.

type DNSAPICheckUserOwnsDomainRequest

type DNSAPICheckUserOwnsDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Domain: domain for which ownership is to be verified.
	Domain string `json:"-"`

	// ProjectID: ID of the project currently in use.
	ProjectID string `json:"project_id"`
}

DNSAPICheckUserOwnsDomainRequest: dnsapi check user owns domain request.

type DNSAPIGetDomainDNSRecordsRequest

type DNSAPIGetDomainDNSRecordsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Domain: domain associated with the DNS records.
	Domain string `json:"-"`
}

DNSAPIGetDomainDNSRecordsRequest: dnsapi get domain dns records request.

type DNSAPIGetDomainRequest

type DNSAPIGetDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// DomainName: domain name to get.
	DomainName string `json:"-"`

	// ProjectID: ID of the Scaleway Project in which to get the domain to create the Web Hosting plan.
	ProjectID string `json:"project_id"`
}

DNSAPIGetDomainRequest: dnsapi get domain request.

type DNSAPISearchDomainsRequest

type DNSAPISearchDomainsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// DomainName: domain name to search.
	DomainName string `json:"-"`

	// ProjectID: ID of the Scaleway Project in which to search the domain to create the Web Hosting plan.
	ProjectID string `json:"-"`
}

DNSAPISearchDomainsRequest: dnsapi search domains request.

type DNSAPISyncDomainDNSRecordsRequest

type DNSAPISyncDomainDNSRecordsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Domain: domain for which the DNS records will be synchronized.
	Domain string `json:"-"`

	// Deprecated: UpdateWebRecords: whether or not to synchronize the web records (deprecated, use auto_config_domain_dns).
	UpdateWebRecords *bool `json:"update_web_records,omitempty"`

	// Deprecated: UpdateMailRecords: whether or not to synchronize the mail records (deprecated, use auto_config_domain_dns).
	UpdateMailRecords *bool `json:"update_mail_records,omitempty"`

	// Deprecated: UpdateAllRecords: whether or not to synchronize all types of records. This one has priority (deprecated, use auto_config_domain_dns).
	UpdateAllRecords *bool `json:"update_all_records,omitempty"`

	// Deprecated: UpdateNameservers: whether or not to synchronize domain nameservers (deprecated, use auto_config_domain_dns).
	UpdateNameservers *bool `json:"update_nameservers,omitempty"`

	// Deprecated: CustomRecords: custom records to synchronize.
	CustomRecords *[]*SyncDomainDNSRecordsRequestRecord `json:"custom_records,omitempty"`

	// AutoConfigDomainDNS: whether or not to synchronize each types of records.
	AutoConfigDomainDNS *AutoConfigDomainDNS `json:"auto_config_domain_dns,omitempty"`
}

DNSAPISyncDomainDNSRecordsRequest: dnsapi sync domain dns records request.

type DNSRecord

type DNSRecord struct {
	// Name: record name.
	Name string `json:"name"`

	// Type: record type.
	// Default value: unknown_type
	Type DNSRecordType `json:"type"`

	// TTL: record time-to-live.
	TTL uint32 `json:"ttl"`

	// Value: record value.
	Value string `json:"value"`

	// Priority: record priority level.
	Priority *uint32 `json:"priority"`

	// Status: record status.
	// Default value: unknown_status
	Status DNSRecordStatus `json:"status"`

	// RawData: record representation as it appears in the zone file or DNS management system.
	RawData string `json:"raw_data"`
}

DNSRecord: dns record.

type DNSRecordStatus

type DNSRecordStatus string

func (DNSRecordStatus) MarshalJSON

func (enum DNSRecordStatus) MarshalJSON() ([]byte, error)

func (DNSRecordStatus) String

func (enum DNSRecordStatus) String() string

func (*DNSRecordStatus) UnmarshalJSON

func (enum *DNSRecordStatus) UnmarshalJSON(data []byte) error

func (DNSRecordStatus) Values

func (enum DNSRecordStatus) Values() []DNSRecordStatus

type DNSRecordType

type DNSRecordType string

func (DNSRecordType) MarshalJSON

func (enum DNSRecordType) MarshalJSON() ([]byte, error)

func (DNSRecordType) String

func (enum DNSRecordType) String() string

func (*DNSRecordType) UnmarshalJSON

func (enum *DNSRecordType) UnmarshalJSON(data []byte) error

func (DNSRecordType) Values

func (enum DNSRecordType) Values() []DNSRecordType

type DNSRecords

type DNSRecords struct {
	// Records: list of DNS records.
	Records []*DNSRecord `json:"records"`

	// NameServers: list of nameservers.
	NameServers []*Nameserver `json:"name_servers"`

	// Status: status of the records.
	// Default value: unknown_status
	Status DNSRecordsStatus `json:"status"`

	// Deprecated: DNSConfig: records dns auto configuration settings (deprecated, use auto_config_domain_dns).
	DNSConfig *[]DomainDNSAction `json:"dns_config,omitempty"`

	// AutoConfigDomainDNS: whether or not to synchronize each types of records.
	AutoConfigDomainDNS *AutoConfigDomainDNS `json:"auto_config_domain_dns"`
}

DNSRecords: dns records.

type DNSRecordsStatus

type DNSRecordsStatus string

func (DNSRecordsStatus) MarshalJSON

func (enum DNSRecordsStatus) MarshalJSON() ([]byte, error)

func (DNSRecordsStatus) String

func (enum DNSRecordsStatus) String() string

func (*DNSRecordsStatus) UnmarshalJSON

func (enum *DNSRecordsStatus) UnmarshalJSON(data []byte) error

func (DNSRecordsStatus) Values

func (enum DNSRecordsStatus) Values() []DNSRecordsStatus

type Database

type Database struct {
	// DatabaseName: name of the database.
	DatabaseName string `json:"database_name"`

	// Users: list of users who have access to the database.
	Users []string `json:"users"`
}

Database: database.

type DatabaseAPI

type DatabaseAPI struct {
	// contains filtered or unexported fields
}

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

func NewDatabaseAPI

func NewDatabaseAPI(client *scw.Client) *DatabaseAPI

NewDatabaseAPI returns a DatabaseAPI object from a Scaleway client.

func (*DatabaseAPI) AssignDatabaseUser

func (s *DatabaseAPI) AssignDatabaseUser(req *DatabaseAPIAssignDatabaseUserRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

AssignDatabaseUser: "Assign a database user to a database".

func (*DatabaseAPI) ChangeDatabaseUserPassword

func (s *DatabaseAPI) ChangeDatabaseUserPassword(req *DatabaseAPIChangeDatabaseUserPasswordRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

ChangeDatabaseUserPassword: "Change the password of a database user".

func (*DatabaseAPI) CreateDatabase

func (s *DatabaseAPI) CreateDatabase(req *DatabaseAPICreateDatabaseRequest, opts ...scw.RequestOption) (*Database, error)

CreateDatabase: "Create a new database within your hosting plan".

func (*DatabaseAPI) CreateDatabaseUser

func (s *DatabaseAPI) CreateDatabaseUser(req *DatabaseAPICreateDatabaseUserRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

CreateDatabaseUser: "Create a new database user".

func (*DatabaseAPI) DeleteDatabase

func (s *DatabaseAPI) DeleteDatabase(req *DatabaseAPIDeleteDatabaseRequest, opts ...scw.RequestOption) (*Database, error)

DeleteDatabase: "Delete a database within your hosting plan".

func (*DatabaseAPI) DeleteDatabaseUser

func (s *DatabaseAPI) DeleteDatabaseUser(req *DatabaseAPIDeleteDatabaseUserRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

DeleteDatabaseUser: "Delete a database user".

func (*DatabaseAPI) GetDatabase

func (s *DatabaseAPI) GetDatabase(req *DatabaseAPIGetDatabaseRequest, opts ...scw.RequestOption) (*Database, error)

GetDatabase: "Get details of a database within your hosting plan".

func (*DatabaseAPI) GetDatabaseUser

func (s *DatabaseAPI) GetDatabaseUser(req *DatabaseAPIGetDatabaseUserRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

GetDatabaseUser: "Get details of a database user".

func (*DatabaseAPI) ListDatabaseUsers

ListDatabaseUsers: "List all database users".

func (*DatabaseAPI) ListDatabases

ListDatabases: "List all databases within your hosting plan".

func (*DatabaseAPI) Regions

func (s *DatabaseAPI) Regions() []scw.Region

func (*DatabaseAPI) UnassignDatabaseUser

func (s *DatabaseAPI) UnassignDatabaseUser(req *DatabaseAPIUnassignDatabaseUserRequest, opts ...scw.RequestOption) (*DatabaseUser, error)

UnassignDatabaseUser: "Unassign a database user from a database".

type DatabaseAPIAssignDatabaseUserRequest

type DatabaseAPIAssignDatabaseUserRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// DatabaseName: name of the database to be assigned.
	DatabaseName string `json:"-"`

	// Username: name of the user to assign.
	Username string `json:"username"`
}

DatabaseAPIAssignDatabaseUserRequest: database api assign database user request.

type DatabaseAPIChangeDatabaseUserPasswordRequest

type DatabaseAPIChangeDatabaseUserPasswordRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: name of the user to update.
	Username string `json:"-"`

	// Password: new password.
	Password string `json:"password"`
}

DatabaseAPIChangeDatabaseUserPasswordRequest: database api change database user password request.

type DatabaseAPICreateDatabaseRequest

type DatabaseAPICreateDatabaseRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan where the database will be created.
	HostingID string `json:"-"`

	// DatabaseName: name of the database to be created.
	DatabaseName string `json:"database_name"`

	// NewUser: (Optional) Username and password to create a user and link to the database.
	// Precisely one of NewUser, ExistingUsername must be set.
	NewUser *CreateDatabaseRequestUser `json:"new_user,omitempty"`

	// ExistingUsername: (Optional) Username to link an existing user to the database.
	// Precisely one of NewUser, ExistingUsername must be set.
	ExistingUsername *string `json:"existing_username,omitempty"`
}

DatabaseAPICreateDatabaseRequest: database api create database request.

type DatabaseAPICreateDatabaseUserRequest

type DatabaseAPICreateDatabaseUserRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: name of the user to create.
	Username string `json:"username"`

	// Password: password of the user to create.
	Password string `json:"password"`
}

DatabaseAPICreateDatabaseUserRequest: database api create database user request.

type DatabaseAPIDeleteDatabaseRequest

type DatabaseAPIDeleteDatabaseRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// DatabaseName: name of the database to delete.
	DatabaseName string `json:"-"`
}

DatabaseAPIDeleteDatabaseRequest: database api delete database request.

type DatabaseAPIDeleteDatabaseUserRequest

type DatabaseAPIDeleteDatabaseUserRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: name of the database user to delete.
	Username string `json:"-"`
}

DatabaseAPIDeleteDatabaseUserRequest: database api delete database user request.

type DatabaseAPIGetDatabaseRequest

type DatabaseAPIGetDatabaseRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// DatabaseName: name of the database.
	DatabaseName string `json:"-"`
}

DatabaseAPIGetDatabaseRequest: database api get database request.

type DatabaseAPIGetDatabaseUserRequest

type DatabaseAPIGetDatabaseUserRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: name of the database user to retrieve details.
	Username string `json:"-"`
}

DatabaseAPIGetDatabaseUserRequest: database api get database user request.

type DatabaseAPIListDatabaseUsersRequest

type DatabaseAPIListDatabaseUsersRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of database users to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order of database users in the response.
	// Default value: username_asc
	OrderBy ListDatabaseUsersRequestOrderBy `json:"-"`
}

DatabaseAPIListDatabaseUsersRequest: database api list database users request.

type DatabaseAPIListDatabasesRequest

type DatabaseAPIListDatabasesRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of databases to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order of databases in the response.
	// Default value: database_name_asc
	OrderBy ListDatabasesRequestOrderBy `json:"-"`
}

DatabaseAPIListDatabasesRequest: database api list databases request.

type DatabaseAPIUnassignDatabaseUserRequest

type DatabaseAPIUnassignDatabaseUserRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// DatabaseName: name of the database to be unassigned.
	DatabaseName string `json:"-"`

	// Username: name of the user to unassign.
	Username string `json:"username"`
}

DatabaseAPIUnassignDatabaseUserRequest: database api unassign database user request.

type DatabaseUser

type DatabaseUser struct {
	// Username: name of the database user.
	Username string `json:"username"`

	// Databases: list of databases accessible by the user.
	Databases []string `json:"databases"`
}

DatabaseUser: database user.

type DnsAPI

type DnsAPI struct {
	// contains filtered or unexported fields
}

This API allows you to manage your Web Hosting services.

func NewDnsAPI

func NewDnsAPI(client *scw.Client) *DnsAPI

NewDnsAPI returns a DnsAPI object from a Scaleway client.

func (*DnsAPI) CheckUserOwnsDomain deprecated

Deprecated: CheckUserOwnsDomain: Check whether you own this domain or not.

func (*DnsAPI) GetDomain

func (s *DnsAPI) GetDomain(req *DNSAPIGetDomainRequest, opts ...scw.RequestOption) (*Domain, error)

GetDomain: Retrieve detailed information about a specific domain, including its status, DNS configuration, and ownership.

func (*DnsAPI) GetDomainDNSRecords

func (s *DnsAPI) GetDomainDNSRecords(req *DNSAPIGetDomainDNSRecordsRequest, opts ...scw.RequestOption) (*DNSRecords, error)

GetDomainDNSRecords: Get the set of DNS records of a specified domain associated with a Web Hosting plan's domain.

func (*DnsAPI) Regions

func (s *DnsAPI) Regions() []scw.Region

func (*DnsAPI) SearchDomains

func (s *DnsAPI) SearchDomains(req *DNSAPISearchDomainsRequest, opts ...scw.RequestOption) (*SearchDomainsResponse, error)

SearchDomains: Search for available domains based on domain name.

func (*DnsAPI) SyncDomainDNSRecords

func (s *DnsAPI) SyncDomainDNSRecords(req *DNSAPISyncDomainDNSRecordsRequest, opts ...scw.RequestOption) (*DNSRecords, error)

SyncDomainDNSRecords: Synchronize your DNS records on the Elements Console and on cPanel.

type Domain

type Domain struct {
	// Name: name of the domain.
	Name string `json:"name"`

	// Status: current status of the domain.
	// Default value: unknown_status
	Status DomainStatus `json:"status"`

	// Owner: zone owner of the domain.
	// Default value: unknown_zone_owner
	Owner DomainZoneOwner `json:"owner"`

	// ZoneDomainName: main domain for this zone.
	ZoneDomainName string `json:"zone_domain_name"`

	// AvailableActions: a list of actions that can be performed on the domain.
	AvailableActions []DomainAction `json:"available_actions"`

	// Deprecated: AvailableDNSActions: a list of DNS-related actions that can be auto configured for the domain (deprecated, use auto_config_domain_dns instead).
	AvailableDNSActions *[]DomainDNSAction `json:"available_dns_actions,omitempty"`

	// AutoConfigDomainDNS: whether or not to synchronize each type of record.
	AutoConfigDomainDNS *AutoConfigDomainDNS `json:"auto_config_domain_dns"`
}

Domain: domain.

type DomainAction

type DomainAction string

func (DomainAction) MarshalJSON

func (enum DomainAction) MarshalJSON() ([]byte, error)

func (DomainAction) String

func (enum DomainAction) String() string

func (*DomainAction) UnmarshalJSON

func (enum *DomainAction) UnmarshalJSON(data []byte) error

func (DomainAction) Values

func (enum DomainAction) Values() []DomainAction

type DomainAvailability

type DomainAvailability struct {
	// Name: fully qualified domain name (FQDN).
	Name string `json:"name"`

	// ZoneName: DNS zone associated with the domain.
	ZoneName string `json:"zone_name"`

	// Status: availability status of the domain.
	// Default value: unknown_status
	Status DomainAvailabilityStatus `json:"status"`

	// AvailableActions: a list of actions that can be performed on the domain.
	AvailableActions []DomainAvailabilityAction `json:"available_actions"`

	// CanCreateHosting: whether a hosting can be created for this domain.
	CanCreateHosting bool `json:"can_create_hosting"`

	// Price: price for registering the domain.
	Price *scw.Money `json:"price"`
}

DomainAvailability: domain availability.

type DomainAvailabilityAction

type DomainAvailabilityAction string

func (DomainAvailabilityAction) MarshalJSON

func (enum DomainAvailabilityAction) MarshalJSON() ([]byte, error)

func (DomainAvailabilityAction) String

func (enum DomainAvailabilityAction) String() string

func (*DomainAvailabilityAction) UnmarshalJSON

func (enum *DomainAvailabilityAction) UnmarshalJSON(data []byte) error

func (DomainAvailabilityAction) Values

type DomainAvailabilityStatus

type DomainAvailabilityStatus string

func (DomainAvailabilityStatus) MarshalJSON

func (enum DomainAvailabilityStatus) MarshalJSON() ([]byte, error)

func (DomainAvailabilityStatus) String

func (enum DomainAvailabilityStatus) String() string

func (*DomainAvailabilityStatus) UnmarshalJSON

func (enum *DomainAvailabilityStatus) UnmarshalJSON(data []byte) error

func (DomainAvailabilityStatus) Values

type DomainDNSAction

type DomainDNSAction string

func (DomainDNSAction) MarshalJSON

func (enum DomainDNSAction) MarshalJSON() ([]byte, error)

func (DomainDNSAction) String

func (enum DomainDNSAction) String() string

func (*DomainDNSAction) UnmarshalJSON

func (enum *DomainDNSAction) UnmarshalJSON(data []byte) error

func (DomainDNSAction) Values

func (enum DomainDNSAction) Values() []DomainDNSAction

type DomainStatus

type DomainStatus string

func (DomainStatus) MarshalJSON

func (enum DomainStatus) MarshalJSON() ([]byte, error)

func (DomainStatus) String

func (enum DomainStatus) String() string

func (*DomainStatus) UnmarshalJSON

func (enum *DomainStatus) UnmarshalJSON(data []byte) error

func (DomainStatus) Values

func (enum DomainStatus) Values() []DomainStatus

type DomainZoneOwner

type DomainZoneOwner string

func (DomainZoneOwner) MarshalJSON

func (enum DomainZoneOwner) MarshalJSON() ([]byte, error)

func (DomainZoneOwner) String

func (enum DomainZoneOwner) String() string

func (*DomainZoneOwner) UnmarshalJSON

func (enum *DomainZoneOwner) UnmarshalJSON(data []byte) error

func (DomainZoneOwner) Values

func (enum DomainZoneOwner) Values() []DomainZoneOwner

type FreeDomain

type FreeDomain struct {
	// Slug: custom prefix used for the free domain.
	Slug string `json:"slug"`

	// RootDomain: free root domain provided by Web Hosting, selected from the list returned by `ListFreeRootDomains`.
	RootDomain string `json:"root_domain"`
}

FreeDomain: free domain.

type FreeDomainAPI

type FreeDomainAPI struct {
	// contains filtered or unexported fields
}

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

func NewFreeDomainAPI

func NewFreeDomainAPI(client *scw.Client) *FreeDomainAPI

NewFreeDomainAPI returns a FreeDomainAPI object from a Scaleway client.

func (*FreeDomainAPI) CheckFreeDomainAvailability

CheckFreeDomainAvailability: Check whether a given slug and free domain combination is available.

func (*FreeDomainAPI) ListFreeRootDomains

ListFreeRootDomains: Retrieve the list of free root domains available for a Web Hosting.

func (*FreeDomainAPI) Regions

func (s *FreeDomainAPI) Regions() []scw.Region

type FreeDomainAPICheckFreeDomainAvailabilityRequest

type FreeDomainAPICheckFreeDomainAvailabilityRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Slug: custom prefix used for the free domain.
	Slug string `json:"slug"`

	// RootDomain: free root domain provided by Web Hosting, selected from the list returned by `ListFreeRootDomains`.
	RootDomain string `json:"root_domain"`
}

FreeDomainAPICheckFreeDomainAvailabilityRequest: free domain api check free domain availability request.

type FreeDomainAPIListFreeRootDomainsRequest

type FreeDomainAPIListFreeRootDomainsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Page: page number to return, from the paginated results (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of free root domains to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`
}

FreeDomainAPIListFreeRootDomainsRequest: free domain api list free root domains request.

type FtpAccount

type FtpAccount struct {
	// Username: the username of the FTP account.
	Username string `json:"username"`

	// Path: the path associated with the FTP account.
	Path string `json:"path"`
}

FtpAccount: ftp account.

type FtpAccountAPI

type FtpAccountAPI struct {
	// contains filtered or unexported fields
}

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

func NewFtpAccountAPI

func NewFtpAccountAPI(client *scw.Client) *FtpAccountAPI

NewFtpAccountAPI returns a FtpAccountAPI object from a Scaleway client.

func (*FtpAccountAPI) ChangeFtpAccountPassword

func (s *FtpAccountAPI) ChangeFtpAccountPassword(req *FtpAccountAPIChangeFtpAccountPasswordRequest, opts ...scw.RequestOption) (*FtpAccount, error)

ChangeFtpAccountPassword:

func (*FtpAccountAPI) CreateFtpAccount

CreateFtpAccount: Create a new FTP account within your hosting plan.

func (*FtpAccountAPI) ListFtpAccounts

ListFtpAccounts: List all FTP accounts within your hosting plan.

func (*FtpAccountAPI) Regions

func (s *FtpAccountAPI) Regions() []scw.Region

func (*FtpAccountAPI) RemoveFtpAccount

RemoveFtpAccount: Delete a specific FTP account within your hosting plan.

type FtpAccountAPIChangeFtpAccountPasswordRequest

type FtpAccountAPIChangeFtpAccountPasswordRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: username of the FTP account.
	Username string `json:"-"`

	// Password: new password for the FTP account.
	Password string `json:"password"`
}

FtpAccountAPIChangeFtpAccountPasswordRequest: ftp account api change ftp account password request.

type FtpAccountAPICreateFtpAccountRequest

type FtpAccountAPICreateFtpAccountRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: username for the new FTP account.
	Username string `json:"username"`

	// Path: path for the new FTP account.
	Path string `json:"path"`

	// Password: password for the new FTP account.
	Password string `json:"password"`
}

FtpAccountAPICreateFtpAccountRequest: ftp account api create ftp account request.

type FtpAccountAPIListFtpAccountsRequest

type FtpAccountAPIListFtpAccountsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of FTP accounts to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order of FTP accounts in the response.
	// Default value: username_asc
	OrderBy ListFtpAccountsRequestOrderBy `json:"-"`

	// Domain: domain to filter the FTP accounts.
	Domain *string `json:"-"`
}

FtpAccountAPIListFtpAccountsRequest: ftp account api list ftp accounts request.

type FtpAccountAPIRemoveFtpAccountRequest

type FtpAccountAPIRemoveFtpAccountRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Username: username of the FTP account to be deleted.
	Username string `json:"-"`
}

FtpAccountAPIRemoveFtpAccountRequest: ftp account api remove ftp account request.

type Hosting

type Hosting struct {
	// ID: ID of the Web Hosting plan.
	ID string `json:"id"`

	// ProjectID: ID of the Scaleway Project the Web Hosting plan belongs to.
	ProjectID string `json:"project_id"`

	// UpdatedAt: date on which the Web Hosting plan was last updated.
	UpdatedAt *time.Time `json:"updated_at"`

	// CreatedAt: date on which the Web Hosting plan was created.
	CreatedAt *time.Time `json:"created_at"`

	// Status: status of the Web Hosting plan.
	// Default value: unknown_status
	Status HostingStatus `json:"status"`

	// Deprecated: Domain: main domain associated with the Web Hosting plan (deprecated, use domain_info).
	Domain *string `json:"domain,omitempty"`

	// Offer: details of the Web Hosting plan offer and options.
	Offer *Offer `json:"offer"`

	// Platform: details of the hosting platform.
	Platform *Platform `json:"platform"`

	// Tags: list of tags associated with the Web Hosting plan.
	Tags []string `json:"tags"`

	// Deprecated: DNSStatus: DNS status of the Web Hosting plan (deprecated, use domain_info).
	// Default value: unknown_status
	DNSStatus *DNSRecordsStatus `json:"dns_status,omitempty"`

	// IPv4: current IPv4 address of the hosting.
	IPv4 net.IP `json:"ipv4"`

	// Protected: whether the hosting is protected or not.
	Protected bool `json:"protected"`

	// User: details of the hosting user.
	User *HostingUser `json:"user"`

	// Deprecated: DomainStatus: main domain status of the Web Hosting plan (deprecated, use domain_info).
	// Default value: unknown_status
	DomainStatus *DomainStatus `json:"domain_status,omitempty"`

	// Region: region where the Web Hosting plan is hosted.
	Region scw.Region `json:"region"`

	// DomainInfo: domain configuration block (subdomain, optional custom domain, and DNS settings).
	DomainInfo *HostingDomain `json:"domain_info"`
}

Hosting: hosting.

type HostingAPI

type HostingAPI struct {
	// contains filtered or unexported fields
}

This API allows you to manage your Web Hosting services.

func NewHostingAPI

func NewHostingAPI(client *scw.Client) *HostingAPI

NewHostingAPI returns a HostingAPI object from a Scaleway client.

func (*HostingAPI) AddCustomDomain

func (s *HostingAPI) AddCustomDomain(req *HostingAPIAddCustomDomainRequest, opts ...scw.RequestOption) (*HostingSummary, error)

AddCustomDomain: Attach a custom domain to a webhosting.

func (*HostingAPI) CreateHosting

func (s *HostingAPI) CreateHosting(req *HostingAPICreateHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

CreateHosting: Order a Web Hosting plan, specifying the offer type required via the `offer_id` parameter.

func (*HostingAPI) CreateSession

func (s *HostingAPI) CreateSession(req *HostingAPICreateSessionRequest, opts ...scw.RequestOption) (*Session, error)

CreateSession: Create a user session.

func (*HostingAPI) DeleteHosting

func (s *HostingAPI) DeleteHosting(req *HostingAPIDeleteHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

DeleteHosting: 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.

func (*HostingAPI) GetHosting

func (s *HostingAPI) GetHosting(req *HostingAPIGetHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

GetHosting: Get the details of one of your existing Web Hosting plans, specified by its `hosting_id`.

func (*HostingAPI) GetResourceSummary

func (s *HostingAPI) GetResourceSummary(req *HostingAPIGetResourceSummaryRequest, opts ...scw.RequestOption) (*ResourceSummary, error)

GetResourceSummary: Get the total counts of websites, databases, email accounts, and FTP accounts of a Web Hosting plan.

func (*HostingAPI) ListHostings

ListHostings: 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.

func (*HostingAPI) Regions

func (s *HostingAPI) Regions() []scw.Region

func (*HostingAPI) RemoveCustomDomain

func (s *HostingAPI) RemoveCustomDomain(req *HostingAPIRemoveCustomDomainRequest, opts ...scw.RequestOption) (*HostingSummary, error)

RemoveCustomDomain: Detach a custom domain from a webhosting.

func (*HostingAPI) ResetHostingPassword

ResetHostingPassword: Reset a Web Hosting plan password.

func (*HostingAPI) UpdateHosting

func (s *HostingAPI) UpdateHosting(req *HostingAPIUpdateHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

UpdateHosting: 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.

func (*HostingAPI) WaitForHosting

func (s *HostingAPI) WaitForHosting(req *WaitForHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

WaitForHosting waits for a hosting to be in a "terminal" state before returning. Terminal states are defined as: HostingStatusReady, HostingStatusError, HostingStatusUnknownStatus, and HostingStatusLocked.

type HostingAPIAddCustomDomainRequest

type HostingAPIAddCustomDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID to which the custom domain is attached to.
	HostingID string `json:"-"`

	// DomainName: the custom domain name to attach to the hosting.
	DomainName string `json:"domain_name"`
}

HostingAPIAddCustomDomainRequest: hosting api add custom domain request.

type HostingAPICreateHostingRequest

type HostingAPICreateHostingRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// OfferID: ID of the selected offer for the Web Hosting plan.
	OfferID string `json:"offer_id"`

	// ProjectID: ID of the Scaleway Project in which to create the Web Hosting plan.
	ProjectID string `json:"project_id"`

	// Email: contact email for the Web Hosting client.
	Email string `json:"email"`

	// Tags: list of tags for the Web Hosting plan.
	Tags []string `json:"tags"`

	// 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.
	Domain string `json:"domain"`

	// 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.
	Subdomain *string `json:"subdomain,omitempty"`

	// OfferOptions: list of the Web Hosting plan options IDs with their quantities.
	OfferOptions []*OfferOptionRequest `json:"offer_options"`

	// Language: default language for the control panel interface.
	// Default value: unknown_language_code
	Language std.LanguageCode `json:"language"`

	// Deprecated: DomainConfiguration: indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_config_domain_dns instead).
	DomainConfiguration *CreateHostingRequestDomainConfiguration `json:"domain_configuration,omitempty"`

	// SkipWelcomeEmail: indicates whether to skip a welcome email to the contact email containing hosting info.
	SkipWelcomeEmail *bool `json:"skip_welcome_email,omitempty"`

	// AutoConfigDomainDNS: indicates whether to update hosting domain name servers and DNS records for domains managed by Scaleway Elements (deprecated, use auto_update_* fields instead).
	AutoConfigDomainDNS *AutoConfigDomainDNS `json:"auto_config_domain_dns,omitempty"`
}

HostingAPICreateHostingRequest: hosting api create hosting request.

type HostingAPICreateSessionRequest

type HostingAPICreateSessionRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID.
	HostingID string `json:"-"`
}

HostingAPICreateSessionRequest: hosting api create session request.

type HostingAPIDeleteHostingRequest

type HostingAPIDeleteHostingRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID.
	HostingID string `json:"-"`
}

HostingAPIDeleteHostingRequest: hosting api delete hosting request.

type HostingAPIGetHostingRequest

type HostingAPIGetHostingRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID.
	HostingID string `json:"-"`
}

HostingAPIGetHostingRequest: hosting api get hosting request.

type HostingAPIGetResourceSummaryRequest

type HostingAPIGetResourceSummaryRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID.
	HostingID string `json:"-"`
}

HostingAPIGetResourceSummaryRequest: hosting api get resource summary request.

type HostingAPIListHostingsRequest

type HostingAPIListHostingsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Page: page number to return, from the paginated results (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of Web Hosting plans to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order for Web Hosting plans in the response.
	// Default value: created_at_asc
	OrderBy ListHostingsRequestOrderBy `json:"-"`

	// Tags: tags to filter for, only Web Hosting plans with matching tags will be returned.
	Tags []string `json:"-"`

	// Statuses: statuses to filter for, only Web Hosting plans with matching statuses will be returned.
	Statuses []HostingStatus `json:"-"`

	// Domain: domain to filter for, only Web Hosting plans associated with this domain will be returned.
	Domain *string `json:"-"`

	// ProjectID: project ID to filter for, only Web Hosting plans from this Project will be returned.
	ProjectID *string `json:"-"`

	// OrganizationID: organization ID to filter for, only Web Hosting plans from this Organization will be returned.
	OrganizationID *string `json:"-"`

	// ControlPanels: name of the control panel to filter for, only Web Hosting plans from this control panel will be returned.
	ControlPanels []string `json:"-"`

	// Subdomain: optional free subdomain linked to the Web Hosting plan.
	Subdomain *string `json:"-"`
}

HostingAPIListHostingsRequest: hosting api list hostings request.

type HostingAPIRemoveCustomDomainRequest

type HostingAPIRemoveCustomDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID to which the custom domain is detached from.
	HostingID string `json:"-"`

	// DomainName: the custom domain name to detach from the hosting.
	DomainName string `json:"domain_name"`
}

HostingAPIRemoveCustomDomainRequest: hosting api remove custom domain request.

type HostingAPIResetHostingPasswordRequest

type HostingAPIResetHostingPasswordRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting.
	HostingID string `json:"-"`
}

HostingAPIResetHostingPasswordRequest: hosting api reset hosting password request.

type HostingAPIUpdateHostingRequest

type HostingAPIUpdateHostingRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: hosting ID.
	HostingID string `json:"-"`

	// Email: new contact email for the Web Hosting plan.
	Email *string `json:"email,omitempty"`

	// Tags: new tags for the Web Hosting plan.
	Tags *[]string `json:"tags,omitempty"`

	// OfferOptions: list of the Web Hosting plan options IDs with their quantities.
	OfferOptions []*OfferOptionRequest `json:"offer_options"`

	// OfferID: ID of the new offer for the Web Hosting plan.
	OfferID *string `json:"offer_id,omitempty"`

	// Protected: whether the hosting is protected or not.
	Protected *bool `json:"protected,omitempty"`
}

HostingAPIUpdateHostingRequest: hosting api update hosting request.

type HostingDomain

type HostingDomain struct {
	// Subdomain: optional free subdomain linked to the Web Hosting plan.
	Subdomain string `json:"subdomain"`

	// CustomDomain: optional custom domain linked to the Web Hosting plan.
	CustomDomain *HostingDomainCustomDomain `json:"custom_domain"`
}

HostingDomain: hosting domain.

type HostingDomainCustomDomain

type HostingDomainCustomDomain struct {
	// Domain: custom domain linked to the hosting plan.
	Domain string `json:"domain"`

	// DomainStatus: status of the custom domain verification.
	// Default value: unknown_status
	DomainStatus DomainStatus `json:"domain_status"`

	// DNSStatus: status of the DNS configuration for the custom domain.
	// Default value: unknown_status
	DNSStatus DNSRecordsStatus `json:"dns_status"`

	// AutoConfigDomainDNS: indicates whether to auto-configure DNS for this domain.
	AutoConfigDomainDNS *AutoConfigDomainDNS `json:"auto_config_domain_dns"`
}

HostingDomainCustomDomain: hosting domain custom domain.

type HostingStatus

type HostingStatus string

func (HostingStatus) MarshalJSON

func (enum HostingStatus) MarshalJSON() ([]byte, error)

func (HostingStatus) String

func (enum HostingStatus) String() string

func (*HostingStatus) UnmarshalJSON

func (enum *HostingStatus) UnmarshalJSON(data []byte) error

func (HostingStatus) Values

func (enum HostingStatus) Values() []HostingStatus

type HostingSummary

type HostingSummary struct {
	// ID: ID of the Web Hosting plan.
	ID string `json:"id"`

	// ProjectID: ID of the Scaleway Project the Web Hosting plan belongs to.
	ProjectID string `json:"project_id"`

	// CreatedAt: date on which the Web Hosting plan was created.
	CreatedAt *time.Time `json:"created_at"`

	// UpdatedAt: date on which the Web Hosting plan was last updated.
	UpdatedAt *time.Time `json:"updated_at"`

	// Status: status of the Web Hosting plan.
	// Default value: unknown_status
	Status HostingStatus `json:"status"`

	// Deprecated: Domain: main domain associated with the Web Hosting plan (deprecated, use domain_info).
	Domain *string `json:"domain,omitempty"`

	// Protected: whether the hosting is protected or not.
	Protected bool `json:"protected"`

	// Deprecated: DNSStatus: DNS status of the Web Hosting plan.
	// Default value: unknown_status
	DNSStatus *DNSRecordsStatus `json:"dns_status,omitempty"`

	// OfferName: name of the active offer for the Web Hosting plan.
	OfferName string `json:"offer_name"`

	// Deprecated: DomainStatus: main domain status of the Web Hosting plan.
	// Default value: unknown_status
	DomainStatus *DomainStatus `json:"domain_status,omitempty"`

	// Region: region where the Web Hosting plan is hosted.
	Region scw.Region `json:"region"`

	// DomainInfo: domain configuration block (subdomain, optional custom domain, and DNS settings).
	DomainInfo *HostingDomain `json:"domain_info"`
}

HostingSummary: hosting summary.

type HostingUser

type HostingUser struct {
	// Username: main Web Hosting control panel username.
	Username string `json:"username"`

	// Deprecated: OneTimePassword: one-time-password used for the first login to the control panel, cleared after first use (deprecated, use password_b64 instead).
	OneTimePassword *string `json:"one_time_password,omitempty"`

	// ContactEmail: contact email used for the hosting.
	ContactEmail string `json:"contact_email"`

	// OneTimePasswordB64: one-time-password used for the first login to the control panel, cleared after first use, encoded in base64.
	OneTimePasswordB64 *string `json:"one_time_password_b64"`
}

HostingUser: hosting user.

type ListBackupItemsResponse

type ListBackupItemsResponse struct {
	// TotalCount: total number of backup item groups.
	TotalCount uint64 `json:"total_count"`

	// Groups: list of backup item groups categorized by type.
	Groups []*BackupItemGroup `json:"groups"`
}

ListBackupItemsResponse: list backup items response.

func (*ListBackupItemsResponse) UnsafeAppend

func (r *ListBackupItemsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListBackupItemsResponse) UnsafeGetTotalCount

func (r *ListBackupItemsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListBackupsRequestOrderBy

type ListBackupsRequestOrderBy string

func (ListBackupsRequestOrderBy) MarshalJSON

func (enum ListBackupsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListBackupsRequestOrderBy) String

func (enum ListBackupsRequestOrderBy) String() string

func (*ListBackupsRequestOrderBy) UnmarshalJSON

func (enum *ListBackupsRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListBackupsRequestOrderBy) Values

type ListBackupsResponse

type ListBackupsResponse struct {
	// TotalCount: total number of available backups.
	TotalCount uint64 `json:"total_count"`

	// Backups: list of available backups.
	Backups []*Backup `json:"backups"`
}

ListBackupsResponse: list backups response.

func (*ListBackupsResponse) UnsafeAppend

func (r *ListBackupsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListBackupsResponse) UnsafeGetTotalCount

func (r *ListBackupsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListControlPanelsResponse

type ListControlPanelsResponse struct {
	// TotalCount: number of control panels returned.
	TotalCount uint64 `json:"total_count"`

	// ControlPanels: list of control panels.
	ControlPanels []*ControlPanel `json:"control_panels"`
}

ListControlPanelsResponse: list control panels response.

func (*ListControlPanelsResponse) UnsafeAppend

func (r *ListControlPanelsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListControlPanelsResponse) UnsafeGetTotalCount

func (r *ListControlPanelsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListDatabaseUsersRequestOrderBy

type ListDatabaseUsersRequestOrderBy string

func (ListDatabaseUsersRequestOrderBy) MarshalJSON

func (enum ListDatabaseUsersRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListDatabaseUsersRequestOrderBy) String

func (*ListDatabaseUsersRequestOrderBy) UnmarshalJSON

func (enum *ListDatabaseUsersRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListDatabaseUsersRequestOrderBy) Values

type ListDatabaseUsersResponse

type ListDatabaseUsersResponse struct {
	// TotalCount: total number of database users.
	TotalCount uint64 `json:"total_count"`

	// Users: list of database users.
	Users []*DatabaseUser `json:"users"`
}

ListDatabaseUsersResponse: list database users response.

func (*ListDatabaseUsersResponse) UnsafeAppend

func (r *ListDatabaseUsersResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListDatabaseUsersResponse) UnsafeGetTotalCount

func (r *ListDatabaseUsersResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListDatabasesRequestOrderBy

type ListDatabasesRequestOrderBy string

func (ListDatabasesRequestOrderBy) MarshalJSON

func (enum ListDatabasesRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListDatabasesRequestOrderBy) String

func (enum ListDatabasesRequestOrderBy) String() string

func (*ListDatabasesRequestOrderBy) UnmarshalJSON

func (enum *ListDatabasesRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListDatabasesRequestOrderBy) Values

type ListDatabasesResponse

type ListDatabasesResponse struct {
	// TotalCount: total number of databases.
	TotalCount uint64 `json:"total_count"`

	// Databases: list of databases.
	Databases []*Database `json:"databases"`
}

ListDatabasesResponse: list databases response.

func (*ListDatabasesResponse) UnsafeAppend

func (r *ListDatabasesResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListDatabasesResponse) UnsafeGetTotalCount

func (r *ListDatabasesResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListFreeRootDomainsResponse

type ListFreeRootDomainsResponse struct {
	// RootDomains: list of free root domains available for the Web Hosting.
	RootDomains []string `json:"root_domains"`

	// TotalCount: total number of free root domains available.
	TotalCount uint32 `json:"total_count"`
}

ListFreeRootDomainsResponse: list free root domains response.

func (*ListFreeRootDomainsResponse) UnsafeAppend

func (r *ListFreeRootDomainsResponse) UnsafeAppend(res any) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListFreeRootDomainsResponse) UnsafeGetTotalCount

func (r *ListFreeRootDomainsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListFtpAccountsRequestOrderBy

type ListFtpAccountsRequestOrderBy string

func (ListFtpAccountsRequestOrderBy) MarshalJSON

func (enum ListFtpAccountsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListFtpAccountsRequestOrderBy) String

func (enum ListFtpAccountsRequestOrderBy) String() string

func (*ListFtpAccountsRequestOrderBy) UnmarshalJSON

func (enum *ListFtpAccountsRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListFtpAccountsRequestOrderBy) Values

type ListFtpAccountsResponse

type ListFtpAccountsResponse struct {
	// TotalCount: total number of FTP accounts.
	TotalCount uint64 `json:"total_count"`

	// FtpAccounts: list of FTP accounts.
	FtpAccounts []*FtpAccount `json:"ftp_accounts"`
}

ListFtpAccountsResponse: list ftp accounts response.

func (*ListFtpAccountsResponse) UnsafeAppend

func (r *ListFtpAccountsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListFtpAccountsResponse) UnsafeGetTotalCount

func (r *ListFtpAccountsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListHostingsRequestOrderBy

type ListHostingsRequestOrderBy string

func (ListHostingsRequestOrderBy) MarshalJSON

func (enum ListHostingsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListHostingsRequestOrderBy) String

func (enum ListHostingsRequestOrderBy) String() string

func (*ListHostingsRequestOrderBy) UnmarshalJSON

func (enum *ListHostingsRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListHostingsRequestOrderBy) Values

type ListHostingsResponse

type ListHostingsResponse struct {
	// TotalCount: number of Web Hosting plans returned.
	TotalCount uint64 `json:"total_count"`

	// Hostings: list of Web Hosting plans.
	Hostings []*HostingSummary `json:"hostings"`
}

ListHostingsResponse: list hostings response.

func (*ListHostingsResponse) UnsafeAppend

func (r *ListHostingsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListHostingsResponse) UnsafeGetTotalCount

func (r *ListHostingsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListMailAccountsRequestOrderBy

type ListMailAccountsRequestOrderBy string

func (ListMailAccountsRequestOrderBy) MarshalJSON

func (enum ListMailAccountsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListMailAccountsRequestOrderBy) String

func (enum ListMailAccountsRequestOrderBy) String() string

func (*ListMailAccountsRequestOrderBy) UnmarshalJSON

func (enum *ListMailAccountsRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListMailAccountsRequestOrderBy) Values

type ListMailAccountsResponse

type ListMailAccountsResponse struct {
	// TotalCount: total number of mail accounts.
	TotalCount uint64 `json:"total_count"`

	// MailAccounts: list of mail accounts.
	MailAccounts []*MailAccount `json:"mail_accounts"`
}

ListMailAccountsResponse: list mail accounts response.

func (*ListMailAccountsResponse) UnsafeAppend

func (r *ListMailAccountsResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListMailAccountsResponse) UnsafeGetTotalCount

func (r *ListMailAccountsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListOffersRequestOrderBy

type ListOffersRequestOrderBy string

func (ListOffersRequestOrderBy) MarshalJSON

func (enum ListOffersRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListOffersRequestOrderBy) String

func (enum ListOffersRequestOrderBy) String() string

func (*ListOffersRequestOrderBy) UnmarshalJSON

func (enum *ListOffersRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListOffersRequestOrderBy) Values

type ListOffersResponse

type ListOffersResponse struct {
	// TotalCount: total number of offers.
	TotalCount uint64 `json:"total_count"`

	// Offers: list of offers.
	Offers []*Offer `json:"offers"`
}

ListOffersResponse: list offers response.

func (*ListOffersResponse) UnsafeAppend

func (r *ListOffersResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListOffersResponse) UnsafeGetTotalCount

func (r *ListOffersResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListWebsitesRequestOrderBy

type ListWebsitesRequestOrderBy string

func (ListWebsitesRequestOrderBy) MarshalJSON

func (enum ListWebsitesRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListWebsitesRequestOrderBy) String

func (enum ListWebsitesRequestOrderBy) String() string

func (*ListWebsitesRequestOrderBy) UnmarshalJSON

func (enum *ListWebsitesRequestOrderBy) UnmarshalJSON(data []byte) error

func (ListWebsitesRequestOrderBy) Values

type ListWebsitesResponse

type ListWebsitesResponse struct {
	// TotalCount: total number of websites.
	TotalCount uint64 `json:"total_count"`

	// Websites: list of websites.
	Websites []*Website `json:"websites"`
}

ListWebsitesResponse: list websites response.

func (*ListWebsitesResponse) UnsafeAppend

func (r *ListWebsitesResponse) UnsafeAppend(res any) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListWebsitesResponse) UnsafeGetTotalCount

func (r *ListWebsitesResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type MailAccount

type MailAccount struct {
	// Domain: domain part of the mail account address.
	Domain string `json:"domain"`

	// Username: username part address of the mail account address.
	Username string `json:"username"`
}

MailAccount: mail account.

type MailAccountAPI

type MailAccountAPI struct {
	// contains filtered or unexported fields
}

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

func NewMailAccountAPI

func NewMailAccountAPI(client *scw.Client) *MailAccountAPI

NewMailAccountAPI returns a MailAccountAPI object from a Scaleway client.

func (*MailAccountAPI) ChangeMailAccountPassword

func (s *MailAccountAPI) ChangeMailAccountPassword(req *MailAccountAPIChangeMailAccountPasswordRequest, opts ...scw.RequestOption) (*MailAccount, error)

ChangeMailAccountPassword: Update the password of a mail account within your hosting plan.

func (*MailAccountAPI) CreateMailAccount

CreateMailAccount: Create a new mail account within your hosting plan.

func (*MailAccountAPI) ListMailAccounts

ListMailAccounts: List all mail accounts within your hosting plan.

func (*MailAccountAPI) Regions

func (s *MailAccountAPI) Regions() []scw.Region

func (*MailAccountAPI) RemoveMailAccount

RemoveMailAccount: Delete a mail account within your hosting plan.

type MailAccountAPIChangeMailAccountPasswordRequest

type MailAccountAPIChangeMailAccountPasswordRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Domain: domain part of the mail account address.
	Domain string `json:"domain"`

	// Username: username part of the mail account address.
	Username string `json:"username"`

	// Password: new password for the mail account.
	Password string `json:"password"`
}

MailAccountAPIChangeMailAccountPasswordRequest: mail account api change mail account password request.

type MailAccountAPICreateMailAccountRequest

type MailAccountAPICreateMailAccountRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Domain: domain part of the mail account address.
	Domain string `json:"domain"`

	// Username: username part address of the mail account address.
	Username string `json:"username"`

	// Password: password for the new mail account.
	Password string `json:"password"`
}

MailAccountAPICreateMailAccountRequest: mail account api create mail account request.

type MailAccountAPIListMailAccountsRequest

type MailAccountAPIListMailAccountsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of mail accounts to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order of mail accounts in the response.
	// Default value: username_asc
	OrderBy ListMailAccountsRequestOrderBy `json:"-"`

	// Domain: domain to filter the mail accounts.
	Domain *string `json:"-"`
}

MailAccountAPIListMailAccountsRequest: mail account api list mail accounts request.

type MailAccountAPIRemoveMailAccountRequest

type MailAccountAPIRemoveMailAccountRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Domain: domain part of the mail account address.
	Domain string `json:"domain"`

	// Username: username part of the mail account address.
	Username string `json:"username"`
}

MailAccountAPIRemoveMailAccountRequest: mail account api remove mail account request.

type Nameserver

type Nameserver struct {
	// Hostname: hostname of the nameserver.
	Hostname string `json:"hostname"`

	// Status: status of the nameserver.
	// Default value: unknown_status
	Status NameserverStatus `json:"status"`

	// IsDefault: defines whether the nameserver is the default one.
	IsDefault bool `json:"is_default"`
}

Nameserver: nameserver.

type NameserverStatus

type NameserverStatus string

func (NameserverStatus) MarshalJSON

func (enum NameserverStatus) MarshalJSON() ([]byte, error)

func (NameserverStatus) String

func (enum NameserverStatus) String() string

func (*NameserverStatus) UnmarshalJSON

func (enum *NameserverStatus) UnmarshalJSON(data []byte) error

func (NameserverStatus) Values

func (enum NameserverStatus) Values() []NameserverStatus

type Offer

type Offer struct {
	// ID: offer ID.
	ID string `json:"id"`

	// Name: offer name.
	Name string `json:"name"`

	// BillingOperationPath: unique identifier used for billing.
	BillingOperationPath string `json:"billing_operation_path"`

	// Options: options available for the offer.
	Options []*OfferOption `json:"options"`

	// Price: price of the offer.
	Price *scw.Money `json:"price"`

	// Available: if a hosting_id was specified in the call, defines whether the offer is available for a specified hosting plan to migrate (update) to.
	Available bool `json:"available"`

	// ControlPanelName: name of the control panel.
	ControlPanelName string `json:"control_panel_name"`

	// EndOfLife: indicates if the offer has reached its end of life.
	EndOfLife bool `json:"end_of_life"`

	// QuotaWarning: defines a warning if the maximum value for an option in the offer is exceeded.
	// Default value: unknown_warning
	QuotaWarning OfferOptionWarning `json:"quota_warning"`
}

Offer: offer.

type OfferAPI

type OfferAPI struct {
	// contains filtered or unexported fields
}

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

func NewOfferAPI

func NewOfferAPI(client *scw.Client) *OfferAPI

NewOfferAPI returns a OfferAPI object from a Scaleway client.

func (*OfferAPI) ListOffers

ListOffers: List all available hosting offers along with their specific options.

func (*OfferAPI) Regions

func (s *OfferAPI) Regions() []scw.Region

type OfferAPIListOffersRequest

type OfferAPIListOffersRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of websites to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order for Web Hosting offers in the response.
	// Default value: price_asc
	OrderBy ListOffersRequestOrderBy `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID *string `json:"-"`

	// ControlPanels: name of the control panel(s) to filter for.
	ControlPanels []string `json:"-"`
}

OfferAPIListOffersRequest: offer api list offers request.

type OfferOption

type OfferOption struct {
	// ID: option ID.
	ID string `json:"id"`

	// Name: name of the option.
	// Default value: unknown_name
	Name OfferOptionName `json:"name"`

	// BillingOperationPath: unique identifier used for billing.
	BillingOperationPath string `json:"billing_operation_path"`

	// MinValue: minimum value for the option in the offer.
	MinValue int32 `json:"min_value"`

	// CurrentValue: if a hosting_id was specified in the call, defines the current value of the option in the hosting.
	CurrentValue int32 `json:"current_value"`

	// MaxValue: maximum value for the option in the offer.
	MaxValue int32 `json:"max_value"`

	// QuotaWarning: defines a warning if the maximum value for the option has been reached.
	// Default value: unknown_warning
	QuotaWarning OfferOptionWarning `json:"quota_warning"`

	// Price: price of the option for 1 value.
	Price *scw.Money `json:"price"`
}

OfferOption: offer option.

type OfferOptionName

type OfferOptionName string

func (OfferOptionName) MarshalJSON

func (enum OfferOptionName) MarshalJSON() ([]byte, error)

func (OfferOptionName) String

func (enum OfferOptionName) String() string

func (*OfferOptionName) UnmarshalJSON

func (enum *OfferOptionName) UnmarshalJSON(data []byte) error

func (OfferOptionName) Values

func (enum OfferOptionName) Values() []OfferOptionName

type OfferOptionRequest

type OfferOptionRequest struct {
	// ID: offer option ID.
	ID string `json:"id"`

	// Quantity: the option requested quantity to set for the Web Hosting plan.
	Quantity int64 `json:"quantity"`
}

OfferOptionRequest: offer option request.

type OfferOptionWarning

type OfferOptionWarning string

func (OfferOptionWarning) MarshalJSON

func (enum OfferOptionWarning) MarshalJSON() ([]byte, error)

func (OfferOptionWarning) String

func (enum OfferOptionWarning) String() string

func (*OfferOptionWarning) UnmarshalJSON

func (enum *OfferOptionWarning) UnmarshalJSON(data []byte) error

func (OfferOptionWarning) Values

func (enum OfferOptionWarning) Values() []OfferOptionWarning

type Platform

type Platform struct {
	// Hostname: hostname of the host platform.
	Hostname string `json:"hostname"`

	// Number: number of the host platform.
	Number int32 `json:"number"`

	// GroupName: group name of the hosting's host platform.
	// Default value: unknown_group
	GroupName PlatformPlatformGroup `json:"group_name"`

	// IPv4: iPv4 address of the hosting's host platform.
	IPv4 net.IP `json:"ipv4"`

	// IPv6: iPv6 address of the hosting's host platform.
	IPv6 net.IP `json:"ipv6"`

	// ControlPanel: details of the platform control panel.
	ControlPanel *PlatformControlPanel `json:"control_panel"`
}

Platform: platform.

type PlatformControlPanel

type PlatformControlPanel struct {
	// Name: name of the control panel.
	Name string `json:"name"`

	// URLs: URL to connect to control panel dashboard and to Webmail interface.
	URLs *PlatformControlPanelURLs `json:"urls"`
}

PlatformControlPanel: platform control panel.

type PlatformControlPanelURLs

type PlatformControlPanelURLs struct {
	// Dashboard: URL to connect to the hosting control panel dashboard.
	Dashboard string `json:"dashboard"`

	// Webmail: URL to connect to the hosting Webmail interface.
	Webmail string `json:"webmail"`
}

PlatformControlPanelURLs: platform control panel ur ls.

type PlatformPlatformGroup

type PlatformPlatformGroup string

func (PlatformPlatformGroup) MarshalJSON

func (enum PlatformPlatformGroup) MarshalJSON() ([]byte, error)

func (PlatformPlatformGroup) String

func (enum PlatformPlatformGroup) String() string

func (*PlatformPlatformGroup) UnmarshalJSON

func (enum *PlatformPlatformGroup) UnmarshalJSON(data []byte) error

func (PlatformPlatformGroup) Values

type ResetHostingPasswordResponse

type ResetHostingPasswordResponse struct {
	// Deprecated: OneTimePassword: new temporary password (deprecated, use password_b64 instead).
	OneTimePassword *string `json:"one_time_password,omitempty"`

	// OneTimePasswordB64: new temporary password, encoded in base64.
	OneTimePasswordB64 string `json:"one_time_password_b64"`
}

ResetHostingPasswordResponse: reset hosting password response.

type ResourceSummary

type ResourceSummary struct {
	// DatabasesCount: total number of active databases in the Web Hosting plan.
	DatabasesCount uint32 `json:"databases_count"`

	// MailAccountsCount: total number of active email accounts in the Web Hosting plan.
	MailAccountsCount uint32 `json:"mail_accounts_count"`

	// FtpAccountsCount: total number of active FTP accounts in the Web Hosting plan.
	FtpAccountsCount uint32 `json:"ftp_accounts_count"`

	// WebsitesCount: total number of active domains in the Web Hosting plan.
	WebsitesCount uint32 `json:"websites_count"`
}

ResourceSummary: resource summary.

type RestoreBackupItemsResponse

type RestoreBackupItemsResponse struct{}

RestoreBackupItemsResponse: restore backup items response.

type RestoreBackupResponse

type RestoreBackupResponse struct{}

RestoreBackupResponse: restore backup response.

type SearchDomainsResponse

type SearchDomainsResponse struct {
	// DomainsAvailable: list of domains availability.
	DomainsAvailable []*DomainAvailability `json:"domains_available"`
}

SearchDomainsResponse: search domains response.

type Session

type Session struct {
	// URL: logged user's session URL.
	URL string `json:"url"`
}

Session: session.

type SyncDomainDNSRecordsRequestRecord

type SyncDomainDNSRecordsRequestRecord struct {
	Name string `json:"name"`

	// Type: default value: unknown_type
	Type DNSRecordType `json:"type"`
}

SyncDomainDNSRecordsRequestRecord: sync domain dns records request record.

type WaitForHostingRequest

type WaitForHostingRequest struct {
	HostingID     string
	Region        scw.Region
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForHostingRequest is used by WaitForHosting method.

type Website

type Website struct {
	// Domain: the domain of the website.
	Domain string `json:"domain"`

	// Path: the directory path of the website.
	Path string `json:"path"`

	// SslStatus: the SSL status of the website.
	SslStatus bool `json:"ssl_status"`
}

Website: website.

type WebsiteAPI

type WebsiteAPI struct {
	// contains filtered or unexported fields
}

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

func NewWebsiteAPI

func NewWebsiteAPI(client *scw.Client) *WebsiteAPI

NewWebsiteAPI returns a WebsiteAPI object from a Scaleway client.

func (*WebsiteAPI) ListWebsites

ListWebsites: List all websites for a specific hosting.

func (*WebsiteAPI) Regions

func (s *WebsiteAPI) Regions() []scw.Region

type WebsiteAPIListWebsitesRequest

type WebsiteAPIListWebsitesRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// HostingID: UUID of the hosting plan.
	HostingID string `json:"-"`

	// Page: page number (must be a positive integer).
	Page *int32 `json:"-"`

	// PageSize: number of websites to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`

	// OrderBy: sort order for Web Hosting websites in the response.
	// Default value: domain_asc
	OrderBy ListWebsitesRequestOrderBy `json:"-"`
}

WebsiteAPIListWebsitesRequest: website api list websites request.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL