baremetal

package
v1.0.0-beta.13 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2023 License: Apache-2.0 Imports: 14 Imported by: 17

Documentation

Overview

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

Index

Constants

View Source
const (
	// IPReverseStatusUnknown is [insert doc].
	IPReverseStatusUnknown = IPReverseStatus("unknown")
	// IPReverseStatusPending is [insert doc].
	IPReverseStatusPending = IPReverseStatus("pending")
	// IPReverseStatusActive is [insert doc].
	IPReverseStatusActive = IPReverseStatus("active")
	// IPReverseStatusError is [insert doc].
	IPReverseStatusError = IPReverseStatus("error")
)
View Source
const (
	// IPVersionIPv4 is [insert doc].
	IPVersionIPv4 = IPVersion("IPv4")
	// IPVersionIPv6 is [insert doc].
	IPVersionIPv6 = IPVersion("IPv6")
)
View Source
const (
	// ListServerEventsRequestOrderByCreatedAtAsc is [insert doc].
	ListServerEventsRequestOrderByCreatedAtAsc = ListServerEventsRequestOrderBy("created_at_asc")
	// ListServerEventsRequestOrderByCreatedAtDesc is [insert doc].
	ListServerEventsRequestOrderByCreatedAtDesc = ListServerEventsRequestOrderBy("created_at_desc")
)
View Source
const (
	// ListServerPrivateNetworksRequestOrderByCreatedAtAsc is [insert doc].
	ListServerPrivateNetworksRequestOrderByCreatedAtAsc = ListServerPrivateNetworksRequestOrderBy("created_at_asc")
	// ListServerPrivateNetworksRequestOrderByCreatedAtDesc is [insert doc].
	ListServerPrivateNetworksRequestOrderByCreatedAtDesc = ListServerPrivateNetworksRequestOrderBy("created_at_desc")
	// ListServerPrivateNetworksRequestOrderByUpdatedAtAsc is [insert doc].
	ListServerPrivateNetworksRequestOrderByUpdatedAtAsc = ListServerPrivateNetworksRequestOrderBy("updated_at_asc")
	// ListServerPrivateNetworksRequestOrderByUpdatedAtDesc is [insert doc].
	ListServerPrivateNetworksRequestOrderByUpdatedAtDesc = ListServerPrivateNetworksRequestOrderBy("updated_at_desc")
)
View Source
const (
	// ListServersRequestOrderByCreatedAtAsc is [insert doc].
	ListServersRequestOrderByCreatedAtAsc = ListServersRequestOrderBy("created_at_asc")
	// ListServersRequestOrderByCreatedAtDesc is [insert doc].
	ListServersRequestOrderByCreatedAtDesc = ListServersRequestOrderBy("created_at_desc")
)
View Source
const (
	// ListSettingsRequestOrderByCreatedAtAsc is [insert doc].
	ListSettingsRequestOrderByCreatedAtAsc = ListSettingsRequestOrderBy("created_at_asc")
	// ListSettingsRequestOrderByCreatedAtDesc is [insert doc].
	ListSettingsRequestOrderByCreatedAtDesc = ListSettingsRequestOrderBy("created_at_desc")
)
View Source
const (
	// OfferStockEmpty is [insert doc].
	OfferStockEmpty = OfferStock("empty")
	// OfferStockLow is [insert doc].
	OfferStockLow = OfferStock("low")
	// OfferStockAvailable is [insert doc].
	OfferStockAvailable = OfferStock("available")
)
View Source
const (
	// OfferSubscriptionPeriodUnknownSubscriptionPeriod is [insert doc].
	OfferSubscriptionPeriodUnknownSubscriptionPeriod = OfferSubscriptionPeriod("unknown_subscription_period")
	// OfferSubscriptionPeriodHourly is [insert doc].
	OfferSubscriptionPeriodHourly = OfferSubscriptionPeriod("hourly")
	// OfferSubscriptionPeriodMonthly is [insert doc].
	OfferSubscriptionPeriodMonthly = OfferSubscriptionPeriod("monthly")
)
View Source
const (
	// ServerBootTypeUnknownBootType is [insert doc].
	ServerBootTypeUnknownBootType = ServerBootType("unknown_boot_type")
	// ServerBootTypeNormal is [insert doc].
	ServerBootTypeNormal = ServerBootType("normal")
	// ServerBootTypeRescue is [insert doc].
	ServerBootTypeRescue = ServerBootType("rescue")
)
View Source
const (
	// ServerInstallStatusUnknown is [insert doc].
	ServerInstallStatusUnknown = ServerInstallStatus("unknown")
	// ServerInstallStatusToInstall is [insert doc].
	ServerInstallStatusToInstall = ServerInstallStatus("to_install")
	// ServerInstallStatusInstalling is [insert doc].
	ServerInstallStatusInstalling = ServerInstallStatus("installing")
	// ServerInstallStatusCompleted is [insert doc].
	ServerInstallStatusCompleted = ServerInstallStatus("completed")
	// ServerInstallStatusError is [insert doc].
	ServerInstallStatusError = ServerInstallStatus("error")
)
View Source
const (
	// ServerOptionOptionStatusOptionStatusUnknown is [insert doc].
	ServerOptionOptionStatusOptionStatusUnknown = ServerOptionOptionStatus("option_status_unknown")
	// ServerOptionOptionStatusOptionStatusEnable is [insert doc].
	ServerOptionOptionStatusOptionStatusEnable = ServerOptionOptionStatus("option_status_enable")
	// ServerOptionOptionStatusOptionStatusEnabling is [insert doc].
	ServerOptionOptionStatusOptionStatusEnabling = ServerOptionOptionStatus("option_status_enabling")
	// ServerOptionOptionStatusOptionStatusDisabling is [insert doc].
	ServerOptionOptionStatusOptionStatusDisabling = ServerOptionOptionStatus("option_status_disabling")
	// ServerOptionOptionStatusOptionStatusError is [insert doc].
	ServerOptionOptionStatusOptionStatusError = ServerOptionOptionStatus("option_status_error")
)
View Source
const (
	// ServerPingStatusPingStatusUnknown is [insert doc].
	ServerPingStatusPingStatusUnknown = ServerPingStatus("ping_status_unknown")
	// ServerPingStatusPingStatusUp is [insert doc].
	ServerPingStatusPingStatusUp = ServerPingStatus("ping_status_up")
	// ServerPingStatusPingStatusDown is [insert doc].
	ServerPingStatusPingStatusDown = ServerPingStatus("ping_status_down")
)
View Source
const (
	// ServerPrivateNetworkStatusUnknown is [insert doc].
	ServerPrivateNetworkStatusUnknown = ServerPrivateNetworkStatus("unknown")
	// ServerPrivateNetworkStatusAttaching is [insert doc].
	ServerPrivateNetworkStatusAttaching = ServerPrivateNetworkStatus("attaching")
	// ServerPrivateNetworkStatusAttached is [insert doc].
	ServerPrivateNetworkStatusAttached = ServerPrivateNetworkStatus("attached")
	// ServerPrivateNetworkStatusError is [insert doc].
	ServerPrivateNetworkStatusError = ServerPrivateNetworkStatus("error")
	// ServerPrivateNetworkStatusDetaching is [insert doc].
	ServerPrivateNetworkStatusDetaching = ServerPrivateNetworkStatus("detaching")
	// ServerPrivateNetworkStatusLocked is [insert doc].
	ServerPrivateNetworkStatusLocked = ServerPrivateNetworkStatus("locked")
)
View Source
const (
	// ServerStatusUnknown is [insert doc].
	ServerStatusUnknown = ServerStatus("unknown")
	// ServerStatusDelivering is [insert doc].
	ServerStatusDelivering = ServerStatus("delivering")
	// ServerStatusReady is [insert doc].
	ServerStatusReady = ServerStatus("ready")
	// ServerStatusStopping is [insert doc].
	ServerStatusStopping = ServerStatus("stopping")
	// ServerStatusStopped is [insert doc].
	ServerStatusStopped = ServerStatus("stopped")
	// ServerStatusStarting is [insert doc].
	ServerStatusStarting = ServerStatus("starting")
	// ServerStatusError is [insert doc].
	ServerStatusError = ServerStatus("error")
	// ServerStatusDeleting is [insert doc].
	ServerStatusDeleting = ServerStatus("deleting")
	// ServerStatusLocked is [insert doc].
	ServerStatusLocked = ServerStatus("locked")
	// ServerStatusOutOfStock is [insert doc].
	ServerStatusOutOfStock = ServerStatus("out_of_stock")
	// ServerStatusOrdered is [insert doc].
	ServerStatusOrdered = ServerStatus("ordered")
	// ServerStatusResetting is [insert doc].
	ServerStatusResetting = ServerStatus("resetting")
)
View Source
const (
	// SettingTypeUnknown is [insert doc].
	SettingTypeUnknown = SettingType("unknown")
	// SettingTypeSMTP is [insert doc].
	SettingTypeSMTP = SettingType("smtp")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

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

API: this API allows to manage your Bare metal server

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) AddOptionServer

func (s *API) AddOptionServer(req *AddOptionServerRequest, opts ...scw.RequestOption) (*Server, error)

AddOptionServer: add server option

Add an option to a specific server.

func (*API) CreateServer

func (s *API) CreateServer(req *CreateServerRequest, opts ...scw.RequestOption) (*Server, error)

CreateServer: create an elastic metal server

Create a new elastic metal server. Once the server is created, you probably want to install an OS.

func (*API) DeleteOptionServer

func (s *API) DeleteOptionServer(req *DeleteOptionServerRequest, opts ...scw.RequestOption) (*Server, error)

DeleteOptionServer: delete server option

Delete an option from a specific server.

func (*API) DeleteServer

func (s *API) DeleteServer(req *DeleteServerRequest, opts ...scw.RequestOption) (*Server, error)

DeleteServer: delete an elastic metal server

Delete the server associated with the given ID.

func (*API) GetBMCAccess

func (s *API) GetBMCAccess(req *GetBMCAccessRequest, opts ...scw.RequestOption) (*BMCAccess, error)

GetBMCAccess: get BMC (Baseboard Management Controller) access for a given elastic metal server

Get the BMC (Baseboard Management Controller) access associated with the given ID.

func (*API) GetOS

func (s *API) GetOS(req *GetOSRequest, opts ...scw.RequestOption) (*OS, error)

GetOS: get an OS with a given ID

Return specific OS for the given ID.

func (*API) GetOffer

func (s *API) GetOffer(req *GetOfferRequest, opts ...scw.RequestOption) (*Offer, error)

GetOffer: get offer

Return specific offer for the given ID.

func (*API) GetOfferByName

func (s *API) GetOfferByName(req *GetOfferByNameRequest) (*Offer, error)

GetOfferByName returns an offer from its commercial name

func (*API) GetOption

func (s *API) GetOption(req *GetOptionRequest, opts ...scw.RequestOption) (*Option, error)

GetOption: get option

Return specific option for the given ID.

func (*API) GetServer

func (s *API) GetServer(req *GetServerRequest, opts ...scw.RequestOption) (*Server, error)

GetServer: get a specific elastic metal server

Get the server associated with the given ID.

func (*API) GetServerMetrics

func (s *API) GetServerMetrics(req *GetServerMetricsRequest, opts ...scw.RequestOption) (*GetServerMetricsResponse, error)

GetServerMetrics: return server metrics

Give the ping status on the server associated with the given ID.

func (*API) GetServerOffer

func (s *API) GetServerOffer(server *Server) (*Offer, error)

GetServerOffer returns the offer of a baremetal server

func (*API) InstallServer

func (s *API) InstallServer(req *InstallServerRequest, opts ...scw.RequestOption) (*Server, error)

InstallServer: install an elastic metal server

Install an OS on the server associated with the given ID.

func (*API) ListOS

func (s *API) ListOS(req *ListOSRequest, opts ...scw.RequestOption) (*ListOSResponse, error)

ListOS: list all available OS that can be install on an elastic metal server

List all available OS that can be install on an elastic metal server.

func (*API) ListOffers

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

ListOffers: list offers

List all available server offers.

func (*API) ListOptions

func (s *API) ListOptions(req *ListOptionsRequest, opts ...scw.RequestOption) (*ListOptionsResponse, error)

ListOptions: list options

List all options matching with filters.

func (*API) ListServerEvents

func (s *API) ListServerEvents(req *ListServerEventsRequest, opts ...scw.RequestOption) (*ListServerEventsResponse, error)

ListServerEvents: list server events

List events associated to the given server ID.

func (*API) ListServers

func (s *API) ListServers(req *ListServersRequest, opts ...scw.RequestOption) (*ListServersResponse, error)

ListServers: list elastic metal servers for organization

List elastic metal servers for organization.

func (*API) ListSettings

func (s *API) ListSettings(req *ListSettingsRequest, opts ...scw.RequestOption) (*ListSettingsResponse, error)

ListSettings: list all settings

Return all settings for a project ID.

func (*API) RebootServer

func (s *API) RebootServer(req *RebootServerRequest, opts ...scw.RequestOption) (*Server, error)

RebootServer: reboot an elastic metal server

Reboot the server associated with the given ID, use boot param to reboot in rescue.

func (*API) StartBMCAccess

func (s *API) StartBMCAccess(req *StartBMCAccessRequest, opts ...scw.RequestOption) (*BMCAccess, error)

StartBMCAccess: start BMC (Baseboard Management Controller) access for a given elastic metal server

Start BMC (Baseboard Management Controller) access associated with the given ID. The BMC (Baseboard Management Controller) access is available one hour after the installation of the server. You need first to create an option Remote Access. You will find the ID and the price with a call to listOffers (https://developers.scaleway.com/en/products/baremetal/api/#get-78db92). Then you can add the option https://developers.scaleway.com/en/products/baremetal/api/#post-b14abd. Do not forget to delete the Option.

After start BMC, you need to Get Remote Access to get the login/password https://developers.scaleway.com/en/products/baremetal/api/#get-cefc0f.

func (*API) StartServer

func (s *API) StartServer(req *StartServerRequest, opts ...scw.RequestOption) (*Server, error)

StartServer: start an elastic metal server

Start the server associated with the given ID.

func (*API) StopBMCAccess

func (s *API) StopBMCAccess(req *StopBMCAccessRequest, opts ...scw.RequestOption) error

StopBMCAccess: stop BMC (Baseboard Management Controller) access for a given elastic metal server

Stop BMC (Baseboard Management Controller) access associated with the given ID.

func (*API) StopServer

func (s *API) StopServer(req *StopServerRequest, opts ...scw.RequestOption) (*Server, error)

StopServer: stop an elastic metal server

Stop the server associated with the given ID.

func (*API) UpdateIP

func (s *API) UpdateIP(req *UpdateIPRequest, opts ...scw.RequestOption) (*IP, error)

UpdateIP: update IP

Configure ip associated with the given server ID and ipID. You can use this method to set a reverse dns for an IP.

func (*API) UpdateServer

func (s *API) UpdateServer(req *UpdateServerRequest, opts ...scw.RequestOption) (*Server, error)

UpdateServer: update an elastic metal server

Update the server associated with the given ID.

func (*API) UpdateSetting

func (s *API) UpdateSetting(req *UpdateSettingRequest, opts ...scw.RequestOption) (*Setting, error)

UpdateSetting: update setting

Update a setting for a project ID (enable or disable).

func (*API) WaitForServer

func (s *API) WaitForServer(req *WaitForServerRequest, opts ...scw.RequestOption) (*Server, error)

WaitForServer wait for the server to be in a "terminal state" before returning. This function can be used to wait for a server to be created.

func (*API) WaitForServerInstall

func (s *API) WaitForServerInstall(req *WaitForServerInstallRequest, opts ...scw.RequestOption) (*Server, error)

WaitForServerInstall wait for the server install to be in a "terminal state" before returning. This function can be used to wait for a server to be installed.

func (*API) WaitForServerOptions

func (s *API) WaitForServerOptions(req *WaitForServerOptionsRequest, opts ...scw.RequestOption) (*Server, error)

WaitForServerOptions wait for all server options to be in a "terminal state" before returning. This function can be used to wait for all server options to be set.

func (*API) Zones

func (s *API) Zones() []scw.Zone

Zones list localities the api is available in

type AddOptionServerRequest

type AddOptionServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
	// OptionID: ID of the option to add
	OptionID string `json:"-"`
	// ExpiresAt: auto expire the option after this date
	ExpiresAt *time.Time `json:"expires_at"`
}

type BMCAccess

type BMCAccess struct {
	// URL: URL to access to the server console
	URL string `json:"url"`
	// Login: the login to use for the BMC (Baseboard Management Controller) access authentification
	Login string `json:"login"`
	// Password: the password to use for the BMC (Baseboard Management Controller) access authentification
	Password string `json:"password"`
	// ExpiresAt: the date after which the BMC (Baseboard Management Controller) access will be closed
	ExpiresAt *time.Time `json:"expires_at"`
}

BMCAccess: bmc access

type CPU

type CPU struct {
	// Name: name of the CPU
	Name string `json:"name"`
	// CoreCount: number of cores of the CPU
	CoreCount uint32 `json:"core_count"`
	// ThreadCount: number of threads of the CPU
	ThreadCount uint32 `json:"thread_count"`
	// Frequency: frequency of the CPU in MHz
	Frequency uint32 `json:"frequency"`
	// Benchmark: benchmark of the CPU
	Benchmark string `json:"benchmark"`
}

CPU: cpu

type CreateServerRequest

type CreateServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// OfferID: offer ID of the new server
	OfferID string `json:"offer_id"`
	// Deprecated: OrganizationID: organization ID with which the server will be created
	// Precisely one of OrganizationID, ProjectID must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
	// ProjectID: project ID with which the server will be created
	// Precisely one of OrganizationID, ProjectID must be set.
	ProjectID *string `json:"project_id,omitempty"`
	// Name: name of the server (≠hostname)
	Name string `json:"name"`
	// Description: description associated to the server, max 255 characters
	Description string `json:"description"`
	// Tags: tags to associate to the server
	Tags []string `json:"tags"`
	// Install: configuration of installation
	Install *CreateServerRequestInstall `json:"install"`
	// OptionIDs: iDs of options to enable on server
	OptionIDs []string `json:"option_ids"`
}

type CreateServerRequestInstall

type CreateServerRequestInstall struct {
	// OsID: ID of the OS to install on the server
	OsID string `json:"os_id"`
	// Hostname: hostname of the server
	Hostname string `json:"hostname"`
	// SSHKeyIDs: SSH key IDs authorized on the server
	SSHKeyIDs []string `json:"ssh_key_ids"`
	// User: user used for the installation
	User *string `json:"user"`
	// Password: password used for the installation
	Password *string `json:"password"`
	// ServiceUser: user used for the service to install
	ServiceUser *string `json:"service_user"`
	// ServicePassword: password used for the service to install
	ServicePassword *string `json:"service_password"`
}

CreateServerRequestInstall: create server request. install

type DeleteOptionServerRequest

type DeleteOptionServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
	// OptionID: ID of the option to delete
	OptionID string `json:"-"`
}

type DeleteServerRequest

type DeleteServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server to delete
	ServerID string `json:"-"`
}

type Disk

type Disk struct {
	// Capacity: capacity of the disk in bytes
	Capacity scw.Size `json:"capacity"`
	// Type: type of the disk
	Type string `json:"type"`
}

Disk: disk

type GetBMCAccessRequest

type GetBMCAccessRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
}

type GetOSRequest

type GetOSRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// OsID: ID of the OS
	OsID string `json:"-"`
}

type GetOfferByNameRequest

type GetOfferByNameRequest struct {
	OfferName string
	Zone      scw.Zone
}

type GetOfferRequest

type GetOfferRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// OfferID: ID of the researched Offer
	OfferID string `json:"-"`
}

type GetOptionRequest

type GetOptionRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// OptionID: ID of the option
	OptionID string `json:"-"`
}

type GetServerMetricsRequest

type GetServerMetricsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: server ID to get the metrics
	ServerID string `json:"-"`
}

type GetServerMetricsResponse

type GetServerMetricsResponse struct {
	// Pings: timeseries of ping on the server
	Pings *scw.TimeSeries `json:"pings"`
}

GetServerMetricsResponse: get server metrics response

type GetServerRequest

type GetServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
}

type IP

type IP struct {
	// ID: ID of the IP
	ID string `json:"id"`
	// Address: address of the IP
	Address net.IP `json:"address"`
	// Reverse: reverse IP value
	Reverse string `json:"reverse"`
	// Version: version of IP (v4 or v6)
	//
	// Default value: IPv4
	Version IPVersion `json:"version"`
	// ReverseStatus: status of the reverse
	//
	// Default value: unknown
	ReverseStatus IPReverseStatus `json:"reverse_status"`
	// ReverseStatusMessage: a message related to the reverse status, in case of an error for example
	ReverseStatusMessage string `json:"reverse_status_message"`
}

IP: ip

type IPReverseStatus

type IPReverseStatus string

func (IPReverseStatus) MarshalJSON

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

func (IPReverseStatus) String

func (enum IPReverseStatus) String() string

func (*IPReverseStatus) UnmarshalJSON

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

type IPVersion

type IPVersion string

func (IPVersion) MarshalJSON

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

func (IPVersion) String

func (enum IPVersion) String() string

func (*IPVersion) UnmarshalJSON

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

type InstallServerRequest

type InstallServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: server ID to install
	ServerID string `json:"-"`
	// OsID: ID of the OS to install on the server
	OsID string `json:"os_id"`
	// Hostname: hostname of the server
	Hostname string `json:"hostname"`
	// SSHKeyIDs: SSH key IDs authorized on the server
	SSHKeyIDs []string `json:"ssh_key_ids"`
	// User: user used for the installation
	User *string `json:"user"`
	// Password: password used for the installation
	Password *string `json:"password"`
	// ServiceUser: user used for the service to install
	ServiceUser *string `json:"service_user"`
	// ServicePassword: password used for the service to install
	ServicePassword *string `json:"service_password"`
}

type ListOSRequest

type ListOSRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: number of OS per page
	PageSize *uint32 `json:"-"`
	// OfferID: filter OS by offer ID
	OfferID *string `json:"-"`
}

type ListOSResponse

type ListOSResponse struct {
	// TotalCount: total count of matching OS
	TotalCount uint32 `json:"total_count"`
	// Os: oS that match filters
	Os []*OS `json:"os"`
}

ListOSResponse: list os response

func (*ListOSResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListOSResponse) UnsafeGetTotalCount

func (r *ListOSResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListOffersRequest

type ListOffersRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: number of offers per page
	PageSize *uint32 `json:"-"`
	// SubscriptionPeriod: period of subscription to filter offers
	//
	// Default value: unknown_subscription_period
	SubscriptionPeriod OfferSubscriptionPeriod `json:"-"`
}

type ListOffersResponse

type ListOffersResponse struct {
	// TotalCount: total count of matching offers
	TotalCount uint32 `json:"total_count"`
	// Offers: offers that match filters
	Offers []*Offer `json:"offers"`
}

ListOffersResponse: list offers response

func (*ListOffersResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListOffersResponse) UnsafeGetTotalCount

func (r *ListOffersResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListOptionsRequest

type ListOptionsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: number of options per page
	PageSize *uint32 `json:"-"`
	// OfferID: filter options by offer_id
	OfferID *string `json:"-"`
	// Name: filter options by name
	Name *string `json:"-"`
}

type ListOptionsResponse

type ListOptionsResponse struct {
	// TotalCount: total count of matching options
	TotalCount uint32 `json:"total_count"`
	// Options: options that match filters
	Options []*Option `json:"options"`
}

ListOptionsResponse: list options response

func (*ListOptionsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListOptionsResponse) UnsafeGetTotalCount

func (r *ListOptionsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListServerEventsRequest

type ListServerEventsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server events searched
	ServerID string `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: number of server events per page
	PageSize *uint32 `json:"-"`
	// OrderBy: order of the server events
	//
	// Default value: created_at_asc
	OrderBy ListServerEventsRequestOrderBy `json:"-"`
}

type ListServerEventsRequestOrderBy

type ListServerEventsRequestOrderBy string

func (ListServerEventsRequestOrderBy) MarshalJSON

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

func (ListServerEventsRequestOrderBy) String

func (enum ListServerEventsRequestOrderBy) String() string

func (*ListServerEventsRequestOrderBy) UnmarshalJSON

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

type ListServerEventsResponse

type ListServerEventsResponse struct {
	// TotalCount: total count of matching events
	TotalCount uint32 `json:"total_count"`
	// Events: server events that match filters
	Events []*ServerEvent `json:"events"`
}

ListServerEventsResponse: list server events response

func (*ListServerEventsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListServerEventsResponse) UnsafeGetTotalCount

func (r *ListServerEventsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListServerPrivateNetworksRequestOrderBy

type ListServerPrivateNetworksRequestOrderBy string

func (ListServerPrivateNetworksRequestOrderBy) MarshalJSON

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

func (ListServerPrivateNetworksRequestOrderBy) String

func (*ListServerPrivateNetworksRequestOrderBy) UnmarshalJSON

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

type ListServerPrivateNetworksResponse

type ListServerPrivateNetworksResponse struct {
	ServerPrivateNetworks []*ServerPrivateNetwork `json:"server_private_networks"`

	TotalCount uint32 `json:"total_count"`
}

func (*ListServerPrivateNetworksResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListServerPrivateNetworksResponse) UnsafeGetTotalCount

func (r *ListServerPrivateNetworksResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListServersRequest

type ListServersRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: number of server per page
	PageSize *uint32 `json:"-"`
	// OrderBy: order of the servers
	//
	// Default value: created_at_asc
	OrderBy ListServersRequestOrderBy `json:"-"`
	// Tags: filter by tags
	Tags []string `json:"-"`
	// Status: filter by status
	Status []string `json:"-"`
	// Name: filter by name
	Name *string `json:"-"`
	// OrganizationID: filter by organization ID
	OrganizationID *string `json:"-"`
	// ProjectID: filter by project ID
	ProjectID *string `json:"-"`
	// OptionID: filter by option ID
	OptionID *string `json:"-"`
}

type ListServersRequestOrderBy

type ListServersRequestOrderBy string

func (ListServersRequestOrderBy) MarshalJSON

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

func (ListServersRequestOrderBy) String

func (enum ListServersRequestOrderBy) String() string

func (*ListServersRequestOrderBy) UnmarshalJSON

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

type ListServersResponse

type ListServersResponse struct {
	// TotalCount: total count of matching servers
	TotalCount uint32 `json:"total_count"`
	// Servers: servers that match filters
	Servers []*Server `json:"servers"`
}

ListServersResponse: list servers response

func (*ListServersResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListServersResponse) UnsafeGetTotalCount

func (r *ListServersResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListSettingsRequest

type ListSettingsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Page: page number
	Page *int32 `json:"-"`
	// PageSize: set the maximum list size
	PageSize *uint32 `json:"-"`
	// OrderBy: order the response
	//
	// Default value: created_at_asc
	OrderBy ListSettingsRequestOrderBy `json:"-"`
	// ProjectID: ID of the project
	ProjectID *string `json:"-"`
}

type ListSettingsRequestOrderBy

type ListSettingsRequestOrderBy string

func (ListSettingsRequestOrderBy) MarshalJSON

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

func (ListSettingsRequestOrderBy) String

func (enum ListSettingsRequestOrderBy) String() string

func (*ListSettingsRequestOrderBy) UnmarshalJSON

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

type ListSettingsResponse

type ListSettingsResponse struct {
	// TotalCount: total count of matching sttings
	TotalCount uint32 `json:"total_count"`
	// Settings: settings that match filters
	Settings []*Setting `json:"settings"`
}

ListSettingsResponse: list settings response

func (*ListSettingsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListSettingsResponse) UnsafeGetTotalCount

func (r *ListSettingsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type Memory

type Memory struct {
	// Capacity: capacity of the memory in bytes
	Capacity scw.Size `json:"capacity"`
	// Type: type of the memory
	Type string `json:"type"`
	// Frequency: frequency of the memory in MHz
	Frequency uint32 `json:"frequency"`
	// IsEcc: true if the memory is an error-correcting code memory
	IsEcc bool `json:"is_ecc"`
}

Memory: memory

type OS

type OS struct {
	// ID: ID of the OS
	ID string `json:"id"`
	// Name: name of the OS
	Name string `json:"name"`
	// Version: version of the OS
	Version string `json:"version"`
	// LogoURL: URL of this os's logo
	LogoURL string `json:"logo_url"`
	// SSH: define the SSH requirements to install the OS
	SSH *OSOSField `json:"ssh"`
	// User: define the username requirements to install the OS
	User *OSOSField `json:"user"`
	// Password: define the password requirements to install the OS
	Password *OSOSField `json:"password"`
	// ServiceUser: define the username requirements to install the service
	ServiceUser *OSOSField `json:"service_user"`
	// ServicePassword: define the password requirements to install the service
	ServicePassword *OSOSField `json:"service_password"`
	// Enabled: state of OS
	Enabled bool `json:"enabled"`
	// LicenseRequired: license required (check server options for pricing details)
	LicenseRequired bool `json:"license_required"`
}

OS: os

type OSOSField

type OSOSField struct {
	Editable bool `json:"editable"`

	Required bool `json:"required"`

	DefaultValue *string `json:"default_value"`
}

type Offer

type Offer struct {
	// ID: ID of the offer
	ID string `json:"id"`
	// Name: name of the offer
	Name string `json:"name"`
	// Stock: stock level
	//
	// Default value: empty
	Stock OfferStock `json:"stock"`
	// Bandwidth: bandwidth available in bits/s with the offer
	Bandwidth uint64 `json:"bandwidth"`
	// CommercialRange: commercial range of the offer
	CommercialRange string `json:"commercial_range"`
	// PricePerHour: price of the offer for the next 60 minutes (a server order at 11h32 will be payed until 12h32)
	PricePerHour *scw.Money `json:"price_per_hour"`
	// PricePerMonth: price of the offer per months
	PricePerMonth *scw.Money `json:"price_per_month"`
	// Disks: disks specifications of the offer
	Disks []*Disk `json:"disks"`
	// Enable: true if the offer is currently available
	Enable bool `json:"enable"`
	// CPUs: CPU specifications of the offer
	CPUs []*CPU `json:"cpus"`
	// Memories: memory specifications of the offer
	Memories []*Memory `json:"memories"`
	// QuotaName: name of the quota associated to the offer
	QuotaName string `json:"quota_name"`
	// PersistentMemories: persistent memory specifications of the offer
	PersistentMemories []*PersistentMemory `json:"persistent_memories"`
	// RaidControllers: raid controller specifications of the offer
	RaidControllers []*RaidController `json:"raid_controllers"`
	// IncompatibleOsIDs: array of incompatible OS ids
	IncompatibleOsIDs []string `json:"incompatible_os_ids"`
	// SubscriptionPeriod: period of subscription for the offer
	//
	// Default value: unknown_subscription_period
	SubscriptionPeriod OfferSubscriptionPeriod `json:"subscription_period"`
	// OperationPath: operation path of the service
	OperationPath string `json:"operation_path"`
	// Fee: fee to pay on order
	Fee *scw.Money `json:"fee"`
	// Options: options available on offer
	Options []*OfferOptionOffer `json:"options"`
}

Offer: offer

type OfferOptionOffer

type OfferOptionOffer struct {
	// ID: ID of the option
	ID string `json:"id"`
	// Name: name of the option
	Name string `json:"name"`
	// Enabled: if true the option is enabled and included by default in the offer
	// If false the option is available for the offer but not included by default
	//
	Enabled bool `json:"enabled"`
	// SubscriptionPeriod: period of subscription for the offer
	//
	// Default value: unknown_subscription_period
	SubscriptionPeriod OfferSubscriptionPeriod `json:"subscription_period"`
	// Price: price of the option
	Price *scw.Money `json:"price"`
	// Manageable: boolean to know if option could be managed
	Manageable bool `json:"manageable"`
	// OsID: ID of the OS linked to the option
	OsID *string `json:"os_id"`
}

OfferOptionOffer: offer. option offer

type OfferStock

type OfferStock string

func (OfferStock) MarshalJSON

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

func (OfferStock) String

func (enum OfferStock) String() string

func (*OfferStock) UnmarshalJSON

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

type OfferSubscriptionPeriod

type OfferSubscriptionPeriod string

func (OfferSubscriptionPeriod) MarshalJSON

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

func (OfferSubscriptionPeriod) String

func (enum OfferSubscriptionPeriod) String() string

func (*OfferSubscriptionPeriod) UnmarshalJSON

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

type Option

type Option struct {
	// ID: ID of the option
	ID string `json:"id"`
	// Name: name of the option
	Name string `json:"name"`
	// Manageable: is false if the option could not be added or removed
	Manageable bool `json:"manageable"`
}

Option: option

type PersistentMemory

type PersistentMemory struct {
	// Capacity: capacity of the memory in bytes
	Capacity scw.Size `json:"capacity"`
	// Type: type of the memory
	Type string `json:"type"`
	// Frequency: frequency of the memory in MHz
	Frequency uint32 `json:"frequency"`
}

PersistentMemory: persistent memory

type PrivateNetworkAPI

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

PrivateNetworkAPI: elastic Metal Private Network API

func NewPrivateNetworkAPI

func NewPrivateNetworkAPI(client *scw.Client) *PrivateNetworkAPI

NewPrivateNetworkAPI returns a PrivateNetworkAPI object from a Scaleway client.

func (*PrivateNetworkAPI) AddServerPrivateNetwork

AddServerPrivateNetwork: add a server to a private network

func (*PrivateNetworkAPI) DeleteServerPrivateNetwork

DeleteServerPrivateNetwork: delete a private network

func (*PrivateNetworkAPI) ListServerPrivateNetworks

ListServerPrivateNetworks: list the private networks of a server

func (*PrivateNetworkAPI) SetServerPrivateNetworks

SetServerPrivateNetworks: set multiple private networks on a server

func (*PrivateNetworkAPI) WaitForServerPrivateNetworks

func (s *PrivateNetworkAPI) WaitForServerPrivateNetworks(req *WaitForServerPrivateNetworksRequest, opts ...scw.RequestOption) ([]*ServerPrivateNetwork, error)

WaitForServerPrivateNetworks wait for all server private networks to be in a "terminal state" before returning. This function can be used to wait for all server private networks to be set.

func (*PrivateNetworkAPI) Zones

func (s *PrivateNetworkAPI) Zones() []scw.Zone

Zones list localities the api is available in

type PrivateNetworkAPIAddServerPrivateNetworkRequest

type PrivateNetworkAPIAddServerPrivateNetworkRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: the ID of the server
	ServerID string `json:"-"`
	// PrivateNetworkID: the ID of the private network
	PrivateNetworkID string `json:"private_network_id"`
}

type PrivateNetworkAPIDeleteServerPrivateNetworkRequest

type PrivateNetworkAPIDeleteServerPrivateNetworkRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: the ID of the server
	ServerID string `json:"-"`
	// PrivateNetworkID: the ID of the private network
	PrivateNetworkID string `json:"-"`
}

type PrivateNetworkAPIListServerPrivateNetworksRequest

type PrivateNetworkAPIListServerPrivateNetworksRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// OrderBy: the sort order for the returned private networks
	//
	// Default value: created_at_asc
	OrderBy ListServerPrivateNetworksRequestOrderBy `json:"-"`
	// Page: the page number for the returned private networks
	Page *int32 `json:"-"`
	// PageSize: the maximum number of private networks per page
	PageSize *uint32 `json:"-"`
	// ServerID: filter private networks by server ID
	ServerID *string `json:"-"`
	// PrivateNetworkID: filter private networks by private network ID
	PrivateNetworkID *string `json:"-"`
	// OrganizationID: filter private networks by organization ID
	OrganizationID *string `json:"-"`
	// ProjectID: filter private networks by project ID
	ProjectID *string `json:"-"`
}

type PrivateNetworkAPISetServerPrivateNetworksRequest

type PrivateNetworkAPISetServerPrivateNetworksRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: the ID of the server
	ServerID string `json:"-"`
	// PrivateNetworkIDs: the IDs of the private networks
	PrivateNetworkIDs []string `json:"private_network_ids"`
}

type RaidController

type RaidController struct {
	Model string `json:"model"`

	RaidLevel []string `json:"raid_level"`
}

type RebootServerRequest

type RebootServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server to reboot
	ServerID string `json:"-"`
	// BootType: the type of boot
	//
	// Default value: unknown_boot_type
	BootType ServerBootType `json:"boot_type"`
}

type Server

type Server struct {
	// ID: ID of the server
	ID string `json:"id"`
	// OrganizationID: organization ID the server is attached to
	OrganizationID string `json:"organization_id"`
	// ProjectID: project ID the server is attached to
	ProjectID string `json:"project_id"`
	// Name: name of the server
	Name string `json:"name"`
	// Description: description of the server
	Description string `json:"description"`
	// UpdatedAt: date of last modification of the server
	UpdatedAt *time.Time `json:"updated_at"`
	// CreatedAt: date of creation of the server
	CreatedAt *time.Time `json:"created_at"`
	// Status: status of the server
	//
	// Default value: unknown
	Status ServerStatus `json:"status"`
	// OfferID: offer ID of the server
	OfferID string `json:"offer_id"`
	// OfferName: offer name of the server
	OfferName string `json:"offer_name"`
	// Tags: array of customs tags attached to the server
	Tags []string `json:"tags"`
	// IPs: array of IPs attached to the server
	IPs []*IP `json:"ips"`
	// Domain: domain of the server
	Domain string `json:"domain"`
	// BootType: boot type of the server
	//
	// Default value: unknown_boot_type
	BootType ServerBootType `json:"boot_type"`
	// Zone: the zone in which is the server
	Zone scw.Zone `json:"zone"`
	// Install: configuration of installation
	Install *ServerInstall `json:"install"`
	// PingStatus: server status of ping
	//
	// Default value: ping_status_unknown
	PingStatus ServerPingStatus `json:"ping_status"`
	// Options: options enabled on server
	Options []*ServerOption `json:"options"`
	// RescueServer: configuration of rescue boot
	RescueServer *ServerRescueServer `json:"rescue_server"`
}

Server: server

type ServerBootType

type ServerBootType string

func (ServerBootType) MarshalJSON

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

func (ServerBootType) String

func (enum ServerBootType) String() string

func (*ServerBootType) UnmarshalJSON

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

type ServerEvent

type ServerEvent struct {
	// ID: ID of the server for whom the action will be applied
	ID string `json:"id"`
	// Action: the action that will be applied to the server
	Action string `json:"action"`
	// UpdatedAt: date of last modification of the action
	UpdatedAt *time.Time `json:"updated_at"`
	// CreatedAt: date of creation of the action
	CreatedAt *time.Time `json:"created_at"`
}

ServerEvent: server event

type ServerInstall

type ServerInstall struct {
	// OsID: ID of the OS
	OsID string `json:"os_id"`
	// Hostname: host defined in the server install
	Hostname string `json:"hostname"`
	// SSHKeyIDs: SSH public key IDs defined in the server install
	SSHKeyIDs []string `json:"ssh_key_ids"`
	// Status: status of the server install
	//
	// Default value: unknown
	Status ServerInstallStatus `json:"status"`
	// User: user defined in the server install or the default one if none were specified
	User string `json:"user"`
	// ServiceUser: service user defined in the server install or the default one if none were specified
	ServiceUser string `json:"service_user"`
	// ServiceURL: the address of the installed service
	ServiceURL string `json:"service_url"`
}

ServerInstall: server. install

type ServerInstallStatus

type ServerInstallStatus string

func (ServerInstallStatus) MarshalJSON

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

func (ServerInstallStatus) String

func (enum ServerInstallStatus) String() string

func (*ServerInstallStatus) UnmarshalJSON

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

type ServerOption

type ServerOption struct {
	// ID: ID of the option
	ID string `json:"id"`
	// Name: name of the option
	Name string `json:"name"`
	// Status: status of the option
	//
	// Default value: option_status_unknown
	Status ServerOptionOptionStatus `json:"status"`
	// Manageable: is false if the option could not be added or removed
	Manageable bool `json:"manageable"`
	// ExpiresAt: auto expiration date for compatible options
	ExpiresAt *time.Time `json:"expires_at"`
}

ServerOption: server. option

type ServerOptionOptionStatus

type ServerOptionOptionStatus string

func (ServerOptionOptionStatus) MarshalJSON

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

func (ServerOptionOptionStatus) String

func (enum ServerOptionOptionStatus) String() string

func (*ServerOptionOptionStatus) UnmarshalJSON

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

type ServerPingStatus

type ServerPingStatus string

func (ServerPingStatus) MarshalJSON

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

func (ServerPingStatus) String

func (enum ServerPingStatus) String() string

func (*ServerPingStatus) UnmarshalJSON

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

type ServerPrivateNetwork

type ServerPrivateNetwork struct {
	// ID: the private network ID
	ID string `json:"id"`
	// ProjectID: the private network project ID
	ProjectID string `json:"project_id"`
	// ServerID: the server ID
	ServerID string `json:"server_id"`
	// PrivateNetworkID: the private network ID
	PrivateNetworkID string `json:"private_network_id"`
	// Vlan: the VLAN ID associated to the private network
	Vlan *uint32 `json:"vlan"`
	// Status: the configuration status of the private network
	//
	// Default value: unknown
	Status ServerPrivateNetworkStatus `json:"status"`
	// CreatedAt: the private network creation date
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: the date the private network was last modified
	UpdatedAt *time.Time `json:"updated_at"`
}

ServerPrivateNetwork: server private network

type ServerPrivateNetworkStatus

type ServerPrivateNetworkStatus string

func (ServerPrivateNetworkStatus) MarshalJSON

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

func (ServerPrivateNetworkStatus) String

func (enum ServerPrivateNetworkStatus) String() string

func (*ServerPrivateNetworkStatus) UnmarshalJSON

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

type ServerRescueServer

type ServerRescueServer struct {
	// User: rescue user name
	User string `json:"user"`
	// Password: rescue password
	Password string `json:"password"`
}

ServerRescueServer: server. rescue server

type ServerStatus

type ServerStatus string

func (ServerStatus) MarshalJSON

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

func (ServerStatus) String

func (enum ServerStatus) String() string

func (*ServerStatus) UnmarshalJSON

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

type SetServerPrivateNetworksResponse

type SetServerPrivateNetworksResponse struct {
	ServerPrivateNetworks []*ServerPrivateNetwork `json:"server_private_networks"`
}

type Setting

type Setting struct {
	// ID: ID of the setting
	ID string `json:"id"`
	// Type: type of the setting
	//
	// Default value: unknown
	Type SettingType `json:"type"`
	// ProjectID: ID of the project ID
	ProjectID string `json:"project_id"`
	// Enabled: the setting is enable or disable
	Enabled bool `json:"enabled"`
}

Setting: setting

type SettingType

type SettingType string

func (SettingType) MarshalJSON

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

func (SettingType) String

func (enum SettingType) String() string

func (*SettingType) UnmarshalJSON

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

type StartBMCAccessRequest

type StartBMCAccessRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
	// IP: the IP authorized to connect to the given server
	IP net.IP `json:"ip"`
}

type StartServerRequest

type StartServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server to start
	ServerID string `json:"-"`
	// BootType: the type of boot
	//
	// Default value: unknown_boot_type
	BootType ServerBootType `json:"boot_type"`
}

type StopBMCAccessRequest

type StopBMCAccessRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
}

type StopServerRequest

type StopServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server to stop
	ServerID string `json:"-"`
}

type UpdateIPRequest

type UpdateIPRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server
	ServerID string `json:"-"`
	// IPID: ID of the IP to update
	IPID string `json:"-"`
	// Reverse: new reverse IP to update, not updated if null
	Reverse *string `json:"reverse"`
}

type UpdateServerRequest

type UpdateServerRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ServerID: ID of the server to update
	ServerID string `json:"-"`
	// Name: name of the server (≠hostname), not updated if null
	Name *string `json:"name"`
	// Description: description associated to the server, max 255 characters, not updated if null
	Description *string `json:"description"`
	// Tags: tags associated to the server, not updated if null
	Tags *[]string `json:"tags"`
}

type UpdateSettingRequest

type UpdateSettingRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// SettingID: ID of the setting
	SettingID string `json:"-"`
	// Enabled: enable/Disable the setting
	Enabled *bool `json:"enabled"`
}

type WaitForServerInstallRequest

type WaitForServerInstallRequest struct {
	ServerID      string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForServerInstallRequest is used by WaitForServerInstall method.

type WaitForServerOptionsRequest

type WaitForServerOptionsRequest struct {
	ServerID      string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForServerOptionsRequest is used by WaitForServerOptions method.

type WaitForServerPrivateNetworksRequest

type WaitForServerPrivateNetworksRequest struct {
	ServerID      string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForServerPrivateNetworksRequest is used by WaitForServerPrivateNetworks method.

type WaitForServerRequest

type WaitForServerRequest struct {
	ServerID      string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForServerRequest is used by WaitForServer method.

Jump to

Keyboard shortcuts

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