LoginSignup
2
2

More than 5 years have passed since last update.

degitalOceanはWebAPIでサーバをいじれるのでコマンドラインラッパーを作ってみました。

Last updated at Posted at 2013-08-27

DegitalOceanとは

SimpleCloudHosting for Developper

VPSっす。
AWSとかだと料金体系がめんどくさいですが、
最低スペックで、5$/月のみ。シンプルでわかりやすいです。

これで20GB SSD Diskと1TB/monthの帯域がついてきます。
個人的に遊ぶ分には十分なサーバです。

WebAPIが提供されています。

開発者向けと銘打つだけあり、WebAPIが提供されています。
今回、そのラッパーをPHPで書いてみました。
コマンドライン上からサーバを停止してスナップショットをとる。
とかができるようになります。

oceanを導入

wget https://raw.github.com/abe00makoto/ocean/master/ocean
chmod +x ocean

vim ~/.bash_profile

export OCEAN_API_KEY=xxxxxxxx
export OCEAN_CLIENT_ID=xxxxxxxx

OCEAN_API_KEYとOCEAN_CLIENT_IDはDegitalOceanのコンパネから見に行ってください。

使い方

サーバ再起動

ocean droplets server01 reboot

サーバ構築

(構築時にはimageは自分のとったsnapshotも指定できます)

ocean droplets new droplet_name=abe05 size_id=512MB image_id='CentOS 6.4 x32' region_id='Amsterdam 1' ssh_key_id1=abe00makoto

ミスタイプしたら名前解決して一覧に出してくれます

ocean droplets new droplet_name=abe05 size_id=512MB image_id='CentOS 6.4 x32' region_id=??? ssh_key_id1=abe00makoto

name resolution error:region_id:[???]
please select from
[Amsterdam 1] 
[San Francisco 1] 
[New York 2] 


コマンド一覧
usage:
    ocean droplets
    ocean droplets new droplet_name=<droplet_name> size_id=<size_id> image_id=<image_id> region_id=<region_id>
    ocean droplets new droplet_name=<droplet_name> size_id=<size_id> image_id=<image_id> region_id=<region_id> ssh_key_id1=<ssh_key_id1>
    ocean droplets new droplet_name=<droplet_name> size_id=<size_id> image_id=<image_id> region_id=<region_id> ssh_key_id1=<ssh_key_id1> ssh_key_id2=<ssh_key_id2>
    ocean droplets <droplet_id>
    ocean droplets <droplet_id> reboot
    ocean droplets <droplet_id> power_cycle
    ocean droplets <droplet_id> shutdown
    ocean droplets <droplet_id> power_off
    ocean droplets <droplet_id> power_on
    ocean droplets <droplet_id> password_reset
    ocean droplets <droplet_id> resize size_id=<size_id>
    ocean droplets <droplet_id> snapshot snapshot_name=<snapshot_name>
    ocean droplets <droplet_id> restore image_id=<image_id>
    ocean droplets <droplet_id> rebuild image_id=<image_id>
    ocean droplets <droplet_id> enable_backups
    ocean droplets <droplet_id> disable_backups
    ocean droplets <droplet_id> rename name=<name>
    ocean droplets <droplet_id> destroy
    ocean regions
    ocean images
    ocean images <image_id>
    ocean images <image_id> transfer region_id=<region_id>
    ocean ssh_keys
    ocean ssh_keys new ssh_key_name=<ssh_key_name> ssh_public_key=<ssh_public_key>
    ocean ssh_keys <ssh_key_id>
    ocean ssh_keys <ssh_key_id> edit
    ocean ssh_keys <ssh_key_id> destroy
    ocean sizes
    ocean domains
    ocean domains new domain=<domain> ip_address=<ip_address>
    ocean domains <domain_id>
    ocean domains <domain_id> destroy
    ocean domains <domain_id> records
    ocean domains <domain_id> records new record_type=<record_type> data=<data>
    ocean domains <domain_id> records <record_id>
    ocean domains <domain_id> records <record_id> edit
    ocean domains <domain_id> records <record_id> destroy
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2