webhosting

package
v1.0.0-beta.23 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Overview

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

Index

Constants

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 (
	DNSRecordsStatusUnknown = DNSRecordsStatus("unknown")
	DNSRecordsStatusValid   = DNSRecordsStatus("valid")
	DNSRecordsStatusInvalid = DNSRecordsStatus("invalid")
)
View Source
const (
	HostingDNSStatusUnknownDNSStatus = HostingDNSStatus("unknown_dns_status")
	HostingDNSStatusValid            = HostingDNSStatus("valid")
	HostingDNSStatusInvalid          = HostingDNSStatus("invalid")
)
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")
)
View Source
const (
	ListHostingsRequestOrderByCreatedAtAsc  = ListHostingsRequestOrderBy("created_at_asc")
	ListHostingsRequestOrderByCreatedAtDesc = ListHostingsRequestOrderBy("created_at_desc")
)
View Source
const (
	NameserverStatusUnknownStatus = NameserverStatus("unknown_status")
	NameserverStatusValid         = NameserverStatus("valid")
	NameserverStatusInvalid       = NameserverStatus("invalid")
)
View Source
const (
	OfferQuotaWarningUnknownQuotaWarning   = OfferQuotaWarning("unknown_quota_warning")
	OfferQuotaWarningEmailCountExceeded    = OfferQuotaWarning("email_count_exceeded")
	OfferQuotaWarningDatabaseCountExceeded = OfferQuotaWarning("database_count_exceeded")
	OfferQuotaWarningDiskUsageExceeded     = OfferQuotaWarning("disk_usage_exceeded")
)
View Source
const (
	ListOffersRequestOrderByPriceAsc = ListOffersRequestOrderBy("price_asc")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

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

Web Hosting API.

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) CreateHosting

func (s *API) CreateHosting(req *CreateHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

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

func (*API) DeleteHosting

func (s *API) DeleteHosting(req *DeleteHostingRequest, 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 (*API) GetDomainDNSRecords

func (s *API) GetDomainDNSRecords(req *GetDomainDNSRecordsRequest, opts ...scw.RequestOption) (*DNSRecords, error)

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

func (*API) GetHosting

func (s *API) GetHosting(req *GetHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

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

func (*API) ListControlPanels

func (s *API) ListControlPanels(req *ListControlPanelsRequest, opts ...scw.RequestOption) (*ListControlPanelsResponse, error)

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

func (*API) ListHostings

func (s *API) ListHostings(req *ListHostingsRequest, opts ...scw.RequestOption) (*ListHostingsResponse, error)

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 (*API) ListOffers

func (s *API) ListOffers(req *ListOffersRequest, opts ...scw.RequestOption) (*ListOffersResponse, error)

ListOffers: List the different Web Hosting offers, and their options, available to order from Scaleway.

func (*API) Regions

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

func (*API) RestoreHosting

func (s *API) RestoreHosting(req *RestoreHostingRequest, opts ...scw.RequestOption) (*Hosting, error)

RestoreHosting: When you [delete a Web Hosting plan](#path-hostings-delete-a-hosting), definitive deletion does not take place until the end of the calendar month. In the time between initiating the deletion, and definitive deletion at the end of the month, you can choose to **restore** the Web Hosting plan, using this endpoint and specifying its `hosting_id`.

func (*API) UpdateHosting

func (s *API) UpdateHosting(req *UpdateHostingRequest, 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 (*API) WaitForHosting

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

WaitForHosting wait for a hosting to be in a "terminal state" before returning.

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 this control panel's logo.
	LogoURL string `json:"logo_url"`
}

ControlPanel: control panel.

type CreateHostingRequest

type CreateHostingRequest 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,omitempty"`

	// 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"`

	// OptionIDs: iDs of any selected additional options for the Web Hosting plan.
	OptionIDs []string `json:"option_ids"`

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

CreateHostingRequest: create hosting 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"`
}

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

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

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 DNSRecordsStatus `json:"status"`
}

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

type DeleteHostingRequest

type DeleteHostingRequest 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:"-"`
}

DeleteHostingRequest: delete hosting request.

type GetDomainDNSRecordsRequest

type GetDomainDNSRecordsRequest 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:"-"`
}

GetDomainDNSRecordsRequest: get domain dns records request.

type GetHostingRequest

type GetHostingRequest 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:"-"`
}

GetHostingRequest: get hosting request.

type Hosting

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

	// OrganizationID: ID of the Scaleway Organization the Web Hosting plan belongs to.
	OrganizationID string `json:"organization_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"`

	// PlatformHostname: hostname of the host platform.
	PlatformHostname string `json:"platform_hostname"`

	// PlatformNumber: number of the host platform.
	PlatformNumber *int32 `json:"platform_number"`

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

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

	// Domain: main domain associated with the Web Hosting plan.
	Domain string `json:"domain"`

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

	// Options: array of any options activated for the Web Hosting plan.
	Options []*HostingOption `json:"options"`

	// DNSStatus: DNS status of the Web Hosting plan.
	// Default value: unknown_dns_status
	DNSStatus HostingDNSStatus `json:"dns_status"`

	// CpanelURLs: URL to connect to cPanel dashboard and to Webmail interface.
	CpanelURLs *HostingCpanelURLs `json:"cpanel_urls"`

	// Username: main Web Hosting cPanel username.
	Username string `json:"username"`

	// OfferEndOfLife: indicates if the hosting offer has reached its end of life.
	OfferEndOfLife bool `json:"offer_end_of_life"`

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

	// PlatformGroup: group of the hosting's host server/platform.
	PlatformGroup string `json:"platform_group"`

	// IPv4: iPv4 address of the hosting's host server.
	IPv4 string `json:"ipv4"`

	// IPv6: iPv6 address of the hosting's host server.
	IPv6 string `json:"ipv6"`

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

Hosting: hosting.

type HostingCpanelURLs

type HostingCpanelURLs struct {
	Dashboard string `json:"dashboard"`

	Webmail string `json:"webmail"`
}

HostingCpanelURLs: hosting cpanel ur ls.

type HostingDNSStatus

type HostingDNSStatus string

func (HostingDNSStatus) MarshalJSON

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

func (HostingDNSStatus) String

func (enum HostingDNSStatus) String() string

func (*HostingDNSStatus) UnmarshalJSON

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

type HostingOption

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

	// Name: option name.
	Name string `json:"name"`
}

HostingOption: hosting option.

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

type ListControlPanelsRequest

type ListControlPanelsRequest 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 control panels to return (must be a positive integer lower or equal to 100).
	PageSize *uint32 `json:"-"`
}

ListControlPanelsRequest: list control panels request.

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 interface{}) (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 ListHostingsRequest

type ListHostingsRequest 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:"-"`
}

ListHostingsRequest: list hostings request.

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

type ListHostingsResponse

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

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

ListHostingsResponse: list hostings response.

func (*ListHostingsResponse) UnsafeAppend

func (r *ListHostingsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListHostingsResponse) UnsafeGetTotalCount

func (r *ListHostingsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListOffersRequest

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

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

	// WithoutOptions: defines whether the response should consist of offers only, without options.
	WithoutOptions bool `json:"-"`

	// OnlyOptions: defines whether the response should consist of options only, without offers.
	OnlyOptions bool `json:"-"`

	// HostingID: ID of a Web Hosting plan, to check compatibility with returned offers (in case of wanting to update the plan).
	HostingID *string `json:"-"`

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

ListOffersRequest: list offers request.

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

type ListOffersResponse

type ListOffersResponse struct {
	// Offers: list of offers.
	Offers []*Offer `json:"offers"`
}

ListOffersResponse: list offers response.

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

type Offer

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

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

	// Product: product constituting this offer.
	Product *OfferProduct `json:"product"`

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

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

	// QuotaWarnings: quota warnings, if the offer is not available for the specified hosting_id.
	QuotaWarnings []OfferQuotaWarning `json:"quota_warnings"`

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

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

Offer: offer.

type OfferProduct

type OfferProduct struct {
	// Name: product name.
	Name string `json:"name"`

	// Option: product option.
	Option bool `json:"option"`

	// EmailAccountsQuota: limit number of email accounts.
	EmailAccountsQuota int32 `json:"email_accounts_quota"`

	// EmailStorageQuota: limit quantity of email storage in gigabytes.
	EmailStorageQuota int32 `json:"email_storage_quota"`

	// DatabasesQuota: limit number of databases.
	DatabasesQuota int32 `json:"databases_quota"`

	// HostingStorageQuota: limit quantity of hosting storage in gigabytes.
	HostingStorageQuota uint32 `json:"hosting_storage_quota"`

	// SupportIncluded: whether or not support is included.
	SupportIncluded bool `json:"support_included"`

	// VCPU: limit number of virtual CPU.
	VCPU uint32 `json:"v_cpu"`

	// RAM: limit quantity of memory in gigabytes.
	RAM uint32 `json:"ram"`

	// MaxAddonDomains: limit number of add-on domains.
	MaxAddonDomains int32 `json:"max_addon_domains"`
}

OfferProduct: offer product.

type OfferQuotaWarning

type OfferQuotaWarning string

func (OfferQuotaWarning) MarshalJSON

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

func (OfferQuotaWarning) String

func (enum OfferQuotaWarning) String() string

func (*OfferQuotaWarning) UnmarshalJSON

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

type RestoreHostingRequest

type RestoreHostingRequest 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:"-"`
}

RestoreHostingRequest: restore hosting request.

type UpdateHostingRequest

type UpdateHostingRequest 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"`

	// OptionIDs: iDs of the new options for the Web Hosting plan.
	OptionIDs *[]string `json:"option_ids,omitempty"`

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

UpdateHostingRequest: update hosting request.

type WaitForHostingRequest

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

WaitForHostingRequest is used by WaitForHosting method.

Jump to

Keyboard shortcuts

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