### Start Instance: v1 vs v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md v1 started instances by name. v2 requires the instance ID for starting. ```shell # v1 scw start foobar ``` ```shell # v2 scw instance server start server-id=11111111-1111-1111-1111-111111111111 ``` -------------------------------- ### Build and Install Scaleway CLI Source: https://github.com/scaleway/scaleway-cli/blob/main/scripts/README.md Run the install script to build and install the CLI binary. This script currently only supports MacOSX. ```bash ./scripts/install.sh ``` -------------------------------- ### Add A Record Example Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dns.md Example of adding an A record (IP address) for a DNS zone. ```shell scw dns record add my-domain.tld data=1.2.3.4 name=vpn type=A ``` -------------------------------- ### Start Baremetal Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Starts a baremetal server identified by its ID. ```shell scw dedibox server start [arg=value ...] ``` -------------------------------- ### Power On Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Use this command to start a server. Provide the server ID and optionally the zone. ```shell scw instance server start 11111111-1111-1111-1111-111111111111 ``` ```shell scw instance server start 11111111-1111-1111-1111-111111111111 zone=fr-par-1 ``` -------------------------------- ### Start BMC Access Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/baremetal.md Initiate BMC access for a server. This command requires the server ID and an authorized IP address. BMC access becomes available one hour after server installation, and a Remote Access option must be created and retrieved prior to use. ```shell scw baremetal bmc start [arg=value ...] ``` -------------------------------- ### Add CNAME DNS Record Example Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dns.md Example of adding a CNAME record for a DNS zone. ```shell scw dns record add my-domain.tld data=www name=www2 type=CNAME ``` -------------------------------- ### Install Scaleway CLI Locally Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Installs the latest development version of the Scaleway CLI using Go. Use tagged releases for stability. ```bash go install github.com/scaleway/scaleway-cli/v2/cmd/scw@latest ``` -------------------------------- ### Start MCP server with combined filters Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server using a combination of filters to serve only specific commands, such as 'get' and 'list' operations for 'instance' resources of type 'server'. ```shell scw mcp server serve namespaces=instance resources=server verbs=get,list ``` -------------------------------- ### Install Scaleway CLI with Homebrew Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Installs the latest stable release on macOS/Linux using Homebrew. ```bash brew install scw ``` -------------------------------- ### Display TEM Project Settings Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/tem.md Use this command to view the current project settings for TEM. No additional setup is required beyond having the Scaleway CLI installed and configured. ```shell scw tem project-settings ``` -------------------------------- ### Start MCP server serving specific verbs Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server configured to serve commands only with the specified verbs. Multiple verbs can be provided as a comma-separated list. ```shell scw mcp server serve verbs=get,list,create ``` -------------------------------- ### Start Elastic Metal Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/baremetal.md Start an Elastic Metal server. The `boot-type` argument can be used to specify rescue mode. ```shell scw baremetal server start 11111111-1111-1111-1111-111111111111 ``` ```shell scw baremetal server start 11111111-1111-1111-1111-111111111111 boot-type=rescue ``` -------------------------------- ### Install Scaleway CLI with Chocolatey Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Installs the latest stable release on Windows using Chocolatey. ```powershell choco install scaleway-cli ``` -------------------------------- ### Install Operating System on Baremetal Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Installs an operating system on a baremetal server. Supports specifying OS ID, hostname, user credentials, partitioning details, SSH keys, and license offers. ```shell scw dedibox server install [arg=value ...] ``` -------------------------------- ### Install Scaleway CLI with Pacman Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Installs the latest stable release on Arch Linux from official repositories using pacman. ```bash pacman -S scaleway-cli ``` -------------------------------- ### Start MCP server serving specific resources Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server configured to serve commands only for the specified resources. Multiple resources can be provided as a comma-separated list. ```shell scw mcp server serve resources=server,volume,bucket ``` -------------------------------- ### Start MCP server serving specific namespaces Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server configured to serve commands only from the specified namespaces. Multiple namespaces can be provided as a comma-separated list. ```shell scw mcp server serve namespaces=instance,iam,object ``` -------------------------------- ### Start MCP server with stdio transport Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server using the default stdio transport. This is the basic command to run the server. ```shell scw mcp server serve ``` -------------------------------- ### Get Baremetal Server Installation Status Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Fetches the current installation status for a given baremetal server ID. ```shell scw dedibox server get-install [arg=value ...] ``` -------------------------------- ### List Product Servers (v1 vs v2) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md Compare how to list server product information. v1 used `scw products servers`, while v2 uses `scw instance server-type list`. ```shell # v1 scw products servers ``` ```shell # v2 scw instance server-type list ``` -------------------------------- ### Start MCP server in read-only mode Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/mcp.md Starts the MCP server configured to only register read-only commands, such as 'get' and 'list' operations. ```shell scw mcp server serve --read-only ``` -------------------------------- ### List Instances (v1 vs v2) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md Compare how to list instances. v1 used `scw ps`, while v2 uses `scw instance server list`. ```shell # v2 scw instance server list ``` -------------------------------- ### Get IoT Device Metrics Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/iot.md Fetch metrics for an existing IoT device using its device ID and a required start date for computation. ```shell scw iot device get-metrics [arg=value ...] ``` -------------------------------- ### Create an Instance Server Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Command to create a new instance server with specified type, image, zone, and tags. ```shell # Create an instance server scw instance server create type=DEV1-S image=ubuntu_noble zone=fr-par-1 tags.0="scw-cli" ``` -------------------------------- ### Import QCOW File as Instance Snapshot Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Imports a QCOW2 file from a specified bucket and key as an Instance snapshot. Requires bucket and key details. ```shell scw instance snapshot create zone=fr-par-1 name=my-imported-snapshot volume-type=l_ssd bucket=my-bucket key=my-qcow2-file-name ``` -------------------------------- ### Get Database Instance Metrics (Deprecated) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Retrieve time series metrics for a Database Instance. Specify start and end dates to define the metric period. This method is deprecated. ```shell scw rdb instance get-metrics [arg=value ...] ``` -------------------------------- ### Start Dedibox BMC Access Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Initiate BMC access for a baremetal server. BMC access becomes available one hour after server installation. You can optionally specify an IP address to authorize. ```shell scw dedibox bmc start [arg=value ...] ``` -------------------------------- ### Create Instance: v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md Use `scw instance server create` to instantiate a new server. Add `--wait` to block until the server is ready. The output includes the server's public IP address. ```shell # v2 scw instance server create image=ubuntu_focal ``` -------------------------------- ### Download Scaleway CLI Binaries for Linux Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Downloads and installs the latest stable release for Linux using a script. ```bash curl -s https://raw.githubusercontent.com/scaleway/scaleway-cli/master/scripts/get.sh | sh ``` -------------------------------- ### List Instance Servers Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Command to list all your instance servers. ```shell # List your servers scw instance server list ``` -------------------------------- ### Create a Web Hosting Plan Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/webhosting.md Use this command to order a new Web Hosting plan. You must specify the offer ID and can optionally provide project ID, contact email, tags, domain, subdomain, offer options, language, DNS update preferences, and commitment ID. ```shell scw webhosting hosting create [arg=value ...] ``` -------------------------------- ### Create a server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/apple-silicon.md Creates a new Apple Silicon server. ```APIDOC ## create a server ### Description Creates a new Apple Silicon server. ### Method POST ### Endpoint /apple-silicon/v1/servers ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **name** (string) - Required - The name of the server. - **instance_type** (string) - Required - The instance type of the server. - **image_id** (string) - Required - The ID of the OS image to use. - **ssh_key_id** (string) - Optional - The ID of the SSH key to use for access. - **private_network_ids** (array of strings) - Optional - A list of private network IDs to attach the server to. ### Request Example ```json { "name": "my-apple-silicon-server", "instance_type": "apple-silicon-dev", "image_id": "os-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "ssh_key_id": "ssh-key-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "private_network_ids": ["private-network-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"] } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier of the created server. - **name** (string) - The name of the server. - **instance_type** (string) - The instance type of the server. - **image_id** (string) - The ID of the OS image used. - **state** (string) - The current state of the server. - **created_at** (string) - The timestamp when the server was created. #### Response Example ```json { "id": "server-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "my-apple-silicon-server", "instance_type": "apple-silicon-dev", "image_id": "os-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "state": "creating", "created_at": "2023-10-27T10:00:00Z" } ``` ``` -------------------------------- ### Install rclone config for default region Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/object.md Installs a rclone configuration file to its default location for the default region. Ensure 'rclone' is installed. ```shell scw object config install type=rclone ``` -------------------------------- ### List Server Options (Default Zone) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/baremetal.md List all server options available in the default zone configured for the CLI. ```shell scw baremetal options list ``` -------------------------------- ### scw iam jwt get Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/iam.md Get a JWT. ```APIDOC ## scw iam jwt get ### Description Get a JWT. ### Usage ```shell scw iam jwt get [arg=value ...] ``` ### Parameters #### Path Parameters - **jti** (string) - Required - JWT ID of the JWT to get ``` -------------------------------- ### Initialize Scaleway CLI Configuration Source: https://github.com/scaleway/scaleway-cli/blob/main/README.md Run this command to set up your profile, authentication, and auto-completion. You will need an API-key from the Scaleway web console. ```bash scw init ``` -------------------------------- ### Install s3cmd config for Paris region Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/object.md Installs a s3cmd configuration file to its default location for the Paris region. The 's3cmd' tool must be installed. ```shell scw object config install region=fr-par type=s3cmd ``` -------------------------------- ### Install mc config for default region Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/object.md Installs a mc (minio) configuration file to its default location for the default region. This command requires 'mc' to be installed. ```shell scw object config install type=mc ``` -------------------------------- ### Create Scaleway Instance Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Use this command to create a new instance server. You can specify the image, type, name, volumes, IP configuration, and other settings. The default image is 'ubuntu_jammy' and the default zone is 'fr-par-1'. ```shell scw instance server create image=ubuntu_focal ``` ```shell scw instance server create image=ubuntu_focal type=GP1-XS name=foo tags.0=prod tags.1=blue ``` ```shell scw instance server create image=ubuntu_focal additional-volumes.0=block:50GB additional-volumes.1=block:100GB ``` ```shell scw instance server create image=ubuntu_focal root-volume=local:10GB additional-volumes.0=local:10GB ``` ```shell scw instance server create image=ubuntu_focal root-volume=sbs:100GB:15000 ``` ```shell scw instance server create image=ubuntu_focal root-volume=local: additional-volumes.0=block: ``` ```shell scw instance server create image=none root-volume=local: ``` ```shell scw instance server create image=ubuntu_focal additional-volumes.0= ``` ```shell ip=$(scw instance ip create | grep id | awk '{ print $2 }') scw instance server create image=ubuntu_focal ip=$ip ``` -------------------------------- ### View Instance Logs (v1 vs v2) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md Compare how to view instance logs. v1 used `scw logs`, while v2 requires SSHing into the instance and running `dmesg`. ```shell # v2 ssh -t root@$(scw instance server list name=foobar -o json | jq -r ".[0].public_ip.address") dmesg ``` -------------------------------- ### Create a Database Instance Snapshot Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Use this command to create a new snapshot of a Database Instance. You must provide a name for the snapshot. ```shell scw rdb snapshot create [arg=value ...] ``` -------------------------------- ### Boot Instance from Specific Volume Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Configure an Instance to boot from a designated volume. Specify both the volume ID and set `boot=true`. ```shell scw instance server update 11111111-1111-1111-1111-111111111111 volumes.0.id=11111111-1111-1111-1111-111111111111 volumes.0.boot=true ``` -------------------------------- ### Create Filesystem Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/file.md Creates a new filesystem, requiring a name, size, and project ID. Optional parameters include type and tags. ```shell scw file filesystem create [arg=value ...] ``` -------------------------------- ### Get a specific marketplace image Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/marketplace.md Get detailed information about a marketplace image, specified by its label. ```APIDOC ## Get a specific marketplace image ### Description Get detailed information about a marketplace image, specified by its `label`. ### Method GET ### Endpoint `/marketplace/v1/images/{label}` ### Parameters #### Path Parameters - **label** (string) - Required - The label of the image to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the image. - **name** (string) - The name of the image. - **description** (string) - A description of the image. - **arch** (string) - The CPU architecture of the image. - **creation_date** (string) - The date and time the image was created. - **update_date** (string) - The date and time the image was last updated. - **is_public** (boolean) - Whether the image is public. - **is_enabled** (boolean) - Whether the image is enabled. - **is_commercial** (boolean) - Whether the image is commercial. - **is_beta** (boolean) - Whether the image is in beta. ``` -------------------------------- ### Deploy a Function Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/function.md Use this command to create or fetch, upload, and deploy your function. Ensure you provide the required namespace ID, function name, runtime, and zip file path. ```shell scw function deploy [arg=value ...] ``` -------------------------------- ### Get a specific category Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/marketplace.md Get information about a specific category of the marketplace catalog, specified by its category_id. ```APIDOC ## Get a specific category ### Description Get information about a specific category of the marketplace catalog, specified by its `category_id` (UUID format). ### Method GET ### Endpoint `/marketplace/v1/categories/{category_id}` ### Parameters #### Path Parameters - **category-id** (string) - Required - The ID of the category to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the category. - **name** (string) - The name of the category. - **description** (string) - A description of the category. - **created_at** (string) - The date and time the category was created. - **updated_at** (string) - The date and time the category was last updated. ``` -------------------------------- ### Create Instance in CLI v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md CLI v2 uses `scw instance server create` for instance creation, offering options for image, type, name, tags, and additional volumes. ```shell # v1 scw create ubuntu_focal ``` ```shell # v2 - Create and start an instance on Ubuntu focal scw instance server create image=ubuntu_focal ``` ```shell # v2 - Create a GP1-XS instance, give it a name and add tags scw instance server create image=ubuntu_focal type=GP1-XS name=foo tags.0=prod tags.1=blue ``` ```shell # v2 - Create an instance with 2 additional block volumes (50GB and 100GB) scw instance server create image=ubuntu_focal additional-volumes.0=block:50GB additional-volumes.1=block:100GB ``` ```shell # v2 - Create an instance with 2 local volumes (10GB and 10GB) scw instance server create image=ubuntu_focal root-volume=local:10GB additional-volumes.0=local:10GB ``` -------------------------------- ### List Instance Actions Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Lists all available actions that can be performed on a specific instance. Requires the server ID and optionally the zone. ```shell scw instance server list-actions [arg=value ...] ``` -------------------------------- ### Get a Web Hosting plan Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/webhosting.md Get the details of one of your existing Web Hosting plans, specified by its `hosting_id`. ```APIDOC ## Get a Web Hosting plan ### Description Get the details of one of your existing Web Hosting plans, specified by its `hosting_id`. ### Method GET ### Endpoint /webhosting/v1/hosting/{hosting_id} ### Parameters #### Path Parameters - **hosting_id** (string) - Required - Hosting ID #### Query Parameters - **region** (string) - Optional - Region to target. Default: `fr-par`. One of: `fr-par`, `nl-ams`, `pl-waw` ### Request Example ```json { "hosting_id": "a3244331-5d32-4e36-9bf9-b60233e201c7" } ``` ### Response #### Success Response (200) - **hosting_id** (string) - The ID of the Web Hosting plan. - **offer_id** (string) - The ID of the offer used for the Web Hosting plan. - **status** (string) - The current status of the Web Hosting plan. - **created_at** (string) - The date and time when the Web Hosting plan was created. - **updated_at** (string) - The date and time when the Web Hosting plan was last updated. #### Response Example ```json { "hosting_id": "a3244331-5d32-4e36-9bf9-b60233e201c7", "offer_id": "offer_uuid", "status": "running", "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z" } ``` ``` -------------------------------- ### Get a Node in a Cluster Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/k8s.md Retrieves details about a specific Kubernetes node. Provide the node ID to get its information. ```shell scw k8s node get 11111111-1111-1111-1111-111111111111 ``` -------------------------------- ### Create a Database Instance Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Use this command to create a new RDB database instance. You must specify the engine, username, password, and node type. Optional parameters include volume type and size. ```shell scw rdb instance create --engine "PostgreSQL" --user-name "myuser" --password "mypassword" --node-type "DB-DEV-S" ``` -------------------------------- ### Prepare logs for download Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Prepare logs for a Database Instance. Specify `start-date` and `end-date` in RFC3339 format. Note that logs are aggregated daily, so you will receive logs for the full 24-hour period. ```shell scw rdb log prepare instance-id= start-date= end-date= region= ``` -------------------------------- ### Connect to an Instance using CLI Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Connects to a specified database instance using locally installed CLI tools like psql or mysql. Supports private network connections and allows specifying the username, database, and CLI tool. ```shell scw rdb instance connect [arg=value ...] ``` -------------------------------- ### Cancel Baremetal Server Installation Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Cancels the ongoing installation process for a specified baremetal server. Requires the server ID. ```shell scw dedibox server cancel-install [arg=value ...] ``` -------------------------------- ### List all Instances Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Lists all instances in your default zone. You can filter by project ID, name, commercial type, state, tags, private network, and more. Use the 'zone' argument to specify a different availability zone. ```shell scw instance server list ``` ```shell scw instance server list commercial-type=DEV1-S ``` ```shell scw instance server list without-ip=true ``` ```shell scw instance server list name=server1 ``` -------------------------------- ### Start MCP Server in Debug Mode Source: https://github.com/scaleway/scaleway-cli/blob/main/internal/namespaces/mcp/README.md Starts the MCP server with debug logging enabled by setting the SCW_DEBUG environment variable. ```bash SCW_DEBUG=true scw mcp server serve ``` -------------------------------- ### List Available Settings from an Engine Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Lists the available settings for a specified database engine and version. Requires the engine name and version. ```shell scw rdb engine settings name=MySQL version=8 ``` -------------------------------- ### Create a frontend Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/lb.md Create a new frontend for a given Load Balancer, specifying its configuration including the port it should listen on and the backend to attach it to. ```APIDOC ## scw lb frontend create ### Description Create a new frontend for a given Load Balancer, specifying its configuration including the port it should listen on and the backend to attach it to. ### Method POST ### Endpoint /v1/lbs/{lb_id}/frontends ### Parameters #### Path Parameters - **lb_id** (string) - Required - Load Balancer ID #### Query Parameters - **name** (string) - Optional - Name for the frontend. Defaults to a generated name. - **inbound_port** (integer) - Required - Port the frontend should listen on. - **backend_id** (string) - Required - Backend ID. - **timeout_client** (string) - Optional - Maximum allowed inactivity time on the client side. Defaults to `5m`. - **certificate_ids** (array of strings) - Optional - List of SSL/TLS certificate IDs to bind to the frontend. - **enable_http3** (boolean) - Optional - Defines whether to enable HTTP/3 protocol on the frontend. - **connection_rate_limit** (integer) - Optional - Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. - **enable_access_logs** (boolean) - Optional - Defines whether to enable access logs on the frontend. - **zone** (string) - Optional - Zone to target. Defaults to the config default zone. One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2`, `pl-waw-3`. ### Request Example ```json { "name": "my-frontend", "inbound_port": 80, "backend_id": "my-backend-id", "certificate_ids": ["my-cert-id"], "enable_http3": true, "connection_rate_limit": 100, "enable_access_logs": true, "zone": "fr-par-1" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created frontend. - **name** (string) - The name of the frontend. - **lb_id** (string) - The ID of the Load Balancer. - **backend_id** (string) - The ID of the backend. - **inbound_port** (integer) - The port the frontend listens on. - **timeout_client** (string) - The client-side inactivity timeout. - **certificate_ids** (array of strings) - The list of SSL/TLS certificate IDs. - **enable_http3** (boolean) - Whether HTTP/3 is enabled. - **connection_rate_limit** (integer) - The connection rate limit. - **enable_access_logs** (boolean) - Whether access logs are enabled. - **created_at** (string) - The creation timestamp. - **updated_at** (string) - The last update timestamp. - **zone** (string) - The zone of the frontend. #### Response Example ```json { "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "name": "my-frontend", "lb_id": "00000000-0000-0000-0000-000000000000", "backend_id": "b1c2d3e4-f5a6-7890-1234-567890abcdef", "inbound_port": 80, "timeout_client": "5m", "certificate_ids": ["c1d2e3f4-a5b6-7890-1234-567890abcdef"], "enable_http3": true, "connection_rate_limit": 100, "enable_access_logs": true, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z", "zone": "fr-par-1" } ``` ``` -------------------------------- ### Get a specific image version Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/marketplace.md Get information such as the name, creation date, last update and published date for an image version specified by its version_id. ```APIDOC ## Get a specific image version ### Description Get information such as the name, creation date, last update and published date for an image version specified by its `version_id` (UUID format). ### Method GET ### Endpoint `/marketplace/v1/versions/{version_id}` ### Parameters #### Path Parameters - **version_id** (string) - Required - The ID of the image version to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the image version. - **image_id** (string) - The ID of the associated marketplace image. - **name** (string) - The name of the image version. - **creation_date** (string) - The date and time the image version was created. - **update_date** (string) - The date and time the image version was last updated. - **published_date** (string) - The date and time the image version was published. ``` -------------------------------- ### Install Autocomplete Script Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/autocomplete.md Installs the autocomplete script for a specified shell and operating system. Use this command to enable tab completion for scw commands in your terminal. ```shell scw autocomplete install [arg=value ...] ``` -------------------------------- ### List Database Instance Snapshots Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Use this command to list available snapshots. You can filter by instance ID or project ID and specify ordering criteria. ```shell scw rdb snapshot list [arg=value ...] ``` -------------------------------- ### Scaleway API Interaction Cassette Example Source: https://github.com/scaleway/scaleway-cli/blob/main/scripts/README.md An example of a cassette file format used for recording API interactions in tests. It defines request and response details. ```yaml version: 1 interactions: - request: body: "" form: {} headers: User-Agent: - scaleway-sdk-go/v1.0.0-beta.5+dev (go1.13.6; darwin; amd64) cli-e2e-test url: https://api.scaleway.com/ method: GET response: body: '{"Name":"Scaleway Api","Description":"Welcome to the Scaleway public API!","Version":"v0.0.140","ProtobufVersion":"a0be3c28","DocumentationUrl":"https://www.scaleway.com/en/developers/"}' ``` -------------------------------- ### List Web Hosting Offers Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/webhosting.md Lists all available web hosting offers and their associated options. Supports filtering and sorting. ```shell scw webhosting offer list [arg=value ...] ``` -------------------------------- ### Run Top Command on Instance: v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md This command connects to an instance by name, retrieves its IP address using `scw instance server list` and `jq`, and then runs the `top` command via SSH. ```shell ssh -t root@$(scw instance server list name=foobar -o json | jq -r ".[0].public_ip.address") top ``` -------------------------------- ### Install SSH Config for All Servers Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Generates an SSH configuration file ($HOME/.ssh/scaleway.config) with hosts for all instance servers, baremetal, apple-silicon, and bastions within a specified project and zone. ```shell scw instance ssh install-config [project-id=] [zone=] ``` -------------------------------- ### Get a specific local image by ID Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/marketplace.md Get detailed information about a local image, including compatible commercial types, supported architecture, labels and the Availability Zone of the image, specified by its local_image_id. ```APIDOC ## Get a specific local image by ID ### Description Get detailed information about a local image, including compatible commercial types, supported architecture, labels and the Availability Zone of the image, specified by its `local_image_id` (UUID format). ### Method GET ### Endpoint `/marketplace/v1/local-images/{local_image_id}` ### Parameters #### Path Parameters - **local-image-id** (string) - Required - The ID of the local image to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the local image. - **image_id** (string) - The ID of the associated marketplace image. - **version_id** (string) - The ID of the associated image version. - **zone** (string) - The Availability Zone where the local image is available. - **arch** (string) - The CPU architecture of the local image. - **type** (string) - The type of the local image (e.g., `instance_local`, `instance_sbs`). - **created_at** (string) - The date and time the local image was created. ``` -------------------------------- ### Create an Apple Silicon Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/apple-silicon.md Create a new Apple silicon server with specified configurations like name, type, OS, and networking. Use this command to provision new instances. ```shell scw apple-silicon server create \ --name= \ --type= \ --os-id= \ --project-id= \ --enable-vpc \ --commitment-type=duration_24h \ --public-bandwidth-bps=100000000 \ --runner-configuration.name= \ --runner-configuration.url= \ --runner-configuration.token= \ --runner-configuration.provider=github \ --applied-runner-configurations.runner-configuration-ids.0= \ --enable-kext \ --zone=fr-par-1 ``` -------------------------------- ### Create Image from Snapshot: v1 vs v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md v1 used `scw tag` to create an image from a snapshot. v2 uses `scw instance image create` and requires the root volume ID. ```shell # v1 scw tag --arch=x86_64 my-snapshot-name foobar ``` ```shell # v2 scw instance image create root-volume=11111111-1111-1111-1111-111111111111 name=foobar arch=x86_64 ``` -------------------------------- ### Get a frontend Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/lb.md Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend's full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has. ```APIDOC ## scw lb frontend get ### Description Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend's full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has. ### Method GET ### Endpoint /v1/lbs/frontends/{frontend_id} ### Parameters #### Path Parameters - **frontend_id** (string) - Required - Frontend ID. #### Query Parameters - **zone** (string) - Optional - Zone to target. Defaults to the config default zone. One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2`, `pl-waw-3`. ### Response #### Success Response (200) - **id** (string) - The ID of the frontend. - **name** (string) - The name of the frontend. - **lb_id** (string) - The ID of the Load Balancer. - **backend_id** (string) - The ID of the backend. - **inbound_port** (integer) - The port the frontend listens on. - **timeout_client** (string) - The client-side inactivity timeout. - **certificate_ids** (array of strings) - The list of SSL/TLS certificate IDs. - **enable_http3** (boolean) - Whether HTTP/3 is enabled. - **connection_rate_limit** (integer) - The connection rate limit. - **enable_access_logs** (boolean) - Whether access logs are enabled. - **created_at** (string) - The creation timestamp. - **updated_at** (string) - The last update timestamp. - **zone** (string) - The zone of the frontend. #### Response Example ```json { "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "name": "my-frontend", "lb_id": "00000000-0000-0000-0000-000000000000", "backend_id": "b1c2d3e4-f5a6-7890-1234-567890abcdef", "inbound_port": 80, "timeout_client": "5m", "certificate_ids": ["c1d2e3f4-a5b6-7890-1234-567890abcdef"], "enable_http3": true, "connection_rate_limit": 100, "enable_access_logs": true, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z", "zone": "fr-par-1" } ``` ``` -------------------------------- ### Create a database backup Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/rdb.md Use this command to create a new backup for a specific database instance. You must provide the instance ID, database name, and desired expiration date. ```shell scw rdb backup create [arg=value ...] ``` -------------------------------- ### Create a Redis Database Instance Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/redis.md Create a new Redis™ Database Instance. Required parameters include zone, project_id, version, node_type, user_name, and password. Optional parameters allow for ACL rules, endpoints, TLS enablement, and cluster settings. ```shell scw redis cluster create [arg=value ...] ``` -------------------------------- ### Install Docker Credential Helper Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/registry.md Installs the Docker credential helper script to your system's PATH. This script automatically provides credentials when Docker needs them, eliminating the need for manual `docker login` commands. ```shell scw registry install-docker-helper [arg=value ...] ``` -------------------------------- ### Shut Down Instance (v1 vs v2) Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md Learn how to shut down an instance. v1 used `scw kill`, while v2 requires SSHing into the instance and running `halt`. ```shell # v1 scw kill foobar ``` ```shell # v2 ssh -t root@$(scw instance server list name=foobar -o json | jq -r ".[0].public_ip.address") halt ``` -------------------------------- ### Get Image Information in CLI v2 Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/migration_guide_v2.md CLI v2 uses `scw instance image get` to retrieve image details, requiring the image ID which can be obtained using `scw instance image list` and `jq`. ```shell # v1 scw history foobar ``` ```shell # v2 scw instance image get image-id=$(scw instance image list name=foobar -o json | jq -r '.[0].ID') ``` -------------------------------- ### Get Redis Database Instance Information Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/redis.md Retrieve detailed information about a Redis™ Database Instance. Specify the cluster_id and zone to get details such as status, version, TLS status, cluster settings, upgradable versions, and endpoints. ```shell scw redis cluster get [arg=value ...] ``` -------------------------------- ### Install OS on Elastic Metal Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/baremetal.md Installs a specified Operating System on an Elastic Metal server using its ID and a particular SSH key ID. Ensure the server ID, OS ID, and SSH key ID are valid. ```shell scw baremetal server install 11111111-1111-1111-1111-111111111111 os-id=11111111-1111-1111-1111-111111111111 ssh-key-ids.0=11111111-1111-1111-1111-111111111111 ``` -------------------------------- ### Create a new filesystem Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/file.md Creates a new filesystem, requiring a name, size, and project ID. ```APIDOC ## Create a new filesystem ### Description To create a new filesystem, you must specify a name, a size, and a project ID. ### Usage ```shell scw file filesystem create [arg=value ...] ``` ### Parameters #### Query Parameters - **name** (string) - Required - Description: Name of the filesystem - **project-id** (string) - Description: Project ID to use. If none is passed the default project ID will be used - **size** (int) - Required - Description: Filesystem size in bytes, with a granularity of 100 GB (10^11 bytes). - **type** (string) - Description: Type of the filesystem - **tags.{index}** (string) - Description: List of tags assigned to the filesystem - **region** (string) - Default: `fr-par` - One of: `fr-par` - Description: Region to target. If none is passed will use default region from the config ``` -------------------------------- ### Get Namespace Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/container.md Retrieves the details of a specific namespace by its ID. ```APIDOC ## Get the namespace associated with the specified ID. Get the namespace associated with the specified ID. **Usage:** ```shell scw container namespace get [arg=value ...] ``` **Args:** | Name | | Description | |------|---|-------------| | namespace-id | Required | UUID of the namespace to get | | region | Default: `fr-par`
One of: `fr-par`, `nl-ams`, `pl-waw` | Region to target. If none is passed will use default region from the config | ``` -------------------------------- ### Create Baremetal Server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/dedibox.md Creates a new baremetal server. You must provide server option IDs and can optionally specify offer ID, project ID, datacenter name, and zone. ```shell scw dedibox server create [arg=value ...] ``` -------------------------------- ### Get a token Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/function.md Retrieves details of a specific token by its ID. ```APIDOC ## scw function token get ### Description Get a token. ### Usage ```shell scw function token get [arg=value ...] ``` ### Parameters #### Path Parameters - **token-id** (string) - Required - UUID of the token to get. #### Query Parameters - **region** (string) - Optional - Region to target. If none is passed will use default region from the config. One of: `fr-par`, `nl-ams`, `pl-waw`. ``` -------------------------------- ### Create Instance Image Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/instance.md Create an Instance image from a specified snapshot ID. You can provide a name, architecture, and additional volumes. ```shell scw instance server image create name=foobar snapshot-id=11111111-1111-1111-1111-111111111111 arch=x86_64 ``` -------------------------------- ### Get a server type Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/apple-silicon.md Retrieves details of a specific server type. ```APIDOC ## Get a server type ### Description Retrieves details of a specific server type. ### Method GET ### Endpoint /apple-silicon/v1/server-types/{server_type_id} ### Parameters #### Path Parameters - **server_type_id** (string) - Required - The ID of the server type. #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The unique identifier of the server type. - **name** (string) - The name of the server type. - **cpu_cores** (integer) - The number of CPU cores. - **ram_gb** (integer) - The amount of RAM in GB. - **storage_gb** (integer) - The amount of storage in GB. #### Response Example ```json { "id": "apple-silicon-dev", "name": "Apple Silicon Dev Instance", "cpu_cores": 8, "ram_gb": 16, "storage_gb": 128 } ``` ``` -------------------------------- ### Get a server Source: https://github.com/scaleway/scaleway-cli/blob/main/docs/commands/apple-silicon.md Retrieves details of a specific Apple Silicon server. ```APIDOC ## get a server ### Description Retrieves details of a specific Apple Silicon server. ### Method GET ### Endpoint /apple-silicon/v1/servers/{server_id} ### Parameters #### Path Parameters - **server_id** (string) - Required - The ID of the server to retrieve. #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The unique identifier of the server. - **name** (string) - The name of the server. - **instance_type** (string) - The instance type of the server. - **image_id** (string) - The ID of the OS image used. - **state** (string) - The current state of the server. - **created_at** (string) - The timestamp when the server was created. - **public_ip** (string) - The public IP address of the server. - **private_ips** (array of strings) - A list of private IP addresses of the server. #### Response Example ```json { "id": "server-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "my-apple-silicon-server", "instance_type": "apple-silicon-dev", "image_id": "os-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "state": "running", "created_at": "2023-10-27T10:00:00Z", "public_ip": "192.0.2.1", "private_ips": ["10.0.0.1"] } ``` ```