Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

💻 Manage BareMetal Servers from Command Line (as easily as with Docker)

License

NotificationsYou must be signed in to change notification settings

loicbourgois/scaleway-cli

 
 

Repository files navigation

Interact with Scaleway API from the command line.

Build Status (Travis)GoDocPackagerLicenseReleaseIRCGo Report Card

Scaleway

Quick look

Scaleway CLI demo

Read theblog post.

Table of Contents

  1. Overview
  2. Setup
  1. Use in Golang
  2. Usage
  1. Changelog
  2. Development
  1. License

Overview

A command-line tool to manage Scaleway serversà-la-Docker.

For node version, check outscaleway-cli-node.

Setup

Install the latest stable release on Mac OS X usingHomebrew:

brew install scw

All release artifacts are available on thelatest release page.

Install the latest stable release on Mac OS X manually:

# prepare for first install and upgrademkdir -p /usr/local/binmv /usr/local/bin/scw /tmp/scw.old# get latest releasewget"https://github.com/scaleway/scaleway-cli/releases/download/v1.20/scw-darwin-amd64" -O /usr/local/bin/scw# testscw version

Install the latest release on Linux:

# get latest releaseexport ARCH=amd64# can be 'i386', 'amd64' or 'armhf'wget"https://github.com/scaleway/scaleway-cli/releases/download/v1.20/scw_1.20_${ARCH}.deb" -O /tmp/scw.debdpkg -i /tmp/scw.deb&& rm -f /tmp/scw.deb# testscw version

Install the latest release on Windows withChocolatey (Automatically built):

# Install latest versionchoco install scaleway-cli# testscw version

Requirements

By using thestatic-compiled release binaries, you only needs to have one of the following platform+architecture :

PlatformArchitecture
Darwin (Mac OS X)i386,x86_64
FreeBSDarm,i386,x86_64
Linuxarm,armv7,armv7,i386,x86_64
Windowsx86_64

Run in Docker

You can run scaleway-cli in a sandboxed way using Docker.

⚠️ caching is disabled

$docker run -it --rm --volume=$HOME/.scwrc:/.scwrc scaleway/cli ps

Manual build

  1. Install go a version>= 1.11
  2. Ensure you have$GOPATH and$PATH well configured, something like:
  • export GOPATH=$HOME/go
  • export PATH=$PATH:$GOPATH/bin
  • export GO15VENDOREXPERIMENT=1
  1. Install the project:go get github.com/scaleway/scaleway-cli/...
  2. Run:scw

Use in Golang

Scaleway-cli is written in Go, the code is splitted across multiplego-getablepackages

Usage

Usage inspired byDocker CLI

$scwUsage: scw [OPTIONS] COMMAND [arg...]Interact with Scaleway from the command line.Options: -h, --help=false             Print usage -D, --debug=false            Enable debug mode -V, --verbose=false          Enable verbose mode -q, --quiet=false            Enable quiet mode --sensitive=false            Show sensitive data in outputs, i.e. API Token/Organization -v, --version=false          Print version information and quit --region=par1                Change the default region (e.g. ams1) -c, --config=<config path>   Option config file path (default to ~/.scwrc)Commands:    help      help of the scw command line    attach    Attach to a server serial console    commit    Create a new snapshot from a server's volume    cp        Copy files/folders from a PATH on the server to a HOSTDIR on the host    create    Create a new server but do not start it    events    Get real time events from the API    exec      Run a command on a running server    history   Show the history of an image    images    List images    info      Display system-wide information    inspect   Return low-level information on a server, image, snapshot, volume or bootscript    kill      Kill a running server    login     Log in to Scaleway API    logout    Log out from the Scaleway API    logs      Fetch the logs of a server    port      Lookup the public-facing port that is NAT-ed to PRIVATE_PORT    products  Display products information    ps        List servers    rename    Rename a server    restart   Restart a running server    rm        Remove one or more servers    rmi       Remove one or more image(s)/volume(s)/snapshot(s)    run       Run a command in a new server    search    Search the Scaleway Hub for images    start     Start a stopped server    stop      Stop a running server    tag       Tag a snapshot into an image    top       Lookup the running processes of a server    version   Show the version information    wait      Block until a server stopsRun 'scw COMMAND --help' for more information on a command.

Quick start

Login

$scw loginLogin (cloud.scaleway.com): xxxx@xx.xxPassword:$

Run a new servermy-ubuntu

$scw run --name=my-ubuntu ubuntu-trusty bash   [...] wait about a minute for the first bootroot@my-ubuntu:~#

⚠️ when running a command through ssh (top, kill, run, cp, logs, exec,...), make sure your ssh key permissions are correctly set or you know the root password.

Workflows

See./examples/ directory

Commands

scw attach

Usage: scw attach [OPTIONS] SERVERAttach to a running server serial console.Options:  -h, --help=false      Print usage  --no-stdin=false      Do not attach stdinExamples:    $ scw attach my-running-server    $ scw attach $(scw start my-stopped-server)    $ scw attach $(scw start $(scw create ubuntu-vivid))

scw commit

Usage: scw commit [OPTIONS] SERVER [NAME]Create a new snapshot from a server's volume.Options:  -h, --help=false      Print usage  -v, --volume=0        Volume slotExamples:    $ scw commit my-stopped-server    $ scw commit -v 1 my-stopped-server

scw cp

Usage: scw cp [OPTIONS] SERVER:PATH|HOSTPATH|- SERVER:PATH|HOSTPATH|-Copy files/folders from a PATH on the server to a HOSTDIR on the hostrunning the command. Use '-' to write the data as a tar file to STDOUT.Options:  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage  -p, --port=22         Specify SSH port  --user=root           Specify SSH userExamples:    $ scw cp path/to/my/local/file myserver:path    $ scw cp --gateway=myotherserver path/to/my/local/file myserver:path    $ scw cp myserver:path/to/file path/to/my/local/dir    $ scw cp myserver:path/to/file myserver2:path/to/dir    $ scw cp myserver:path/to/file - > myserver-pathtofile-backup.tar    $ scw cp myserver:path/to/file - | tar -tvf -    $ scw cp path/to/my/local/dir  myserver:path    $ scw cp myserver:path/to/dir  path/to/my/local/dir    $ scw cp myserver:path/to/dir  myserver2:path/to/dir    $ scw cp myserver:path/to/dir  - > myserver-pathtodir-backup.tar    $ scw cp myserver:path/to/dir  - | tar -tvf -    $ cat archive.tar | scw cp - myserver:/path    $ tar -cvf - . | scw cp - myserver:path

scw create

Usage: scw create [OPTIONS] IMAGECreate a new server but do not start it.Options:  --boot-type=auto         Choose between 'local' and 'bootscript' boot  --bootscript=""          Assign a bootscript  --commercial-type=DEV1-S Create a server with specific commercial-type DEV1-[S|M|L|XL], GP1-[XS|S|M|L|XL], RENDER-S  -e, --env=""             Provide metadata tags passed to initrd (i.e., boot=rescue INITRD_DEBUG=1)  -h, --help=false         Print usage  --ip-address=dynamic     Assign a reserved public IP, a 'dynamic' one or 'none'  --ipv6=false             Enable IPV6  --name=""                Assign a name  --tmp-ssh-key=false      Access your server without uploading your SSH key to your account  -v, --volume=""          Attach additional volume (i.e., 50G)Examples:    $ scw create docker    $ scw create 10GB    $ scw create --bootscript=3.2.34 --env="boot=live rescue_image=http://j.mp/scaleway-ubuntu-trusty-tarball" 50GB    $ scw inspect $(scw create 1GB --bootscript=rescue --volume=50GB)    $ scw create $(scw tag my-snapshot my-image)    $ scw create --tmp-ssh-key 10GB

scw events

Usage: scw events [OPTIONS]Get real time events from the API.Options:  -h, --help=false      Print usage

scw exec

Usage: scw exec [OPTIONS] SERVER [COMMAND] [ARGS...]Run a command on a running server.Options:  -A=false              Enable SSH keys forwarding  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage  --no-tty=false        Disable pseudo-terminal allocation  -p, --port=22         Specify SSH port  -T, --timeout=0       Set timeout values to seconds  --user=root           Specify SSH user  -w, --wait=false      Wait for SSH to be readyExamples:    $ scw exec myserver    $ scw exec myserver bash    $ scw exec --gateway=myotherserver myserver bash    $ scw exec myserver 'tmux a -t joe || tmux new -s joe || bash'    $ SCW_SECURE_EXEC=1 scw exec myserver bash    $ scw exec -w $(scw start $(scw create ubuntu-bionic)) bash    $ scw exec $(scw start -w $(scw create ubuntu-bionic)) bash    $ scw exec myserver tmux new -d sleep 10    $ scw exec myserver ls -la | grep password    $ cat local-file | scw exec myserver 'cat > remote/path'    $ MYVAR=$(scw exec myserver echo hello)

scw help

Usage: scw help [COMMAND]Help prints help information about scw and its commands.By default, help lists available commands with a short description.When invoked with a command name, it prints the usage and the help ofthe command.Options:  -h, --help=false      Print usage

scw history

Usage: scw history [OPTIONS] IMAGEShow the history of an image.Options:  --arch=*              Specify architecture  -h, --help=false      Print usage  --no-trunc=false      Don't truncate output  -q, --quiet=false     Only show numeric IDs

scw images

Usage: scw images [OPTIONS]List images.Options:  -a, --all=false       Show all images  -f, --filter=""       Filter output based on conditions provided  -h, --help=false      Print usage  --no-trunc=false      Don't truncate output  -q, --quiet=false     Only show numeric IDsExamples:    $ scw images    $ scw images -a    $ scw images -q    $ scw images --no-trunc    $ scw images -f organization=me    $ scw images -f organization=official-distribs    $ scw images -f organization=official-apps    $ scw images -f organization=UUIDOFORGANIZATION    $ scw images -f name=ubuntu    $ scw images -f type=image    $ scw images -f type=bootscript    $ scw images -f type=snapshot    $ scw images -f type=volume    $ scw images -f public=true    $ scw images -f public=false    $ scw images -f "organization=me type=volume" -qsc

scw info

Usage: scw info [OPTIONS]Display system-wide information.Options:  -h, --help=false      Print usage

scw inspect

Usage: scw inspect [OPTIONS] IDENTIFIER [IDENTIFIER...]Return low-level information on a server, image, snapshot, volume or bootscript.Options:  --arch=*              Specify architecture  -b, --browser=false   Inspect object in browser  -f, --format=""       Format the output using the given go template  -h, --help=false      Print usageExamples:    $ scw inspect my-server    $ scw inspect server:my-server    $ scw inspect --browser my-server    $ scw inspect a-public-image    $ scw inspect image:a-public-image    $ scw inspect my-snapshot    $ scw inspect snapshot:my-snapshot    $ scw inspect my-volume    $ scw inspect volume:my-volume    $ scw inspect my-image    $ scw inspect image:my-image    $ scw inspect my-server | jq '.[0].public_ip.address'    $ scw inspect $(scw inspect my-image | jq '.[0].root_volume.id')    $ scw inspect -f "{{ .PublicAddress.IP }}" my-server    $ scw --sensitive inspect my-server

scw kill

Usage: scw kill [OPTIONS] SERVERKill a running server.Options:  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage

scw login

Usage: scw login [OPTIONS]Generates a configuration file in '/home/$USER/.scwrc'containing credentials used to interact with the Scaleway API. Thisconfiguration file is automatically used by the 'scw' commands.You can get your credentials on https://cloud.scaleway.com/#/credentialsOptions:  -h, --help=false      Print usage  -o, --organization="" Organization  -s, --skip-ssh-key=false Don't ask to upload an SSH Key  -t, --token=""        Token

scw logout

Usage: scw logout [OPTIONS]Log out from the Scaleway API.Options:  -h, --help=false      Print usage

scw logs

Usage: scw logs [OPTIONS] SERVERFetch the logs of a server.Options:  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage  -p, --port=22         Specify SSH port  --user=root           Specify SSH user

scw port

Usage: scw port [OPTIONS] SERVER [PRIVATE_PORT[/PROTO]]List port mappings for the SERVER, or lookup the public-facing port that is NAT-ed to the PRIVATE_PORTOptions:  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage  -p, --port=22         Specify SSH port  --user=root           Specify SSH user

scw products

Usage: scw products [OPTIONS] PRODUCTDisplay products PRODUCT information.Options:  -s, --short           Print only commercial names

scw ps

Usage: scw ps [OPTIONS]List servers. By default, only running and stopped in place servers are displayed.Options:  -a, --all=false       Show all servers. Only running servers are shown by default  -f, --filter=""       Filter output based on conditions provided  -h, --help=false      Print usage  -l, --latest=false    Show only the latest created server, include non-running ones  -n=0                  Show n last created servers, include non-running ones  --no-trunc=false      Don't truncate output  -q, --quiet=false     Only display numeric IDsExamples:    $ scw ps    $ scw ps -a    $ scw ps -l    $ scw ps -n=10    $ scw ps -q    $ scw ps --no-trunc    $ scw ps -f state=booted    $ scw ps -f state=running    $ scw ps -f state=stopped    $ scw ps -f ip=212.47.229.26    $ scw ps -f tags=prod    $ scw ps -f tags=boot=live    $ scw ps -f image=docker    $ scw ps -f image=alpine    $ scw ps -f image=UUIDOFIMAGE    $ scw ps -f arch=ARCH    $ scw ps -f server-type=COMMERCIALTYPE    $ scw ps -f "state=booted image=docker tags=prod"

scw rename

Usage: scw rename [OPTIONS] SERVER NEW_NAMERename a server.Options:  -h, --help=false      Print usage

scw restart

Usage: scw restart [OPTIONS] SERVER [SERVER...]Restart a running server.Options:  -h, --help=false      Print usage  -T, --timeout=0       Set timeout values to seconds  -w, --wait=false      Synchronous restart. Wait for SSH to be ready

scw rm

Usage: scw rm [OPTIONS] SERVER [SERVER...]Remove one or more servers.Options:  -f, --force=false     Force the removal of a server  -h, --help=false      Print usageExamples:    $ scw rm myserver    $ scw rm -f myserver    $ scw rm my-stopped-server my-second-stopped-server    $ scw rm $(scw ps -q)    $ scw rm $(scw ps | grep mysql | awk '{print $1}')

scw rmi

Usage: scw rmi [OPTIONS] IDENTIFIER [IDENTIFIER...]Remove one or more image(s)/volume(s)/snapshot(s)Options:  -h, --help=false      Print usageExamples:    $ scw rmi myimage    $ scw rmi mysnapshot    $ scw rmi myvolume    $ scw rmi $(scw images -q)

scw run

Usage: scw run [OPTIONS] IMAGE [COMMAND] [ARG...]Run a command in a new server.Options:  -a, --attach=false       Attach to serial console  --boot-type=auto         Choose between 'local' and 'bootscript' boot  --bootscript=""          Assign a bootscript  --commercial-type=DEV1-S Start a server with specific commercial-type DEV1-[S|M|L|XL], GP1-[XS|S|M|L|XL], RENDER-S  -d, --detach=false       Run server in background and print server ID  -e, --env=""             Provide metadata tags passed to initrd (i.e., boot=rescue INITRD_DEBUG=1)  -g, --gateway=""         Use a SSH gateway  -h, --help=false         Print usage  --ip-address=""          Assign a reserved public IP, a 'dynamic' one or 'none' (default to 'none' if gateway specified, 'dynamic' otherwise)  --ipv6=false             Enable IPV6  --name=""                Assign a name  --no-tty=false           Disable pseudo-terminal allocation  -p, --port=22            Specify SSH port  --rm=false               Automatically remove the server when it exits  --show-boot=false        Allows to show the boot  -T, --timeout=0          Set timeout value to seconds  --tmp-ssh-key=false      Access your server without uploading your SSH key to your account  -u, --userdata=""        Start a server with userdata predefined  --user=root              Specify SSH User  -v, --volume=""          Attach additional volume (i.e., 50G)Examples:    $ scw run ubuntu-trusty    $ scw run --commercial-type=DEV1-S ubuntu-trusty    $ scw run --show-boot --commercial-type=DEV1-S ubuntu-trusty    $ scw run --rm ubuntu-trusty    $ scw run -a --rm ubuntu-trusty    $ scw run --gateway=myotherserver ubuntu-trusty    $ scw run ubuntu-trusty bash    $ scw run --name=mydocker docker docker run moul/nyancat:armhf    $ scw run --bootscript=3.2.34 --env="boot=live rescue_image=http://j.mp/scaleway-ubuntu-trusty-tarball" 50GB bash    $ scw run --attach alpine    $ scw run --detach alpine    $ scw run --tmp-ssh-key alpine    $ scw run --userdata="FOO=BAR FILE=@/tmp/file" alpine

┌ ─ ─ ─ ─ ─ scw run docker  ─ ─ ─ ─ ┐│   ┌───────────────────────────┐   │    │server=$(scw create docker)││   └───────────────────────────┘   │                  +│        ┌─────────────────┐        │         │scw start $SERVER││        └─────────────────┘        │                  +│┌─────────────────────────────────┐│ │scw exec --wait $SERVER /bin/bash││└─────────────────────────────────┘│ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─

scw search

Usage: scw search [OPTIONS] TERMSearch the Scaleway Hub for images.Options:  -h, --help=false      Print usage  --no-trunc=false      Don't truncate output

scw start

Usage: scw start [OPTIONS] SERVER [SERVER...]Start a stopped server.Options:  -h, --help=false      Print usage  -T, --timeout=0       Set timeout values to seconds  -w, --wait=false      Synchronous start. Wait for SSH to be ready

scw stop

Usage: scw stop [OPTIONS] SERVER [SERVER...]Stop a running server.Options:  -h, --help=false      Print usage  -t, --terminate=false Stop and trash a server with its volumes  -w, --wait=false      Synchronous stop. Wait for SSH to be readyExamples:    $ scw stop my-running-server my-second-running-server    $ scw stop -t my-running-server my-second-running-server    $ scw stop $(scw ps -q)    $ scw stop $(scw ps | grep mysql | awk '{print $1}')    $ scw stop server && scw wait server    $ scw stop -w server

scw tag

Usage: scw tag [OPTIONS] SNAPSHOT NAMETag a snapshot into an image.Options:  -h, --help=false      Print usage  --bootscript=""       Assign a bootscript

scw top

Usage: scw top [OPTIONS] SERVERLookup the running processes of a server.Options:  -g, --gateway=""      Use a SSH gateway  -h, --help=false      Print usage  -p, --port=22         Specify SSH port  --user=root           Specify SSH user

scw version

Usage: scw version [OPTIONS]Show the version information.Options:  -h, --help=false      Print usage

scw wait

Usage: scw wait [OPTIONS] SERVER [SERVER...]Block until a server stops.Options:  -h, --help=false      Print usage

Examples

Create a server with Ubuntu Trusty image and 3.2.34 bootscript

$scw create --bootscript=3.2.34 trustydf271f73-60ce-47fd-bd7b-37b5f698d8b2

Create a server with Fedora 21 image

$scw create 1f1640797313af22-62bf-4df1-9dc2-c4ffb4cb2d83

Create a server with an empty disc of 20G and rescue bootscript

$scw create --bootscript=rescue 20G5cf8058e-a0df-4fc3-a772-8d44e6daf582

Run a stopped server

$scw start 7313af227313af22-62bf-4df1-9dc2-c4ffb4cb2d83

Run a stopped server and wait for SSH to be ready

$scw start --wait myservermyserver$scwexec myserver /bin/bash[root@noname ~]#

Run a stopped server and wait for SSH to be ready (inline version)

$scwexec$(scw start --wait myserver) /bin/bash[root@noname ~]#

Create, start and ssh to a new server (inline version)

$scwexec$(scw start --wait$(scw create ubuntu-trusty)) /bin/bash[root@noname ~]#

or

$scwexec --wait$(scw start$(scw create ubuntu-trusty)) /bin/bash[root@noname ~]#

Wait for a server to be available, then execute a command

$scwexec --wait myserver /bin/bash[root@noname ~]#

Run a command in background

$scwexec alpine tmux new -d"sleep 10"

Run a stopped server and wait for SSH to be ready with a global timeout of 150 seconds

$scw start --wait --timeout=150 myserverglobal execution... failed: Operation timed out.

Wait for a server to be in 'stopped' state

$scwwait 7313af22[...] some seconds later0

Attach to server serial port

$scw attach 7313af22[RET]Ubuntu Vivid Vervet (development branch) nfs-server ttyS0my-server login:^C$

Create a server with Fedora 21 image and start it

$scw start`scw create 1f164079`5cf8058e-a0df-4fc3-a772-8d44e6daf582

Execute a 'ls -la' on a server (via SSH)

$scwexec myserver ls -latotal 40drwx------.  4 root root 4096 Mar 26 05:56 .drwxr-xr-x. 18 root root 4096 Mar 26 05:56 ..-rw-r--r--.  1 root root   18 Jun  8  2014 .bash_logout-rw-r--r--.  1 root root  176 Jun  8  2014 .bash_profile-rw-r--r--.  1 root root  176 Jun  8  2014 .bashrc-rw-r--r--.  1 root root  100 Jun  8  2014 .cshrcdrwxr-----.  3 root root 4096 Mar 16 06:31 .pki-rw-rw-r--.  1 root root 1240 Mar 12 08:16 .s3cfg.sampledrwx------.  2 root root 4096 Mar 26 05:56 .ssh-rw-r--r--.  1 root root  129 Jun  8  2014 .tcshrc

Run a shell on a server (via SSH)

$scwexec 5cf8058e /bin/bash[root@noname ~]#

List public images and my images

$scw imagesREPOSITORY                                 TAG      IMAGE ID   CREATED        VIRTUAL SIZEuser/Alpine_Linux_3_1                      latest   854eef72   10 days ago    50 GBDebian_Wheezy_7_8                          latest   cd66fa55   2 months ago   20 GBUbuntu_Utopic_14_10                        latest   1a702a4e   4 months ago   20 GB...

List public images, my images and my snapshots

$scw images -aREPOSITORY                                 TAG      IMAGE ID   CREATED        VIRTUAL SIZEnoname-snapshot                            <none>   54df92d1   a minute ago   50 GBcool-snapshot                              <none>   0dbbc64c   11 hours ago   20 GBuser/Alpine_Linux_3_1                      latest   854eef72   10 days ago    50 GBDebian_Wheezy_7_8                          latest   cd66fa55   2 months ago   20 GBUbuntu_Utopic_14_10                        latest   1a702a4e   4 months ago   20 GB

List running servers

$scw psSERVER ID   IMAGE                       COMMAND   CREATED          STATUS    PORTS   NAME7313af22    user/Alpine_Linux_3_1                 13 minutes ago   running           noname32070fa4    Ubuntu_Utopic_14_10                   36 minutes ago   running           labs-8fe556

List all servers

$scw ps -aSERVER ID   IMAGE                       COMMAND   CREATED          STATUS    PORTS   NAME7313af22    user/Alpine_Linux_3_1                 13 minutes ago   running           noname32070fa4    Ubuntu_Utopic_14_10                   36 minutes ago   running           labs-8fe5567fc76a15    Ubuntu_Utopic_14_10                   11 hours ago     stopped           backup

Stop a running server

$scw stop 5cf8058e5cf8058e

Stop multiple running servers

$scw stop myserver myotherserver901d082d-9155-4046-a49d-94355344246ba0320ec6-141f-4e99-bf33-9e1a9de34171

Terminate a running server

$scw stop -t myserver901d082d-9155-4046-a49d-94355344246b

Stop all running servers matching 'mysql'

$scw stop$(scw ps| grep mysql| awk'{print $1}')901d082d-9155-4046-a49d-94355344246ba0320ec6-141f-4e99-bf33-9e1a9de3417136756e6e-3146-4b89-8248-abb060fc5b61

Create a snapshot of the root volume of a server

$scw commit 5cf8058e54df92d1

Delete a stopped server

$scw rm 5cf85cf8082d-9155-4046-a49d-94355344246b

Delete multiple stopped servers

$scw rm myserver myotherserver901d082d-9155-4046-a49d-94355344246ba0320ec6-141f-4e99-bf33-9e1a9de34171

Delete all stopped servers matching 'mysql'

$scw rm$(scw ps -a| grep mysql| awk'{print $1}')901d082d-9155-4046-a49d-94355344246ba0320ec6-141f-4e99-bf33-9e1a9de3417136756e6e-3146-4b89-8248-abb060fc5b61

Create a snapshot of nbd1

$scw commit 5cf8058e -v 1f1851f99

Create an image based on a snapshot

$scw tag 87f4526b my_image46689419

Delete an image

$scw rmi 46689419

Send a 'halt' command via SSH

$scwkill 5cf8058e5cf8058e

Inspect a server

$scw inspect 90074de6[  {    "server": {    "dynamic_ip_required": true,    "name": "My server",    "modification_date": "2015-03-26T09:01:07.691774+00:00",    "tags": [      "web",      "production"    ],    "state_detail": "booted",    "public_ip": {      "dynamic": true,      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",      "address": "212.47.xxx.yyy"    },    "state": "running",  }]

Show public ip address of a server

$scw inspect myserver| jq'.[0].public_ip.address'212.47.xxx.yyy

Changelog

v1.20+dev (unreleased)

  • This is the current development version. Update below with your changes. Remove this line when releasing the package.

View fullcommits list

v1.20 (2019-09-10)

  • feat: add support for exact match when looking for an image (#562)
  • feat: change default server type to DEV1-S (#561)
  • feat: drop go 1.7, 1.8 and 1.9 support (#564)
  • feat: drop go@1.10 support (#571)
  • feat: add go@1.11 support (#565)
  • feat: add go@1.12 support (#566)
  • feat: add go@1.13 support (#572)
  • feat: drop freebsd and netbsd support for go1.12+ (#570)
  • doc: add reference to Chocolatey package (#551)
  • doc: remove brew tap installation instructions (#560)
  • doc: update to new instances and images (#569)
  • test: fix integration tests (#568)

View fullcommits list

v1.19 (2019-03-29)

  • Fix: create servers volumes algo

View fullcommits list

v1.18 (2019-03-04)

  • Add the ability to use an arbitrary config file using-c,--config option.
  • Add the ability to specify a token and organiationId from the environnement usingSCW_TOKEN andSCW_ORGANIZATION variables.
  • Add security group stateful flag.
  • Add security group default outbound/inbound policy.
  • Fix cli version link (auto update).
  • Add compute boottype flag.

View fullcommits list

v1.17 (2018-07-02)

  • Fix: it is now possible toscw inspect snapshots#510
  • Fix: add region details in cache for snapshots, images, bootscripts and volumes#510
  • Fix:scw attach works again#508
  • Fix unittests

View fullcommits list

v1.16 (2018-04-20)

  • Fix netbsd build
  • Allow region filtering

View fullcommits list

v1.15 (2018-04-12)

  • Fix typo
  • FixWaitForServerReady with IPv6
  • Fix bash completion
  • Switch from godep to govendor
  • Remove check that the current token is returned on a GET of all tokens.

View fullcommits list

v1.14 (2017-07-18)

  • Add the new command "scw products servers" to list the servers typesavailable.
  • Dynamically discover the volumes to create to start servers of somecommercial types. For instance, VC1L instances require to have 200GB of disk.Instead of hardcoding the extra volume creation, use the product API to knowan extra volume of 150GB needs to be created.
  • Release packages on arm64.

View fullcommits list

v1.13 (2017-05-10)

  • Add new ARM64 offers
  • For scaleway-cli developers: build time is improved, and standard tools areused to cross-compile the project
  • Ask two-factor authentication token onscw login

View fullcommits list

v1.12 (2017-03-30)

  • cmd: exec, add -A flag to forward ssh keys
  • cmd: fix typo-p flag port instead of--p
  • API: add new commercial type
  • cmd: add new commercial type

View fullcommits list

v1.11.1 (2016-11-17)

  • API: try to connect trough the gateway when nc doesn't work
  • API: hotfix region with user images
  • API: fix filter on paginate page

View fullcommits list

v1.11 (2016-10-27)

  • new Compute URLapi.scaleway.com ->cp-par1.scaleway.com
  • new TTY URLtty.scaleway.com/v2 ->tty-par1.scaleway.com/v2
  • Region: addams1, you can start a server at Amsterdam withscw --region="ams1" run yakkety
  • API: Support multi-zone
  • API: Add ZoneID field in server location
  • scw image -a -f type=volume fix unmarshal error on size field
  • scw ps do not display empty server with --filter

View fullcommits list

v1.10.1 (2016-10-24)

  • scw login fix CheckCredentials (418)

View fullcommits list

v1.10 (2016-10-24)

  • API renamedeleteServerSafe ->deleteServerForce
  • API support paginate
  • API more verbose with-V
  • Better handling of secondary volumes size (361)
  • Add a global flag,--region to change the defaut region
  • scw exec --gateway remove hardcoded 30 seconds sleep (#254)
  • ScalewayServer add DNS fields (#157)
  • scw [logs|exec|cp|port|run|top] add--user &&--port (#396)
  • scw ps sort the servers by CreationDate (#391)
  • Fix regression on bootscript (#387)
  • scw [run|start] Add--set-state flag
  • scw login Add motd when you are already logged (#371)
  • scw _ips add --detach flag
  • API add DetachIP method (@nicolai86)
  • Cache remove log dependency
  • Fix error message with--commercial-type=c2m (#374)
  • Add Logger Interface to avoid multiples dependencies in the API, thank you@nicolai86 (#369)
  • scw run handle--ipv6 flag
  • scw create handle--ipv6 flag
  • Fix panic when the commercial-type is lower than 2 characters (#365)
  • gotty-client enable ProxyFromEnviromnent (#363) (@debovema)
  • scw inspect fix panic (#353)
  • Clear cache between the releases (#329)
  • Fixscw _patch bootscript nil dereference
  • Fixscw images bad error message (#336)
  • Fix sshExecCommand with Windows (#338)
  • Fixscw login with Windows (#341)
  • Addenable_ipv6 field (#334)
  • scw _patch handles ipv6=[true|false]
  • AddScalewayIPV6Definition
  • Add marketplace alias in the cache to resolve image (#330)
  • scw _userdata handles@~/path/to/file (#321)
  • Updatescw _billing for new instance types (#293)

View fullcommits list

v1.9.0 (2016-04-01)

  • Fix bug when using SCW_COMMERCIAL_TYPE variable
  • Switch to VC1S

View fullcommits list

v1.8.1 (2016-03-29)

  • FixScalewayBootscript structure
  • scw _userdata fix bug when we have multiple '=' in the value (#320)
  • GetBootscriptID doesn't try to resolve when we pass an UUID
  • Add location fields for VPS
  • scw ps add commercial-type column
  • UseSCW_SECURE_EXEC instead ofexec_exec
  • Removescaleway_api_endpoint environment variable
  • brew remove cache after install
  • scw login don't ask to upload ssh key when there is no keys

View fullcommits list

v1.8.0 (2016-03-17)

  • Use VC1 by default
  • scw exec Add warning to try to clean the cache when an error occurred
  • AddSCW_[COMPUTE|ACCOUNT|METADATA|MARKETPLACE]_API environment variable
  • Remove --api-endpoint
  • Fix uploading SSH key withscw login
  • Use markerplace API in GetImages()
  • Add_markerplace
  • scw rename fix nil dereference (#289)
  • Support ofscw [run|create] --ip-address=[none|dynamic] (#283) (@ElNounch)
  • Support ofscw ps -f server-type=COMMERCIALTYPE (#280)
  • Support ofscw ps -f arch=XXX (#278)
  • scw info Use json fingerprint field exposed by API
  • Allow to override Region and Architecture when using the helpers to create a new volume from a human size
  • Do not check permissions on config file under Windows (#282) (@ElNounch)
  • Update pricing (#294)
  • create-image-from-http.sh: using VPS instead of C1 (#301)

View fullcommits list

v1.7.1 (2016-01-29)

  • Configure User-Agent (#269)
  • Daily check for new scw version (#268)

View fullcommits list

v1.7.0 (2016-01-27)

  • SCALEWAY_VERBOSE_API is now SCW_VERBOSE_API
  • SCALEWAY_TLSVERIFY is now SCW_TLSVERIFY
  • Add a warn message when usingssh exec on host without public ip nor gateway (#171)
  • Displayssh-host-fingerprints when it's available (#194)
  • Support ofscw rmi snapshot|volume (#258)
  • Match bootscript/image with the good architecture (#255)
  • Support of region/owner/arch in the cache file (#255)
  • Remove somefatal andExit
  • Use rfc4716 (openSSH) to generate the fingerprints (#151)
  • Switch fromParty toGodep
  • create-image-from-http.sh: Support HTTP proxy (#249)
  • Support ofscw run --userdata=... (#202)
  • Refactor ofscw _security-groups (#197)
  • Support ofscw tag --arch=XXX
  • Support ofscw run --timeout=X (#239)
  • Check the "stopped" state forscw run | exec -w(#229)
  • Basic support of Server.CommercialType
  • Support ofSCW_GOTTY_URL environment variable

View fullcommits list

v1.6.0 (2015-11-18)

  • Support ofscw create|run --ip-address (#235)
  • Update gotty-client to 1.3.0
  • Support ofscw run --show-boot option (#156)
  • Remove go1.[34] support
  • Improve _cs format (#223)
  • Usegotty-client instead oftermjs-cli
  • Fix: bad detection of server already started when starting a server (#224) -@arianvp
  • Added _cs (#180)
  • Reportquotas inscw info (#130)
  • AddedSCALEWAY_VERBOSE_API to make the API more verbose
  • Support ofscw _ips command ... (#196)
  • Reportpermissions inscw info (#191)
  • Reportdashboard statistics inscw info (#177)
  • Support ofscw _userdata name VAR=@/path/to/file (#183)
  • Support ofscw restart -w (#185)
  • Restarting multiple servers in parallel (#185)
  • Added _security-groups (#179)
  • Reflect server location inscw inspect (#204)

View fullcommits list

v1.5.0 (2015-09-11)

  • Support ofscw tag --bootscript="" option (#149)
  • scw info now prints user/organization info from the API (#130)
  • Added helpers to manipulate newuser_data API (#150)
  • Renamedcreate-image-from-s3.sh example and now auto-filling image metadata (title and bootscript) based on the Makefile configuration
  • Support ofscw rm -f/--force option (#158)
  • Addedscw _userdata local ... option which interacts with the Metadata API without authentication (#166)
  • Initial version ofscw _billing (price estimation tool) (#118)
  • Fix: debian-package installation
  • Fix: nil pointer dereference (#155) (@ebfe)
  • Fix: regression on scw create (#142)
  • Stability improvements

View fullcommits list


v1.4.0 (2015-08-28)

Features

  • -D,--debug mode shows ready to copy-pastecurl commands when using the API (must be used with--sensitive to unhide private token)
  • Support of_patch SERVER tags="tag1 tag2=value2 tag3"
  • scw -D login displays a fake password
  • Support --skip-ssh-keyscw login (#129)
  • Nowscw login ask your login/password, you can also pass token and organization with -o and -t (#59)
  • Support ofscw images --filter option(type, organization, name, public) (#134)
  • Support ofscw {ps,images} --filter option(images: type,organization,name,public; ps:state,ip,tags,image) (#134)
  • Syncing cache to disk after server creation when runningscw run in a non-detached mode
  • Bump to Golang 1.5
  • Support --tmp-ssh-keyscw {run,create} option (#99)
  • Support ofscw run --rm option (#117)
  • Support of--gateway=login@host (#110)
  • Upload local ssh key to scaleway account onscw login (#100)
  • Add a 'running indicator' forscw run, can be disabled with the new flag--quiet
  • Support ofscw -V/--verbose option (#83)
  • Support ofscw inspect --browser option
  • Support ofscw _flush-cache internal command
  • scw run --gateway ... orSCW_GATEWAY="..." scw run ... now creates a server without public ip address (#74)
  • scw inspect TYPE:xxx TYPE:yyy will only refresh cache forTYPE
  • Sorting cache search by Levenshtein distance (#87)
  • Allow set up api endpoint using the environment variable $scaleway_api_endpoint
  • Use TLS and verify can now be disabled usingSCALEWAY_TLSVERIFY=0 env var (#115)
  • Switched togoxc for releases

Fixes

  • Moved ssh command generation code to dedicated package
  • Global refactor to improve Golang library usage, allow chaining of commands and ease the writing of unit tests (#80)
  • scw search TERM was not restricting results based onTERM
  • Bumped dependencies
  • Hiding more sensitive data (#77)
  • Fixed "Run in Docker" usage (#90)
  • Improved-D/--debug outputs

View fullcommits list


1.3.0 (2015-07-20)

Features

Fixes

  • Issue withscw top's usage
  • Minor code improvements

View fullcommits list


1.2.1 (2015-07-01)

Features

  • Support ofscw run -d option (#69)

Fixes

  • Version vendor source code (Godeps)

View fullcommits list


1.2.0 (2015-06-29)

Features

  • Support of_patch SERVER security_group and_patch SERVER bootscript
  • Improved resolver behavior when matching multiple results, now displaying more info too help choosing candidates (#47)
  • scw exec SERVER [COMMAND] [ARGS...],COMMAND is now optional
  • Showing the server MOTD when callingscw run <image> [COMMAND] withoutCOMMAND
  • Support ofscw attach --no-stdin option
  • Hiding sensitive data by default onscw inspect (#64)
  • Support ofscw --sensitive option (#64)
  • Support ofscw run --attach option (#65)
  • scw {create,run}, prefixing root-volume with the server hostname (#63)
  • scw {create,run} IMAGE,IMAGE can be a snapshot (#19)
  • Support ofscw stop -w, --wait option
  • Identifiers can be prefixed with the type of the resource, i.e:scw inspect my-server ==scw inspect server:my-serverIt may be useful if you have the same name in a server and a volume
  • Improved support of zsh completion

Fixes

  • scw inspect -f was always exiting 0
  • scw images -a does not prefix snapshots, volumes and bootscripts (only images)
  • scw run ... waits for 30 seconds before polling the API
  • scw stop server1 server2 doesn't exit on first stopping failure
  • scw run IMAGE [COMMAND], defaultCOMMAND is nowif [ -x /bin/bash ]; then exec /bin/bash; else exec /bin/sh; fi
  • scw run|create SNAPSHOT, raised an error if snapshot does not have base volume
  • scw stop -t removes server entry from cache

View fullcommits list


1.1.0 (2015-06-12)

Features

  • Support ofscw cp from {server-path,local-path,stdin} to {server-path,local-path,stdout} (#56)
  • Support ofscw logout command
  • Support of_patch experimental command (#57)
  • Support of_completion command (shell completion helper) (#45)
  • Returning more resource fields onscw inspect (#50)
  • Show public ip address in PORTS field inscw ps (#54)
  • Support ofinspect --format option
  • Support ofexec --timeout option (#31)
  • Support of volumes inimages -a andinspect (#49)
  • Tuned~/.scwrc unix permissions + added a warning if the file is too open (#48)

Fixes

  • The project is nowgo get-able and splitted into packages
  • Added timeout when polling SSH TCP port forscw start -w andscw exec -w (#46)
  • Improved resolver behavior for exact matching (#53,#55)
  • Verbose error message whenscw exec fails (#42)
  • Fixedscw login parameters parsing
  • Speed and stability improvements

View fullcommits list


1.0.0 (2015-06-05)

First Golang version.For previous Node.js versions, seescaleway-cli-node.

Features

  • Support ofattach command
  • Support ofcommit command
    • Support ofcommit -v, --volume option
  • Support ofcp command
  • Support ofcreate command
    • Support ofcreate --bootscript option
    • Support ofcreate -e, --env option
    • Support ofcreate --name option
    • Support ofcreate -v, --volume option
  • Support ofevents command
  • Support ofexec command
    • Support ofexec -w, --wait option
  • Support ofhelp command
  • Support ofhistory command
    • Support ofhistory --no-trunc option
    • Support ofhistory -q, --quiet option
  • Support ofimages command
    • Support ofimages -a, --all option
    • Support ofimages --no-trunc option
    • Support ofimages -q, --quiet option
  • Support ofinfo command
  • Support ofinspect command
  • Support ofkill command
  • Support oflogin command
  • Support oflogs command
  • Support ofport command
  • Support ofps command
    • Support ofps -a, --all option
    • Support ofps -n option
    • Support ofps -l, --latest option
    • Support ofps --no-trunc option
    • Support ofps -q, --quiet option
  • Support ofrename command
  • Support ofrestart command
  • Support ofrm command
  • Support ofrmi command
  • Support ofrun command
    • Support ofrun --bootscript option
    • Support ofrun -e, --env option
    • Support ofrun --name option
    • Support ofrun -v, --volume option
  • Support ofsearch command
    • Support ofsearch --no-trunc option
  • Support ofstart command
    • Support ofstart -w, --wait option
    • Support ofstart -T, --timeout option
  • Support ofstop command
    • Support ofstop -t, --terminate option
  • Support oftag command
  • Support oftop command
  • Support ofversion command
  • Support ofwait command

gopkg.in/scaleway/scaleway-cli.v1


POC (2015-03-20)

FirstNode.js version


Development

Feel free to contribute 😃🍻

Hack

  1. Install go
  2. Ensure you have$GOPATH and$PATH well configured, something like:
  • export GOPATH=$HOME/go
  • export PATH=$PATH:$GOPATH/bin
  1. Fetch the project:go get -d github.com/scaleway/scaleway-cli/...
  2. Go to scaleway-cli directory:cd $GOPATH/src/github.com/scaleway/scaleway-cli
  3. Hack:emacs
  4. Build:make
  5. Run:./scw

License

MIT

About

💻 Manage BareMetal Servers from Command Line (as easily as with Docker)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go92.1%
  • Shell6.0%
  • Makefile1.8%
  • Other0.1%

[8]ページ先頭

©2009-2025 Movatter.jp