This Scaleway API Crate is created and maintained by Qovery and used in production in the Qovery Engine.
This project relies on OpenAPI Generator, refers to UPDATE.md to update generated code.
Bare metal as a service allows ordering a dedicated server on-demand like a cloud instance. Dedicated servers could be used for large workloads, big data, those requiring more security, ….
This is the v1
documentation, the v1alpha1
version is available here.
Bare metal is only available in fr-par-2
zone
Installation is done by preseed (± 10min) (preseed: complete install from a virtual media)
The list of OS is limited, you can install your own using the following tutorial: https://www.scaleway.com/en/docs/bare-metal-server-installation-kvm-over-ip/
Install (Server is installed by preseed (preseed: complete install from a virtual media), you must define at least one ssh key to install your server)
Start/Stop/Reboot
Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix an OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image.
BMC access: Baseboard Management Controller (BMC) allows you to remotely access the low-level parameters of your dedicated server. For instance, your KVM-IP management console could be accessed with it.
Billed by minute (The billing start when the server is delivered and stop when the server is deleted)
IPv6, all servers are available with an IPv6 /128
ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint
Basic monitoring with ping status
IP failovers are not available in api v1, use the api v1alpha1
You can find your $SCW_SECRET_KEY
and your SCW_DEFAULT_ORGANIZATION_ID
at the following page: https://console.scaleway.com/project/credentials
This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.
Put the package under your project folder and add the following to Cargo.toml
under [dependencies]
:
openapi = { path = "./generated" }
All URIs are relative to https://api.scaleway.com
Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- ACLApi | addinstanceaclrules | POST /rdb/v1/regions/{region}/instances/{instanceid}/acls | Add an ACL instance to a given instance ACLApi | deleteinstanceaclrules | DELETE /rdb/v1/regions/{region}/instances/{instanceid}/acls | Delete ACL rules of a given instance ACLApi | listinstanceaclrules | GET /rdb/v1/regions/{region}/instances/{instanceid}/acls | List ACL rules of a given instance ACLApi | setinstanceaclrules | PUT /rdb/v1/regions/{region}/instances/{instanceid}/acls | Set ACL rules for a given instance BMCAccessApi | getbmcaccess | GET /baremetal/v1/zones/{zone}/servers/{serverid}/bmc-access | Get BMC (Baseboard Management Controller) access for a given baremetal server *BMCAccessApi* | startbmcaccess | POST /baremetal/v1/zones/{zone}/servers/{serverid}/bmc-access | Start BMC (Baseboard Management Controller) access for a given baremetal server BMCAccessApi | stopbmcaccess | DELETE /baremetal/v1/zones/{zone}/servers/{serverid}/bmc-access | Stop BMC (Baseboard Management Controller) access for a given baremetal server *BackupsApi* | createdatabasebackup | POST /rdb/v1/regions/{region}/backups | Create a database backup *BackupsApi* | deletedatabasebackup | DELETE /rdb/v1/regions/{region}/backups/{databasebackupid} | Delete a database backup *BackupsApi* | exportdatabasebackup | POST /rdb/v1/regions/{region}/backups/{databasebackupid}/export | Export a database backup *BackupsApi* | getdatabasebackup | GET /rdb/v1/regions/{region}/backups/{databasebackupid} | Get a database backup *BackupsApi* | listdatabasebackups | GET /rdb/v1/regions/{region}/backups | List database backups *BackupsApi* | restoredatabasebackup | POST /rdb/v1/regions/{region}/backups/{databasebackupid}/restore | Restore a database backup *BackupsApi* | updatedatabasebackup | PATCH /rdb/v1/regions/{region}/backups/{databasebackupid} | Update a database backup *ClustersApi* | createcluster | POST /k8s/v1/regions/{region}/clusters | Create a new cluster ClustersApi | deletecluster | DELETE /k8s/v1/regions/{region}/clusters/{clusterid} | Delete a cluster ClustersApi | getcluster | GET /k8s/v1/regions/{region}/clusters/{clusterid} | Get a cluster ClustersApi | getclusterkubeconfig | GET /k8s/v1/regions/{region}/clusters/{clusterid}/kubeconfig | Download the kubeconfig for a cluster ClustersApi | listclusteravailableversions | GET /k8s/v1/regions/{region}/clusters/{clusterid}/available-versions | List available versions for a cluster ClustersApi | listclusters | GET /k8s/v1/regions/{region}/clusters | List all the clusters *ClustersApi* | resetclusteradmintoken | POST /k8s/v1/regions/{region}/clusters/{clusterid}/reset-admin-token | Reset the admin token of a cluster *ClustersApi* | updatecluster | PATCH /k8s/v1/regions/{region}/clusters/{clusterid} | Update a cluster *ClustersApi* | upgradecluster | POST /k8s/v1/regions/{region}/clusters/{clusterid}/upgrade | Upgrade a cluster *DNSZonesApi* | clonednszone | POST /domain/v2beta1/dns-zones/{dnszone}/clone | Clone a DNS zone DNSZonesApi | creatednszone | POST /domain/v2beta1/dns-zones | Create a DNS zone DNSZonesApi | createsslcertificate | POST /domain/v2beta1/ssl-certificates | Create or return the zone TLS certificate DNSZonesApi | deletednszone | DELETE /domain/v2beta1/dns-zones/{dnszone} | Delete DNS zone *DNSZonesApi* | deletednszonetsigkey | DELETE /domain/v2beta1/dns-zones/{dnszone}/tsig-key | Delete the DNS zone TSIG Key DNSZonesApi | deletesslcertificate | DELETE /domain/v2beta1/ssl-certificates/{dnszone} | Delete an TLS certificate *DNSZonesApi* | getdnszonetsigkey | GET /domain/v2beta1/dns-zones/{dnszone}/tsig-key | Get the DNS zone TSIG Key DNSZonesApi | getsslcertificate | GET /domain/v2beta1/ssl-certificates/{dnszone} | Get the zone TLS certificate if it exists *DNSZonesApi* | listdnszones | GET /domain/v2beta1/dns-zones | List DNS zones *DNSZonesApi* | listsslcertificates | GET /domain/v2beta1/ssl-certificates | List all user TLS certificates *DNSZonesApi* | refreshdnszone | POST /domain/v2beta1/dns-zones/{dnszone}/refresh | Refresh DNS zone DNSZonesApi | updatednszone | PATCH /domain/v2beta1/dns-zones/{dnszone} | Update a DNS zone *DatabaseInstancesApi* | cloneinstance | POST /rdb/v1/regions/{region}/instances/{instanceid}/clone | Clone an instance *DatabaseInstancesApi* | createinstance | POST /rdb/v1/regions/{region}/instances | Create an instance DatabaseInstancesApi | deleteinstance | DELETE /rdb/v1/regions/{region}/instances/{instanceid} | Delete an instance DatabaseInstancesApi | getinstance | GET /rdb/v1/regions/{region}/instances/{instanceid} | Get an instance DatabaseInstancesApi | getinstancecertificate | GET /rdb/v1/regions/{region}/instances/{instanceid}/certificate | Get the TLS certificate of an instance *DatabaseInstancesApi* | getinstancelog | GET /rdb/v1/regions/{region}/logs/{instancelogid} | Get specific logs of a given instance *DatabaseInstancesApi* | getinstancemetrics | GET /rdb/v1/regions/{region}/instances/{instanceid}/metrics | Get instance metrics DatabaseInstancesApi | listinstancelogs | GET /rdb/v1/regions/{region}/instances/{instanceid}/logs | List available logs of a given instance *DatabaseInstancesApi* | listinstances | GET /rdb/v1/regions/{region}/instances | List instances DatabaseInstancesApi | prepareinstancelogs | POST /rdb/v1/regions/{region}/instances/{instanceid}/prepare-logs | Prepare logs of a given instance *DatabaseInstancesApi* | updateinstance | PATCH /rdb/v1/regions/{region}/instances/{instanceid} | Update an instance *DatabaseInstancesApi* | upgradeinstance | POST /rdb/v1/regions/{region}/instances/{instanceid}/upgrade | Upgrade an instance to an higher instance type *DatabasesApi* | createdatabase | POST /rdb/v1/regions/{region}/instances/{instanceid}/databases | Create a database in a given instance *DatabasesApi* | deletedatabase | DELETE /rdb/v1/regions/{region}/instances/{instanceid}/databases/{name} | Delete a database in a given instance *DatabasesApi* | listdatabases | GET /rdb/v1/regions/{region}/instances/{instanceid}/databases | List all database in a given instance *DefaultApi* | getserviceinfo | GET /rdb/v1/regions/{region} | *DefaultApi* | movemacaddr | POST /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid}/mac/move | DefaultApi | renewinstancecertificate | POST /rdb/v1/regions/{region}/instances/{instanceid}/renew-certificate | *EnginesApi* | listdatabaseengines | GET /rdb/v1/regions/{region}/database-engines | List available database engines *FlexibleIPApi* | attachflexibleip | POST /flexible-ip/v1alpha1/zones/{zone}/fips/attach | Attach a Flexible IP to a server *FlexibleIPApi* | createflexibleip | POST /flexible-ip/v1alpha1/zones/{zone}/fips | Create a Flexible IP *FlexibleIPApi* | deleteflexibleip | DELETE /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid} | Delete a Flexible IP FlexibleIPApi | deletemacaddr | DELETE /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid}/mac | Remove a virtual MAC from a Flexible IP *FlexibleIPApi* | detachflexibleip | POST /flexible-ip/v1alpha1/zones/{zone}/fips/detach | Detach a Flexible IP from a server *FlexibleIPApi* | duplicatemacaddr | POST /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid}/mac/duplicate | Duplicate a Virtual MAC FlexibleIPApi | generatemacaddr | POST /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid}/mac | Generate a virtual MAC on a given Flexible IP *FlexibleIPApi* | getflexibleip | GET /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid} | Get a Flexible IP FlexibleIPApi | listflexibleips | GET /flexible-ip/v1alpha1/zones/{zone}/fips | List Flexible IPs FlexibleIPApi | updateflexibleip | PATCH /flexible-ip/v1alpha1/zones/{zone}/fips/{fipid} | Update a Flexible IP *ImagesApi* | deleteimage | DELETE /registry/v1/regions/{region}/images/{imageid} | Delete an image *ImagesApi* | getimage | GET /registry/v1/regions/{region}/images/{imageid} | Get a image *ImagesApi* | listimages | GET /registry/v1/regions/{region}/images | List all your images ImagesApi | updateimage | PATCH /registry/v1/regions/{region}/images/{imageid} | Update an existing image ImportsExportsApi | exportrawdnszone | GET /domain/v2beta1/dns-zones/{dnszone}/raw | Export raw DNS zone ImportsExportsApi | importproviderdnszone | POST /domain/v2beta1/dns-zones/{dnszone}/import-provider | Import provider DNS zone ImportsExportsApi | importrawdnszone | POST /domain/v2beta1/dns-zones/{dnszone}/raw | Import raw DNS zone InstanceSettingsApi | addinstancesettings | POST /rdb/v1/regions/{region}/instances/{instanceid}/settings | Add an instance setting *InstanceSettingsApi* | deleteinstancesettings | DELETE /rdb/v1/regions/{region}/instances/{instanceid}/settings | Delete an instance setting InstanceSettingsApi | setinstancesettings | PUT /rdb/v1/regions/{region}/instances/{instanceid}/settings | Set a given instance setting *IoTCloudTwinsApi* | deletetwindocument | DELETE /iot/v1/regions/{region}/twins/{twinid}/documents/{documentname} | BETA - Delete a Cloud Twin Document *IoTCloudTwinsApi* | deletetwindocuments | DELETE /iot/v1/regions/{region}/twins/{twinid} | BETA - Delete all the documents of a Cloud Twin IoTCloudTwinsApi | gettwindocument | GET /iot/v1/regions/{region}/twins/{twinid}/documents/{documentname} | BETA - Get a Cloud Twin Document IoTCloudTwinsApi | listtwindocuments | GET /iot/v1/regions/{region}/twins/{twinid} | BETA - List the documents of a Cloud Twin *IoTCloudTwinsApi* | patchtwindocument | PATCH /iot/v1/regions/{region}/twins/{twinid}/documents/{documentname} | BETA - Patch a Cloud Twin Document *IoTCloudTwinsApi* | puttwindocument | PUT /iot/v1/regions/{region}/twins/{twinid}/documents/{documentname} | BETA - Update a Cloud Twin Document *IoTDevicesApi* | createdevice | POST /iot/v1/regions/{region}/devices | Add a device IoTDevicesApi | deletedevice | DELETE /iot/v1/regions/{region}/devices/{deviceid} | Remove a device IoTDevicesApi | disabledevice | POST /iot/v1/regions/{region}/devices/{deviceid}/disable | Disable a device IoTDevicesApi | enabledevice | POST /iot/v1/regions/{region}/devices/{deviceid}/enable | Enable a device IoTDevicesApi | getdevice | GET /iot/v1/regions/{region}/devices/{deviceid} | Get a device IoTDevicesApi | getdevicecertificate | GET /iot/v1/regions/{region}/devices/{deviceid}/certificate | Get a device's certificate *IoTDevicesApi* | getdevicemetrics | GET /iot/v1/regions/{region}/devices/{deviceid}/metrics | Get a device's metrics IoTDevicesApi | listdevices | GET /iot/v1/regions/{region}/devices | List devices *IoTDevicesApi* | renewdevicecertificate | POST /iot/v1/regions/{region}/devices/{deviceid}/renew-certificate | Renew a device certificate IoTDevicesApi | setdevicecertificate | PUT /iot/v1/regions/{region}/devices/{deviceid}/certificate | Set a custom certificate on a device *IoTDevicesApi* | updatedevice | PATCH /iot/v1/regions/{region}/devices/{deviceid} | Update a device *IoTHubsApi* | createhub | POST /iot/v1/regions/{region}/hubs | Create a hub IoTHubsApi | deletehub | DELETE /iot/v1/regions/{region}/hubs/{hubid} | Delete a hub IoTHubsApi | disablehub | POST /iot/v1/regions/{region}/hubs/{hubid}/disable | Disable a hub IoTHubsApi | enablehub | POST /iot/v1/regions/{region}/hubs/{hubid}/enable | Enable a hub IoTHubsApi | gethub | GET /iot/v1/regions/{region}/hubs/{hubid} | Get a hub IoTHubsApi | gethubca | GET /iot/v1/regions/{region}/hubs/{hubid}/ca | Get the certificate authority of a hub *IoTHubsApi* | gethubmetrics | GET /iot/v1/regions/{region}/hubs/{hubid}/metrics | Get a hub's metrics IoTHubsApi | listhubs | GET /iot/v1/regions/{region}/hubs | List hubs *IoTHubsApi* | sethubca | POST /iot/v1/regions/{region}/hubs/{hubid}/ca | Set the certificate authority of a hub IoTHubsApi | updatehub | PATCH /iot/v1/regions/{region}/hubs/{hubid} | Update a hub IoTNetworksApi | createnetwork | POST /iot/v1/regions/{region}/networks | Create a new Network *IoTNetworksApi* | deletenetwork | DELETE /iot/v1/regions/{region}/networks/{networkid} | Delete a Network *IoTNetworksApi* | getnetwork | GET /iot/v1/regions/{region}/networks/{networkid} | Retrieve a specific Network *IoTNetworksApi* | listnetworks | GET /iot/v1/regions/{region}/networks | List the Networks IoTRoutesApi | createroute | POST /iot/v1/regions/{region}/routes | Create a route *IoTRoutesApi* | deleteroute | DELETE /iot/v1/regions/{region}/routes/{routeid} | Delete a route *IoTRoutesApi* | getroute | GET /iot/v1/regions/{region}/routes/{routeid} | Get a route *IoTRoutesApi* | listroutes | GET /iot/v1/regions/{region}/routes | List routes IoTRoutesApi | updateroute | PATCH /iot/v1/regions/{region}/routes/{routeid} | Update a route NamespacesApi | createnamespace | POST /registry/v1/regions/{region}/namespaces | Create a new namespace *NamespacesApi* | deletenamespace | DELETE /registry/v1/regions/{region}/namespaces/{namespaceid} | Delete an existing namespace *NamespacesApi* | getnamespace | GET /registry/v1/regions/{region}/namespaces/{namespaceid} | Get a namespace *NamespacesApi* | listnamespaces | GET /registry/v1/regions/{region}/namespaces | List all your namespaces NamespacesApi | updatenamespace | PATCH /registry/v1/regions/{region}/namespaces/{namespaceid} | Update an existing namespace NodeTypesApi | listnodetypes | GET /rdb/v1/regions/{region}/node-types | List available node types NodesApi | getnode | GET /k8s/v1/regions/{region}/nodes/{nodeid} | Get a node in a cluster NodesApi | listnodes | GET /k8s/v1/regions/{region}/clusters/{clusterid}/nodes | List all the nodes in a cluster NodesApi | rebootnode | POST /k8s/v1/regions/{region}/nodes/{nodeid}/reboot | Reboot a node in a cluster NodesApi | replacenode | POST /k8s/v1/regions/{region}/nodes/{nodeid}/replace | Replace a node in a cluster OSApi | getos | GET /baremetal/v1/zones/{zone}/os/{osid} | Get an OS with a given ID OSApi | listos | GET /baremetal/v1/zones/{zone}/os | List all available OS that can be install on a baremetal server *OffersApi* | getoffer | GET /baremetal/v1/zones/{zone}/offers/{offerid} | Get offer *OffersApi* | listoffers | GET /baremetal/v1/zones/{zone}/offers | List offers PoolsApi | createpool | POST /k8s/v1/regions/{region}/clusters/{clusterid}/pools | Create a new pool in a cluster PoolsApi | deletepool | DELETE /k8s/v1/regions/{region}/pools/{poolid} | Delete a pool in a cluster PoolsApi | getpool | GET /k8s/v1/regions/{region}/pools/{poolid} | Get a pool in a cluster PoolsApi | listpools | GET /k8s/v1/regions/{region}/clusters/{clusterid}/pools | List all the pools in a cluster PoolsApi | updatepool | PATCH /k8s/v1/regions/{region}/pools/{poolid} | Update a pool in a cluster PoolsApi | upgradepool | POST /k8s/v1/regions/{region}/pools/{poolid}/upgrade | Upgrade a pool in a cluster PrivateNetworksApi | createprivatenetwork | POST /vpc/v1/zones/{zone}/private-networks | Create a private network PrivateNetworksApi | deleteprivatenetwork | DELETE /vpc/v1/zones/{zone}/private-networks/{privatenetworkid} | Delete a private network PrivateNetworksApi | getprivatenetwork | GET /vpc/v1/zones/{zone}/private-networks/{privatenetworkid} | Get a private network PrivateNetworksApi | listprivatenetworks | GET /vpc/v1/zones/{zone}/private-networks | List private networks PrivateNetworksApi | updateprivatenetwork | PATCH /vpc/v1/zones/{zone}/private-networks/{privatenetworkid} | Update private network PrivilegesApi | listprivileges | GET /rdb/v1/regions/{region}/instances/{instanceid}/privileges | List privileges of a given user for a given database on a given instance PrivilegesApi | setprivilege | PUT /rdb/v1/regions/{region}/instances/{instanceid}/privileges | Set privileges of a given user for a given database on a given instance RecordsApi | cleardnszonerecords | DELETE /domain/v2beta1/dns-zones/{dnszone}/records | Clear DNS zone records RecordsApi | listdnszonenameservers | GET /domain/v2beta1/dns-zones/{dnszone}/nameservers | List DNS zone nameservers RecordsApi | listdnszonerecords | GET /domain/v2beta1/dns-zones/{dnszone}/records | List DNS zone records RecordsApi | updatednszonenameservers | PUT /domain/v2beta1/dns-zones/{dnszone}/nameservers | Update DNS zone nameservers RecordsApi | updatednszonerecords | PATCH /domain/v2beta1/dns-zones/{dnszone}/records | Update DNS zone records ServersApi | createserver | POST /baremetal/v1/zones/{zone}/servers | Create a baremetal server *ServersApi* | deleteserver | DELETE /baremetal/v1/zones/{zone}/servers/{serverid} | Delete a baremetal server *ServersApi* | getserver | GET /baremetal/v1/zones/{zone}/servers/{serverid} | Get a specific baremetal server *ServersApi* | getservermetrics | GET /baremetal/v1/zones/{zone}/servers/{serverid}/metrics | Return server metrics ServersApi | installserver | POST /baremetal/v1/zones/{zone}/servers/{serverid}/install | Install a baremetal server ServersApi | listserverevents | GET /baremetal/v1/zones/{zone}/servers/{serverid}/events | List server events *ServersApi* | listservers | GET /baremetal/v1/zones/{zone}/servers | List baremetal servers for organization ServersApi | updateip | PATCH /baremetal/v1/zones/{zone}/servers/{serverid}/ips/{ipid} | Update IP *ServersApi* | updateserver | PATCH /baremetal/v1/zones/{zone}/servers/{serverid} | Update a baremetal server *ServersActionsApi* | rebootserver | POST /baremetal/v1/zones/{zone}/servers/{serverid}/reboot | Reboot a baremetal server *ServersActionsApi* | startserver | POST /baremetal/v1/zones/{zone}/servers/{serverid}/start | Start a baremetal server *ServersActionsApi* | stopserver | POST /baremetal/v1/zones/{zone}/servers/{serverid}/stop | Stop a baremetal server *SnapshotsApi* | createinstancefromsnapshot | POST /rdb/v1/regions/{region}/snapshots/{snapshotid}/create-instance | Create a new instance from a given snapshot *SnapshotsApi* | createsnapshot | POST /rdb/v1/regions/{region}/instances/{instanceid}/snapshots | Create an instance snapshot *SnapshotsApi* | deletesnapshot | DELETE /rdb/v1/regions/{region}/snapshots/{snapshotid} | Delete an instance snapshot *SnapshotsApi* | getsnapshot | GET /rdb/v1/regions/{region}/snapshots/{snapshotid} | Get an instance snapshot *SnapshotsApi* | listsnapshots | GET /rdb/v1/regions/{region}/snapshots | List instance snapshots SnapshotsApi | updatesnapshot | PATCH /rdb/v1/regions/{region}/snapshots/{snapshotid} | Update an instance snapshot TagsApi | deletetag | DELETE /registry/v1/regions/{region}/tags/{tagid} | Delete a tag TagsApi | gettag | GET /registry/v1/regions/{region}/tags/{tagid} | Get a tag TagsApi | listtags | GET /registry/v1/regions/{region}/images/{imageid}/tags | List all your tags UsersApi | createuser | POST /rdb/v1/regions/{region}/instances/{instanceid}/users | Create a user on a given instance UsersApi | deleteuser | DELETE /rdb/v1/regions/{region}/instances/{instanceid}/users/{name} | Delete a user on a given instance UsersApi | listusers | GET /rdb/v1/regions/{region}/instances/{instanceid}/users | List users of a given instance UsersApi | updateuser | PATCH /rdb/v1/regions/{region}/instances/{instanceid}/users/{name} | Update a user on a given instance VersionsApi | getdnszoneversiondiff | GET /domain/v2beta1/dns-zones/version/{dnszoneversionid}/diff | Get DNS zone version diff *VersionsApi* | getversion | GET /k8s/v1/regions/{region}/versions/{versionname} | Get details about a specific version *VersionsApi* | listdnszoneversionrecords | GET /domain/v2beta1/dns-zones/version/{dnszoneversionid} | List DNS zone version records VersionsApi | listdnszoneversions | GET /domain/v2beta1/dns-zones/{dnszone}/versions | List DNS zone versions VersionsApi | listversions | GET /k8s/v1/regions/{region}/versions | List all available versions *VersionsApi* | restorednszoneversion | POST /domain/v2beta1/dns-zones/version/{dnszoneversion_id}/restore | Restore DNS zone version
To get access to the crate's generated documentation, use:
cargo doc --open