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 *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/{dnszoneversionid}/restore | Restore DNS zone version
To get access to the crate's generated documentation, use:
cargo doc --open